六步了解Oracle表空间状态

本人很喜欢Oracle表空间,在工作中也很喜欢总结关于Oracle表空间状态的经验教训,下面就这个问题来详细说说吧。

1、查询Oracle表空间状态

 
 
 
  1. select tablespace_name,status from dba_tablespaces; 

2、更改Oracle表空间状态

 
 
 
  1. alter tablespace book offline/online/read only/read write; 

离线/在线/只读/读写

3、数据文件移动

 
 
 
  1. select tablespace_name,file_name from dba_data_files;  
  2. alter tablespace book offline; 

将要修改的文件移动到新目录下

 
 
 
  1. alter tablespace book rename datafile '/u01/oradata/oracle8i/sales01.dbf' to '/u02/oradata/oracle8i/sales01.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('book') 

系统表空间system和临时表空间temp不得转换

 
 
 
  1. exec dbms_space_admin.tablespace_migrate_from_local('book')  

6、删除表空间

 
 
 
  1. drop tablespace student including contents; 

including contents将表空间及实体删除

 
 
 
  1. create table test(id number(3)) tablespace test_tablesapce; 

以上介绍Oracle表空间状态,这里我发表一下个人理解,和大家讨论讨论。

【编辑推荐】

  1. 详解在数据库中Oracle如何解锁
  2. Oracle密码管理五大要点
  3. 在命令行下进行Oracle用户解锁
  4. Oracle默认管理员带来的数据库安全隐患
  5. 浅谈VB.NET UNDO表空间的三大操作
THE END