表領域を変更する(ALTER TABLESPACE)
文書番号:20269
表領域にデータファイルを追加・削除するSQL。
・100Mの表領域を追加する
ALTER TABLESPACE 表領域名
ADD DATAFILE 'データファイル名(フルパス指定可).dbf' SIZE 100M;
・100Mの表領域を追加する(自動拡張500Kで最大1024M)
ALTER TABLESPACE 表領域名
ADD DATAFILE 'データファイル名(フルパス指定可).dbf' SIZE 100M
AUTOEXTEND ON NEXT 500K MAXSIZE 1024M;
・表領域からデータファイルを削除する
ALTER TABLESPACE 表領域名
DROP DATAFILE 'データファイル名1.dbf';
・表領域を追加する(その他のオプション)
ALTER TABLESPACE 表領域名
--追加するデータファイルのパスとサイズを指定する
ADD DATAFILE データファイル名 [SIZE ファイルサイズ]
--自動拡張の指定をする。NEXT:増分値を指定 MAXSIZE:最大値を指定する(無制限はUNLIMITED)
[AUTOEXTEND {OFF | ON NEXT サイズ [MAXSIZE {UNLIMITED | サイズ}]}]
--最小のエクステントサイズを指定する
[MINIMUM EXTENT エクステントサイズ]
--表領域のブロックサイズを指定する
[BLOCKSIZE ブロックサイズ]
--表領域に対する変更をREDOログに出力する場合は「LOGGING」、しない場合は「NOLOGGING」を指定する
[LOGGING | NOLOGGING]
--エクステント管理をローカル管理にする場合は「LOCAL」、ディクショナリ管理の場合は「DICTIONARY」を指定する
[EXTENT MANAGEMENT [LOCAL | DICTIONARY]]
--表領域を使用可能にする場合は「ONLINE」、使用不可にする場合は「OFFLINE」する
[ONLINE | OFFLINE]
--通常の表領域は「PERMANENT」(デフォルト)、一時表領域は「TEMPORARY」を指定する
[PERMANENT | TEMPORARY]
--セグメントを自動管理にする場合は「AUTO」、手動管理は「MANUAL」を指定する
[SEGMENT SPACE MANAGEMENT [MANUAL | AUTO]]
--圧縮オプションを指定する
--BASIC:基本圧縮 FOR OLTP:OLTP圧縮 FOR QUERY:データ:ウェアハウス圧縮 FOR ARCHIVE:オンラインアーカイブ圧縮
[DEFAULT COMPRESS [BASIC | FOR OLTP | FOR QUERY | FOR ARCHIVE]]
・表領域のデータファイルを移動する
--表領域をオフラインにする
ALTER TABLESPACE 表領域名 OFFLINE;
--データファイルを移動先へコピーする
OSのコマンドなどでデータファイルをコピーします。
--データファイルを変更する
ALTER TABLESPACE 表領域名
RENAME DATAFILE '変更前のデータファイル名をフルパスで指定.dbf'
TO '変更後のデータファイル名をフルパスで指定.dbf';
--表領域をオンラインにする
ALTER TABLESPACE 表領域名 ONLINE;
※表領域をONLINEにするタイミングで ORA-01113 エラーが発生する場合があります。
その場合は RECOVER DATAFILE コマンドでメディアリカバリを実行してから再度 ONLINE にします。
参考:「ORA-01113:ファイル22はメディア・リカバリが必要です」
その場合は RECOVER DATAFILE コマンドでメディアリカバリを実行してから再度 ONLINE にします。
参考:「ORA-01113:ファイル22はメディア・リカバリが必要です」