如何在Oracle中建立新的表空间

发表于:2012-09-13来源:Csdn作者:tanzugan点击数: 标签:oracle
如何在Oracle中建立新的表空间? 查看表空间和数据文件的信息 select tablespace_name,file_name,ceil(bytes/1024/1024) mb from dba_data_files order by 1; 创建表空间

  查看表空间和数据文件的信息

  select tablespace_name,file_name,ceil(bytes/1024/1024) mb

  from dba_data_files order by 1;

  创建表空间

  CREATE TABLESPACE tanzugan LOGGING DATAFILE 'H:\APP\ZUGANTAN\ORADATA\ORCL2012\tanzugan.dbf'

  SIZE 100M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

  ---查看表空间信息

  select * from dba_data_files order by 1;

  ------穿插 order by 1 order by2

  order by 1按照第一列排序

  order by 2 按照第二列排序

  若只有2列 写成了 order by 3就会报错。

  -------------------

  加入新的数据文件

  alter tablespace ts1 add datafile 'D:\ORACLE\ORADATA\Ora10\ts1.2' size 2m;

  数据文件只能加入,不能删除,除非将表空间删除。但在10G数据库版本可以删除

  --------------------删除表空间 数据文件

  alter tablespace ts1 drop datafile 'D:\ORACLE\ORADATA\ORA10\TS1.2';

  -----------------------------------------

  改变数据文件的大小

  可以加大,也可以缩小

  Alter database datafile ‘…..’ resize 100m;

  数据文件的自动扩展

  select FILE_NAME,AUTOEXTENSIBLE,MAXBLOCKS,

  INCREMENT_BY from dba_data_files;

  改为自动扩展

  alter database datafile 'D:\ORACLE\ORADATA\O10\TS1.1'

  autoextend on next 1m maxsize 100m;

  改为手工扩展

  alter database datafile 'D:\ORACLE\ORADATA\O10\TS1.1'

  Autoextend off;

  表空间只读

  Alter tablespace users read only;

  验证

  select TABLESPACE_NAME,STATUS from dba_tablespaces;

  读写

  Alter tablespace users read write;

  只读表空间内的表不能dml,但可以drop .

  因为DROP操作的是system表空间,SYSTEM表空间不能设为只读。

  Offline表空间

  alter tablespace users offline;

  验证

  select TABLESPACE_NAME,STATUS from dba_tablespaces;

  在线

  alter tablespace users online;

  只有完整的数据文件才可以online,如果不完整请恢复。

  恢复一致后再online;

  文件online时用户才可以访问

原文转自:http://www.ltesting.net