Oracle表空间操作详解

一、建立表空间

CREATE TABLESPACE data01
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
UNIFORM. SIZE 128k;
             #指定区尺寸为128k,如不指定,区尺寸默认为64k

二、建立UNDO表空间

CREATE UNDO TABLESPACE UNDOTBS02
DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M


#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:

ALTER SYSTEM SET undo_tablespace=UNDOTBS02;


三、建立临时表空间

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


四、改变表空间状态

1.使表空间脱机

ALTER TABLESPACE game OFFLINE;


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

ALTER TABLESPACE game OFFLINE FOR RECOVER;


2.使表空间联机

ALTER TABLESPACE game ONLINE;



3.使数据文件脱机

ALTER DATABASE DATAFILE 3 OFFLINE;


4.使数据文件联机

ALTER DATABASE DATAFILE 3 ONLINE;


5.使表空间只读

ALTER TABLESPACE game READ ONLY;


6.使表空间可读写

ALTER TABLESPACE game READ WRITE;


五、删除表空间

DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;


六、扩展表空间

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

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 game
  ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;


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


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


设定后查看表空间信息

  SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
  (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
  FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
  WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME

你可能感兴趣的:(java,oracle,C++,c,C#)