本人很喜欢Oracle表空间,在工作中也很喜欢总结关于Oracle表空间状态的经验教训,下面就这个问题来详细说说吧。
1、查询Oracle表空间状态
select tablespace_name,status from dba_tablespaces;
2、更改Oracle表空间状态
alter tablespace book offline/online/read only/read write;
离线/在线/只读/读写
3、数据文件移动
select tablespace_name,file_name from dba_data_files;
alter tablespace book offline;
将要修改的文件移动到新目录下
alter tablespace book rename datafile '/u01/oradata/oracle8i/sales01.dbf' to '/u02/oradata/oracle8i/sales01.dbf';
4、修改数据文件的online/offline属性
archivelog模式下
alter database datafile '/u01/oradata/oracle8i/sales01.dbf' offline;
noarchivelog模式下
alter database datafile '/u01/oradata/oracle8i/sales01.dbf' offline drop;
5、数据字典表空间与本地化管理表空间的转化为
select tablespace_name,extent_management,allocation_type from dba_tablespace;
exec dbms_space_admin.tablespace_migrate_to_local('book')
系统表空间system和临时表空间temp不得转换
exec dbms_space_admin.tablespace_migrate_from_local('book')
6、删除表空间
drop tablespace student including contents;
including contents将表空间及实体删除
create table test(id number(3)) tablespace test_tablesapce;
以上介绍Oracle表空间状态,这里我发表一下个人理解,和大家讨论讨论。