制御ファイルの追加コピーの作成、名前変更および再配置
OCI DBaaS-VM環境にて19c環境で初めて制御ファイルの設定変更をしたので、その備忘録。
環境はSPFILE運用で、ASMを使用。
まずはマニュアルの記載を読み、これまでと大きな違いがないことを確認。
10.3.2 制御ファイルの追加コピーの作成、名前変更および再配置
多重化のために制御ファイルのコピーを追加作成するには、既存の制御ファイルを新しい位置にコピーし、
そのファイル名を制御ファイルのリストに追加します。
同様に、制御ファイルの名前を変更するには、既存の制御ファイルを新しい名前や位置にコピーし、
制御ファイル・リストのファイル名を変更します。
どちらの場合も、作業中に制御ファイルが変更されないように、
制御ファイルをコピーする前にデータベースを停止してください。
現行の制御ファイルの多重化コピーを追加、または制御ファイル名を変更するには:
1.データベースを停止します。
2.オペレーティング・システムのコマンドを使用して、
既存の制御ファイルを新しい位置にコピーします。
3.データベース初期化パラメータ・ファイルのCONTROL_FILESパラメータを編集して、
新しい制御ファイル名を追加するか、または既存の制御ファイル名を変更します。
4.データベースを再起動します。
実際の対応手順は以下
対応手順
1.SQL*Plusに接続後、移動前の配置確認
SQL> show parameter control_files
2.SPFILEのcontrol_filesパラメータを変更
SQL> alter system set control_files
2> ='+RECO/TESTDB01_NRT1BS/CONTROLFILE/control01.ctl'
3> ,'+DATA/TESTDB01_NRT1BS/CONTROLFILE/control02.ctl'
4> scope=spfile;
3.DBのシャットダウン
SQL> shutdown immediate
SQL> exit
4.ASM側で操作をするため、gridユーザーにスイッチしてASMCMDで制御ファイルをコピー
-- +DATA配下CONTOROLFILEディレクトリについては、
-- デフォルトでは存在しないので、手動で作成する。
ASMCMD> cd DATA
ASMCMD> cd TESTDB01_NRT1BS
ASMCMD> mkdir CONTOROLFILE
ASMCMD> ls
-- 1つ目の制御ファイルのコピー
ASMCMD> ls -lt +RECO/TESTDB01_NRT1BS/CONTROLFILE
ASMCMD> cp +RECO/TESTDB01_NRT1BS/CONTROLFILE/<制御ファイル名> +RECO/TESTDB01_NRT1BS/CONTROLFILE/control01.ctl
ASMCMD> ls -lt +RECO/TESTDB01_NRT1BS/CONTROLFILE
-- 2つ目の制御ファイルのコピー
ASMCMD> ls -lt +DATA/TESTDB01_NRT1BS/CONTROLFILE
ASMCMD> cp +RECO/TESTDB01_NRT1BS/CONTROLFILE/<制御ファイル名> +DATA/TESTDB01_NRT1BS/CONTROLFILE/control02.ctl
ASMCMD> ls -lt +DATA/TESTDB01_NRT1BS/CONTROLFILE
ASMCMD> exit
5.oracleユーザーへスイッチしてDBを起動し、変更後の確認
-- SQL*Plusへの接続と起動
$ sqlplus /as sysdba
SQL> startup
SQL> show pdbs
SQL> show parameter control_files