ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle表空间操作

oracle表空间操作

原创 Linux操作系统 作者:gjm008 时间:2008-12-25 16:38:18 0 删除 编辑

一、建立表空间

CREATE TABLESPACE test
DATAFILE 'c:/oracle/oradata/db/test01.dbf' SIZE 50M
UNIFORM. SIZE 1M;              #指定区尺寸为128k,如不指定,区尺寸默认为64k

CREATE TABLESPACE test
DATAFILE 'c:/oracle/oradata/db/test01.dbf' SIZE 50M
MINIMUM EXTENT 50K EXTENT MANAGEMENT LOCAL
DEFAULT STORAGE (INITIAL 50K NEXT 50K MAXEXTENTS 100 PCTINCREASE 0);

可从dba_tablespaces中查看刚创建的表空间的信息

二、建立UNDO表空间

CREATE UNDO TABLESPACE test_undo
DATAFILE 'c:/oracle/oradata/db/test_undo.dbf' SIZE 50M

UNDO表空间的EXTENT是由本地管理的,而且在创建时的SQL语句中只能使用DATAFILE和EXTENT MANAGEMENT子句。

ORACLE规定在任何时刻只能将一个还原表空间赋予数据库,即在一个实例中可以有多个还原表空间存在,但只能有一个为活动的。可以使用ALTER SYSTEM命令进行还原表空间的切换。

SQL> ALTER SYSTEM SET UNDO_TABLESPACE = test_undo;

三、建立临时表空间

CREATE TEMPORARY TABLESPACE test_temp
TEMPFILE '/oracle/oradata/db/test_temp.dbf' SIZE 50M

查看系统当前默认的临时表空间
select * from dba_properties where property_name like 'DEFAULT%'

改变系统默认临时表空间
alter database default temporary tablespace test_temp;

四、改变表空间状态

1.使表空间脱机

ALTER TABLESPACE test OFFLINE;

如果是意外删除了数据文件,则必须带有RECOVER选项

ALTER TABLESPACE game test FOR RECOVER;

2.使表空间联机

ALTER TABLESPACE test ONLINE;


3.使数据文件脱机

ALTER DATABASE DATAFILE 3 OFFLINE;

4.使数据文件联机

ALTER DATABASE DATAFILE 3 ONLINE;

5.使表空间只读

ALTER TABLESPACE test READ ONLY;

6.使表空间可读写

ALTER TABLESPACE test READ WRITE;

五、删除表空间

DROP TABLESPACE test INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

DROP TABLESPACE 表空间名 [INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]]

1. INCLUDING CONTENTS 子句用来删除段

2. AND DATAFILES 子句用来删除数据文件

3. CASCADE CONSTRAINTS 子句用来删除所有的引用完整性约束

六、扩展表空间

首先查看表空间的名字和所属文件

select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

1.增加数据文件
   ALTER TABLESPACE test
   ADD DATAFILE '/oracle/oradata/db/test02.dbf' SIZE 1000M;

2.手动增加数据文件尺寸
   ALTER DATABASE DATAFILE 'c:/oracle/oradata/db/test01.dbf'
   RESIZE 100M;

3.设定数据文件自动扩展
   ALTER DATABASE DATAFILE 'c:/oracle/oradata/db/test01.dbf'
   AUTOEXTEND ON NEXT 100M
   MAXSIZE 200M;

设定后可从dba_tablespace中查看表空间信息,从v$datafile中查看对应的数据文件信息

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16486600/viewspace-521238/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-25

  • 博文量
    41
  • 访问量
    187624