1 数据文件的offline
alter database datafile '/home/oracle/t1.dbf' offline;(归档模式下)
alter database datafile '/home/oracle/t1.dbf' offline drop; (非归档模式)
该命令不会删除数据文件,只是将数据文件的状态更改为recover。 offline drop命令相当于把一个数据文件至于离线状态,并且需要恢复,并非删除数据文件。
数据文件的相关信息还会存在数据字典和控制文件中。
recover状态数据文件不能直接online
SQL> alter database datafile '/home/oracle/t1.dbf' online;
alter database datafile '/home/oracle/t1.dbf' online
*
ERROR at line 1:
ORA-01113: file 6 needs media recovery
ORA-01110: data file 6: '/home/oracle/t1.dbf'
需要先恢复
恢复需要利用当前日志或历史归档
数据库归档模式下,在删除归档之前,可以进行恢复
非归档模式下,只有当前日志没有被覆盖,才可以恢复
2 表空间offline
SQL> alter tablespace t1 offline;
表空间offline,表空间及其表空间内所以数据库都处于offline状态;
表空间online,表空间及其表空间内所以数据库都处于online状态;
表空间Offline时,数据文件的SCN会被冻结,而且表空间的数据文件offline/online时又会发生文件检查点,使单个数据文件SCN和数据库其他问题不一致。
表空间online时,Oracle会取得当前SCN,解冻offline文件SCN,和当前SCN同步。
单纯的offline datafile,将不会触发文件检查点,只有针对offline tablespace的时候才会触发文件检查点,这也是为什么online datafile需要media recovery而online tablespace不需要。