ASM構成での制御ファイル移動
ASM構成での制御ファイル移動
Oracle11gR2のRACで構成しストレージがASMである環境での制御ファイル移動手順です。
作業の流れ
- SPFILEの「contorol_files」を、制御ファイル配置先に変更する
- データベースをシャットダウン
- ASMコマンドラインで制御ファイルを移動する
- データベース起動
それでは作業に入ります。
制御ファイル移動
制御ファイルをどこからどこへ移動するかは以下になります。1つだった状態から2重化に変更します。
移動前 → +DATA/db01/controlfile/current.260.829070401
移動後 → +DG_REDO_1/DB01/CONTROLFILE/control01.ctl
+DG_REDO_2/DB01/CONTROLFILE/control02.ctl
移動前の状態確認
制御ファイルがどこに配置サれているかを確認します。
SQL> show parameter control_files NAME TYPE VALUE --------------------- ----------- ------------------------------ control_files string +DATA/db01/controlfile/current.260.829070401 SQL>
SPFILEのcontrol_filesを移動先に変更
制御ファイルの移動先をSPFILEに反映します。
SQL> alter system set control_files='+DG_REDO_1/DB01/CONTROLFILE/control01.ctl', '+DG_REDO_2/DB01/CONTROLFILE/control02.ctl' scope=spfile; システムが変更されました。 SQL>
変更内容はDB再起動後に反映されます。
データベースをシャットダウン
[root@server01:/] srvctl stop database -d db01 [root@server01:/]
ASMコマンドラインで制御ファイルを移動先にコピー
移動前の制御ファイルはASMディスクグループ内に配置されていたので、制御ファイルの移動はASMコマンドラインから行います。
ASMコマンドラインを起動します。
[root@server01:/] su - grid [grid@server01:/home/grid] asmcmd ASMCMD>
1つ目の制御ファイルを移動先にコピーします。
ASMCMD> cp +DATA/db01/controlfile/Current.260.829070401 +DG_REDO_1/DB01/CONTROLFILE/control01.ctl copying +DATA/DB01/CONTROLFILE/Current.260.829070401 -> +DG_REDO_1/DB01/CONTROLFILE/control01.ctl ASMCMD>
2つ目の制御ファイルを移動先にコピーします。
ASMCMD> cp +DATA/db01/controlfile/Current.260.829070401 +DG_REDO_2/DB01/CONTROLFILE/control02.ctl copying +DATA/DB01/CONTROLFILE/Current.260.829070401 -> +DG_REDO_1/DB01/CONTROLFILE/control01.ctl ASMCMD>
データベースを起動
[root@server01:/] srvctl start database -d db01 [root@server01:/]
DBを正常に起動できれば、制御ファイルの再配置は成功です。
移動後の確認
SQL> show parameter control_files NAME TYPE VALUE --------------------- ----------- ------------------------------ control_files string +DG_REDO_1/DB01/CONTROLFILE/control01.ctl, +DG_REDO_2/DB01/CONTROLFILE/control02.ctl SQL>