Oracle表領域アクションの詳細


一、表領域の確立
CREATE TABLESPACE data01
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
UNIFORM. SIZE 128k;
#指定領域サイズ128 k、指定しない場合、領域サイズデフォルト64 k
二、UNDO表領域の確立
CREATE UNDO TABLESPACE UNDOTBS02
DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M

#注意:OPEN状態では、UNDO表領域が1つしか使用できない場合があります.新しい表領域を使用する場合は、その表領域に切り替える必要があります.
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