在6.1.6小节中介绍了怎样改变表空间的可用性。脱机表空间时,会使其中的所有数据文件脱机,这里介绍怎样改变单个数据文件的可用性。
在下面几种情况下,可能需要改变数据文件的可用性:
①重命名或者移动数据文件。
②需要执行数据文件的脱机备份。
③数据文件缺失或崩溃,这时必须脱机该数据文件才能打开数据库。
④数据文件出现写入错误而被系统自动脱机,解决问题之后,需要联机数据文件。
脱机和联机表空间时使用ALTER TABLESPACE语句,而脱机或联机数据文件则需调用ALTER DATABASE语句。
(1)非归档模式下脱机数据文件
在非归档模式下,数据文件脱机后不能再重新联机,所以调用ALTER DATABASE语句时必须指定FOR DROP子句:
ALTER DATABASE DATAFILE‘数据文件名’OFFLINE FOR DROP;
但该语句并没有实际删除数据文件,数据文件仍保留在数据字典中。要删除它们,需要调用ALTER TABLESPACE...DROP DATAFILE语句或DROP TABLESPACE...INCLUDING CONTENTS AND DATAFILES语句。(www.daowen.com)
(2)归档模式下脱机、联机数据文件
在归档模式下,调用ALTER DATABASE语句脱机、联机数据文件,其语法格式为
ALTER DATABASE DATAFILE数据文件名称或文件号{OFFLINE|ONLINE};
例如,下面语句使DEMOTS表空间中的一个数据文件脱机。
此时用户从动态性能视图v$datafile可以查询到该数据文件的状态。例如:
这说明已脱机的数据文件重新联机时首先需要对该数据文件做介质恢复。例如:
介质恢复完成后,再执行查询语句,发现数据文件的状态变为OFFLINE:
这说明完成介质恢复后,方可联机数据文件。例如:
之后再执行上面的查询语句,得到下面结果,说明数据文件已经成功联机。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。