正常情况下,要想对数据文件脱机,必须在归档模式下,这是ORACLE自动保护的一种措施,防止在非归档模式下对数据文件脱机,造成数据丢失。如果想在非归档模式下执行数据文件脱机操作,则需要加上“for drop”选项,例如 alter database datafile 7 offline for drop;这样的话,7号数据文件已脱机且并没有被删除。但是,想要恢复该数据文件联机时,就存在一个问题,如果此时相对应的重做日志文件没有被清空,则可以使用recover datafile 7;来恢复该文件,一旦对应的日志文件被清空了,则该数据文件就不能被恢复联机了。
另外,这种情况下,是否能够通过修改文件头来恢复,暂时不知,本人未做验证。