[前提]
・プライマリ・データベースとなるDBがアーカイブモードで運用されていること。
「アーカイブモードの設定」参照。
・プライマリ・データベースのOS、ORACLEのバージョンがパッチレベルまで同一である
スタンバイ・データベース用のマシンがあること(プライマリと同一マシン上でも可能)
・スタンバイ・データベースの物理構成がプライマリと同一であること。(違っても可)
・読み取り専用モードでスタンバイを稼動させる場合、プライマリの一時表領域は、
ローカル管理の表領域で作成しておく。
[構築手順]
0)プライマリの状況を確認する。
1.データファイルの確認 SQL> SELECT name FROM v$datafile;
2.制御ファイルの確認 SQL> SELECT name FROM v$controlfile;
3.オンラインREDOログの確認 SQL> SELECT member from v$logfile;
SQL> ARCHIVE LOG LIST;
1)プライマリのデータファイルにより、バックアップを作成する。
1.データベースをシャットダウン
2.データファイルのコピーを作成
% tar zcvf /udb2/BACKUP/datafile.tar.gz データファイル
3.初期パラメータ等の設定ファイルのコピーを作成
$ORACLE_HOME/dbs/initsptest2.ora
$ORACLE_HOME/network/admin/listener.ora
$ORACLE_HOME/network/admin/tnsnames.ora
2)プライマリで、スタンバイ用の制御ファイルを作成する。
1.データベースをマウント状態で起動
SQL> startup mount
2.制御ファイルの作成
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS ’/udb1/BACKUP/control.ctl’;
3.データベースの再起動
3)バックアップしたデータファイルと制御ファイルをスタンバイに転送する。
データファイルと制御ファイルをスタンバイにFTP転送する。BINARYモード。
・初期設定ファイル、Net8設定ファイルも、転送する。
・コールドバックアップのため、オンライン、アーカイブREDOログは不要。
・ローカル管理の一時表領域に関するデータファイルも不要。
あとで、スタンバイ側に手動作成する。
4)スタンバイにリスナーを構成する。
プライマリのlistener.oraを元に、スタンバイのlistener.oraを作成。
HOST名を変更する以外特に変更する部分はない。
5)スタンバイの初期化パラメータを作成する。
プライマリのinitSID.oraを元に、スタンバイのinitSID.oraを作成。
リスナーのHOST名を変更する以外特に変更する部分はない。
6)スタンバイのインスタンスを起動して、スタンバイとしてマウントする。
1.データベースをマウントせず、起動
SQL> STARTUP NOMOUNT
2.スタンバイとしてマウント
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
7)読み取り専用モードでの一時表領域の作成
読み込み専用モードになった場合の一時表領域(ローカル管理)を作成
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE ’データファイル名’ SIZE サイズ;
8)スタンバイの状況を確認する。
1.データファイルの確認 SQL> SELECT name FROM v$datafile;
2.制御ファイルの確認 SQL> SELECT name FROM v$controlfile;
3.オンラインREDOログの確認 SQL> SELECT member from v$logfile;
SQL> ARCHIVE LOG LIST;