六步了解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表空间状态,这里我发表一下个人理解,和大家讨论讨论。

你可能感兴趣的:(六步了解Oracle表空间状态)