Oracleの制御ファイルの多重化
概要
Oracle(12c)での制御ファイルの多重化の手順を確認したので備忘
参考マニュアル
10.3.2 制御ファイルの追加コピーの作成、名前変更および再配置
実施手順
初期化パラメータ(spファイルの場所と制御ファイルの場所)を確認
SQL> show parameter control_file NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ control_files string /u01/app/oracle/oradata/orcl/c ontrol01.ctl, /u01/app/oracle/ oradata/orcl/control02.ctl SQL> show parameter spfile NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ spfile string /u01/app/oracle/product/12.2.0 /dbhome_1/dbs/spfileorcl.ora
pファイルの作成
SQL> create pfile from spfile;
ファイルが作成されました。
DBをシャットダウン
SQL> shutdown immediate;
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
cpコマンドで制御ファイルのコピーを作成
cp -p /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/oradata/orcl/control03.ctl
pファイルのcontrol_files
パラメータの書き換え
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl'
pファイルで起動(nomount)
SQL> startup nomount pfile='/u01/app/oracle/product/12.2.0/dbhome_1/dbs/initorcl.ora'; ORACLEインスタンスが起動しました。
spファイルの作成とspファイルで再起動
SQL> create spfile from pfile; ファイルが作成されました。 SQL> shutdown immediate; ORA-01507: ??????????????????? ORACLEインスタンスがシャットダウンされました。 SQL> startup ORACLEインスタンスが起動しました。
初期化パラメータ(spファイルで運用されているかと制御ファイルの場所)を確認
SQL> show parameter spfile NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ spfile string /u01/app/oracle/product/12.2.0 /dbhome_1/dbs/spfileorcl.ora SQL> show parameter control_file NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ control_file_record_keep_time integer 7 control_files string /u01/app/oracle/oradata/orcl/c ontrol01.ctl, /u01/app/oracle/ oradata/orcl/control02.ctl, /u 01/app/oracle/oradata/orcl/con trol03.ctl
不明点
マニュアルによると厳密には初期化パラメータとファイルのコピーはDBの停止中に実施する必要がある??
初期化パラメータの変更は停止中なのでspファイルで運用している場合は、一旦pファイルに変更する必要がある??