管理表空间和数据文件——维护表空间——改变表空间的可用性
当建立表空间时,表空间处于online状态,此时该表空间及其数据文件可以访问;当表空间或数据文件处于offline状态时,表空间或其数据文件将不可访问。当维护表空间时,经常需要改变表空间的可用性。一般情况下,改变表空间可用性是有特权用户或dba来完成的;如果以其他用户身份改变表空间可用性,则要求用户必须具有manage tablespace 系统权限。
1.使表空间脱机
为了移动特定表空间的所有数据文件到其他位置,需要将表空间转变为脱机状态。以确保其数据文件的一致性。
注意:system表空间和sysaux表空间不能被脱机。
例子:
alter tablespace tbs_4k offline;
当表空间处于offline状态时,该表空间将不能被访问。如果访问脱机表空间,那么会显示错误信息。
create table t1(cola int ) tablespace tbs_4k;
ORA-01542: 表空间 'TBS_4K' 脱机, 无法在其中分配空间
2.是表空间联机
处于offline状态的表空间不能被访问。在完成了表空间的维护后,应该将其转变为online状态。
例子:
alter tablespace tbs_4k online; create table t1(cola int ) tablespace tbs_4k;
3.是数据文件脱机
当出项磁盘损坏导致数据文件丢失时,如果要打开数据库,那么控制文件将无法定位需要打开的数据文件,并且会显示如下错误。
ora_01157:无法标识/锁定数据文件 3 - 请参阅dbwr跟踪数据文件:
ora——01110:数据文件 3 :'d:\orcl\user01.dbf'
为了使得数据库可以快速投入使用,应该脱机损坏的数据文件,打开数据库,让后恢复该数据文件。当脱机数据文件时,即可以指定数据文件名,也可以指定数据文件编号。
注意:noarchivelog 模式下脱机数据文件必须使用offline drop 选项。
例子:
alter database datafile 5 offline drop;
4.使数据文件联机
当恢复了数据文件后,为了使的数据文件可以重新使用,需要将其转变为online 状态。当联机数据文件时,即可以指定数据文件名,也可以指定数据文件编号。
注意:在联机数据文件之前可能需要执行恢复命令:
recover datafile 5 alter database datafile 5 online;
posted on 2013-05-22 16:43 LinuxPanda 阅读(844) 评论(0) 编辑 收藏 举报