[Oracle] 記憶領域(非SYSTEM表領域)のデータ・ファイルの移動

ORACLE MASTER Silver DBAポイント解説(4)で表領域の取り扱いについて解説されていたのですが、環境が XE だからかうまく動かなかったのでうまくいった方法をご紹介します。
ALTER TABLE SPACE文を使用して移動する場合の手順は以下のとおりです。

  1. 移動する表領域をオフラインにする。
    ALTER TABLESPACE users OFFLINE;
  2. OSコマンドを利用してファイルを移動またはコピーする。
  3. 移動先を指定する。
    ALTER DATABASE
    RENAME FILE 'C:ORACLEXEORADATAXEUSERS.DBF'
    TO 'D:ORADATAXEUSERS.DBF'
  4. 表領域をオンラインにする。
    ALTER TABLESPACE users ONLINE; 
  5. 必要に応じてOSコマンドを使用して元ファイルを削除する。

※システム領域の移動の際には、以下の手順でできるようです。

  1. インスタンスを停止する。
    SHUTDOWN IMMEDIATE; 
  2. OSコマンドを利用してファイルを移動する。
  3. データベースをマウントする。
    STARTUP MOUNT;
  4. 移動先を指定する。
    ALTER DATABAS
    RENAME FILE 'C:ORACLEXEORADATAXESYSTEM.DBF'
    TO 'D:ORADATAXESYSTEM.DBF'
    非システム領域のときと合わせて見てみると、(3)と(4)の操作が逆のような気がします。

コメント (0件)


くろねこ研究所
https://www.blackcat.xyz/article.php/ProgramingFAQ_ora0001