ローカル管理永続表領域

ローカル管理永続表領域の作成

基本文法:

CREATE {SMALLFILE | BIGFILE} TABLESPACE tbs_name DATAFILE <file_specification{,file_specification}> 
<extent_management_clause>
<segment_management_clause>..
EXTENT MANAGEMENT句
  • AUTOALLOCATE:表領域はシステム管理になり、最小エクステント・サイズは64KBとなる。
  • UNIFORM SIZE:表領域は均一サイズのエクステントで管理される。SIZEを指定しないと、デフォルト・サイズは1MBになる。

エクステントタイプを明示的に指定しない場合でINITIALとNEXTが等しくてPCTINCREASE=0であれば均一エクステントのローカル管理表領域がされる。

CREATE SMALLFILE TABLESPACE USERS DATAFILE '/u02/app/oracle/oradata/PROD/user_01.dbf' SIZE 64M REUSE AUTOEXTEND ON MAXSIZE 2G
DEFAULT STORAGE ( INITIAL 1M NEXT 1M PCTINCREASE 0 ) SEGMENT SPACE MANAGEMENT MANUAL;
SEGMENT SPACE MANAGEMENT句
  • AUTO:ビットマップを使用して、新しい永続ローカル管理表領域すべてのデフォルトである。手動セグメント領域管理に比べて領域の使用効率が向上する。
  • MANUAL:「空きリスト」と呼ばれるリンクされたリストを使用してセグメント内の空き領域を管理する。
大型表領域 CREATE BIGFILE TABLESPACE

ディクショナリーエクステント管理と手動ASSM管理を指定してはいけない。手動ASSM管理を指定すると、エラーになる。

SQL> CREATE BIGFILE TABLESPACE EXAMPLE DATAFILE '/u02/app/oracle/oradata/PROD/example_01.dbf' SIZE 512M REUSE AUTOEXTEND ON MAXSIZE 8T
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K SEGMENT SPACE MANAGEMENT MANUAL;
CREATE BIGFILE TABLESPACE EXAMPLE DATAFILE '/u02/app/oracle/oradata/PROD/example_01.dbf' SIZE 512M REUSE AUTOEXTEND ON MAXSIZE 8T
*
ERROR at line 1:
ORA-32772: BIGFILE is invalid option for this type of tablespace

永続表領域の管理

データベースにデフォルト表領域を設定
ALTER DATABASE DEFAULT TABLESPACE USERS;
表領域の可用性変更

表領域をオフラインまたはオンラインにする。

SQL> alter tablespace indx offline normal;
 
Tablespace altered.
 
SQL> alter tablespace indx online;
 
Tablespace altered.
 
SQL>

表領域をオフラインにする時、IMMEDIATEオプションを指定できるが、OFFLINE IMMEDIATEを指定すると、再度オンライン化にする時にメディアリカバリが必要である。
可能な限り、NORMAL(デフォルト)オプションでオフラインにしたほうが良い。
表領域を読取り専用にする
SQL> alter tablespace indx read only;
 
Tablespace altered.
 
SQL> alter tablespace indx read write;
 
Tablespace altered.
 
SQL>
表領域名の変更
SQL> alter tablespace indx rename to idx;
 
Tablespace altered.
 
SQL> alter tablespace idx rename to indx;
 
Tablespace altered.
 
SQL>
表領域の削除

表領域が空の場合 DROP TABLESPACE

SQL> drop tablespace indx;
 
Tablespace dropped.
 
SQL>

表領域が空ではない DROP TABLESPACE … INCLUDING CONTENTS;
SQL> create tablespace indx datafile '/u02/app/oracle/oradata/PROD/indx_01.dbf' size 100M reuse;
 
Tablespace created.
 
SQL> drop tablespace indx including contents;
 
Tablespace dropped.
 
SQL>

表領域を削除する同時に関連データファイルも削除する
SQL>  create tablespace indx datafile '/u02/app/oracle/oradata/PROD/indx_01.dbf' size 100M reuse;
 
Tablespace created.
 
SQL> drop tablespace indx including contents and datafiles;
 
Tablespace dropped.
 
SQL>
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License