記憶庫

自分用のメモです。

Oracle Databaseチートシート(表領域/データファイル編)

作成

表領域MY_TABLESPACEを、サイズ100MBのデータファイル1つで作成する
create tablespace MY_TABLESPACE datafile '/xxx/yyy/zzz/tablespace.dat' size 100M;
表領域MY_TABLESPACEを、サイズ100MBのデータファイル1つ、自動拡張なしで作成する
create tablespace MY_TABLESPACE datafile '/xxx/yyy/zzz/tablespace.dat' size 100M autoextend off;
表領域MY_TABLESPACEを、サイズ100MBのデータファイル1つ、自動拡張あり、拡張サイズ10MB、最大サイズ300MBで作成する
create tablespace MY_TABLESPACE datafile '/xxx/yyy/zzz/tablespace.dat' size 100M autoextend on next 10M maxsize 300MB;
表領域名をMY_TABLESPACEからYOUR_TABLESPACEに変更する
alter tablespace MY_TABLESPACE rename to YOUR_TABLESPACE;
表領域MY_TABLESPACEを、サイズ100MBのデータファイル3つで作成する
create tablespace MY_TABLESPACE datafile
    '/xxx/yyy/zzz/tablespace01.dat' size 100M,
    '/xxx/yyy/zzz/tablespace02.dat' size 100M,
    '/xxx/yyy/zzz/tablespace03.dat' size 100M;
表領域MY_TABLESPACEに、サイズ100MBのデータファイルを追加する
alter tablespace MY_TABLESPACE add datafile '/xxx/yyy/zzz/tablespace04.dat' size 100M;
データファイルのサイズを200MBに拡張する
alter database datafile '/xxx/yyy/zzz/tablespace.dat' resize 200M;

削除

表領域MY_TABLESPACEから、データファイルtablespace04.datを削除する
alter tablespace MY_TABLESPACE drop datafile '/xxx/yyy/zzz/tablespace04.dat';
表領域my_tablespaceを削除する。その際、包含するオブジェクト、データファイル、参照整合性制約も同時に削除する。
DROP TABLESPACE my_tablespace INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

確認

表領域名、データファイルのパス、データファイルのサイズを表示する
select tablespace_name, file_name, bytes/1024/1024 "size(MB)" from DBA_DATA_FILES;
表領域がSMALLFLEとBIGFILEのどちらかを確認する
select tablespace_name, bigfile from DBA_TABLESPACES;