tablespace status
tablespace status
1.联机状态(online)
ALTER TABLESPACE TEST ONLINE ;
读写、只读状态是联机状态的特例。
2.读写(Read-Write)
ALTER TABLESPACE TEST READ WRITE;
实际上为online状态,只用表空间的状态为read only时才能转换到此状态,默认情况下所有的表空间都是读写状态。任何具有表空间配额并且具有适当权限的用户都可以读写表空间中的数据。
3.只读(Read-Only)ALTER TABLESPACE TEST READ ONLY ;
如果将表空间设置为只读状态,则任何用户(包括DBA)都无法向该表空间中写入数据,也无法修改表空间中已有的数据。这种限制与用户的权限无关。
将表空间设置成只读状态的主要目的:避免对数据库中的静态数据进行修改。
使用户只能以SELECT方式查询只读数据,不能使用INSERT、UPDATE、DELECT等方式修改数据。由于只读表空间中的数据不会被修改,因此DBA只需要将只读表空间备份即可。如果数据库中保存的是只读数据,将这些数据保存在一个单独的表空间中,然后将这个表空间设置为只读状态,不仅能够提高数据的安全性,而且可以减轻DBA管理和维护工作量。
4.脱机状态(offline)ALTER TABLESPACE TEST OFFLINE ******;
在有多个应用表空间的数据库中,DBA可以通过将某个应用表空间设置为脱机状态,使该表空间暂时不让用户访问。用户仍然可以访问数据库的其它表空间。也可以将某个处于脱机状态的表空间重新设置为联机状态。DBA可以通过设置改变联机或脱机状态。
四种脱机模式
●正常(Normal):这个模式是默认模式。该模式表示将表空间从正常状态切换到脱机状态。在进入脱机状态的过程中,必须保证该表空间的所有数据文件都是联机的、可用的,Oracle会执行一次检查点,以便将SGA区中与该表空间相关缓存数据写入数据文件中,然后关闭表空间的所有数据文件。
●临时(Temporary):此模式表示将表空间以临时方式切换到脱机状态。在进入脱机状态的过程中,不必保证该表空间的所有数据文件都是联机的、可用的,Oracle会执行一次检查点(checkpoint)。如果在这个过程中某些数据文件处于不可用状态,Oracle也会忽略这些错误,进入Tempporary脱机模式。
●立即(Immediate):该模式表示将表空间以立即方式切换到脱机状态。在进入脱机状态的过程中,不必保证这个表空间的所有数据文件都是联机的、可用的,Oracle也不会执行检查点,而是将属于该表空间的所有数据文件切换到脱机状态。
●恢复(For Recover):这个模式表示将表空间以恢复方式切换到脱机状态。如果要对表空间进行基于时间的恢复,可以使用这种模式将表空间切换到脱机状态。然后DBA就可以使用备份的数据文件覆盖原有的数据文件,再这些数据文件上,利用归档重做日志,将表空间恢复到某个时间点状态。
注:SYSTEM表空间不能设置为只读状态、脱机状态,因为在数据库运行过程中始终会使用到SYSTEM表空间中的数据。
操作命令代码:
1、查询Oracle表空间状态 1.select tablespace_name,status from dba_tablespaces; 2、更改Oracle表空间状态 1.alter tablespace test offline/online/read only/read write; 离线/在线/只读/读写 3、数据文件移动 1.select tablespace_name,file_name from dba_data_files; 2.alter tablespace test offline; 3.host copy F:\temp\TEST2.DBF F:/temp/TEST6.DBF; 4.ALTER TABLESPACE TEST RENAME DATAFILE 'F:/temp/TEST2.DBF' TO 'F:/temp/TEST6.DBF'; 5.ALTER TABLESPACE TEST ONLINE; 6.host del F:/temp/TEST2.DBF; 4、修改数据文件的online/offline属性 archivelog模式下 1.alter database datafile '/u01/oradata/oracle8i/sales01.dbf' offline; noarchivelog模式下 1.alter database datafile '/u01/oradata/oracle8i/sales01.dbf' offline drop; 5、数据字典表空间与本地化管理表空间的转化为 1.select tablespace_name,extent_management,allocation_type from dba_tablespace; 2.exec dbms_space_admin.tablespace_migrate_to_local('test') 系统表空间system和临时表空间temp不得转换 1.exec dbms_space_admin.tablespace_migrate_from_local('test') 6、删除表空间 DROP TABLESPACE TEST INCLUDING CONTENTS AND DATAFILES;