Google Cloud NetApp Volumes 上の Data Guard のスタンバイ データベースを確定する
スタンバイREDOログファイルの作成、フラッシュバックデータベースの有効化、REDO転送の有効化、およびData Guardの状態確認によって、Google Cloud NetApp Volumes上のOracle Data Guardのスタンバイデータベースを確定します。
ティア固有: この手順は、Prod HA (Data Guard + FSFO) ティアでのみ必要です。
ステップ 1:スタンバイ REDO ログファイルを作成する
高速スタート・フェイルオーバーをサポートするために、両方のデータベースホストにスタンバイREDOログファイルを作成します。サイズは最大のプライマリオンラインREDOログ以上である必要があり、カウントは(スレッドあたりのオンライングループ)+ 1 と等しくなければなりません。GCNVシード処理後、レプリケートされたパスを修正するために、スタンバイ側でスタンバイREDOログを削除して再作成します。
-
プライマリデータベース上にスタンバイREDOログファイルを作成する(
orcl):ALTER SYSTEM SET db_create_file_dest='+DATA' SCOPE=BOTH; ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 ('+DATA') SIZE 1024M; -- repeat (online log groups + 1) times -
GCNV シード後、スタンバイ データベース上のスタンバイ REDO ログ ファイルを削除して再作成します((
orcls)。+DATA/ORCL/…配下の複製されたパスは、再構築されるまでORA-19527/ORA-16086を引き起こします:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; ALTER SYSTEM SET standby_file_management=MANUAL SCOPE=BOTH; -- DROP STANDBY LOGFILE GROUP for each group# in v$standby_log; ALTER SYSTEM SET db_create_file_dest='+DATA' SCOPE=BOTH; ALTER SYSTEM SET standby_file_management=AUTO SCOPE=BOTH; ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 ('+DATA') SIZE 1024M; -- repeat (online groups + 1) times; one member per group ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
ステップ2:フラッシュバックを有効にしてリカバリを開始する
スタンバイ側でフラッシュバック データベースを有効にして、フェイルオーバー後の自動復旧をサポートし、その後、リアルタイム適用でマネージド リカバリを開始します。MRP がアクティブな間はフラッシュバックを有効にできないため、マネージド リカバリを開始する前にフラッシュバックを有効にする必要があります。
-
スタンバイデータベースをシャットダウンし、MOUNTモードで再起動し、 `oracdb2`でフラッシュバックデータベースを有効にします:
# On oracdb2 sudo -u oracle bash -c ' . ~/.bash_profile export ORACLE_SID=orcls sqlplus / as sysdba <<SQL SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER SYSTEM SET db_flashback_retention_target=1440 SCOPE=BOTH; ALTER DATABASE FLASHBACK ON; EXIT SQL' -
リアルタイム適用による管理リカバリの開始:
sudo -u oracle bash -c ' . ~/.bash_profile export ORACLE_SID=orcls sqlplus / as sysdba <<SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; EXIT SQL'`USING CURRENT LOGFILE`リアルタイム適用を有効にします(SRLに到着した時点でredoが適用されます)。
ステップ3:redo shippingを有効にする
スタンバイ作成中の `ORA-12154`エラーを抑制するために、スタンバイ初期化手順のステップ2で意図的に `DEFER`に設定されていた `LOG_ARCHIVE_DEST_STATE_2`を有効にすることで、プライマリからスタンバイへのREDO転送を有効にします。
-
LOG_ARCHIVE_DEST_STATE_2`に切り替え `ENABLE、ログスイッチを強制してREDOログの転送を開始します:sudo -u oracle bash -c ' . ~/.bash_profile sqlplus / as sysdba <<SQL ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH; ALTER SYSTEM SWITCH LOGFILE; ALTER SYSTEM ARCHIVE LOG CURRENT; EXIT SQL' -
REDOログの転送が正しく機能していることを確認します。
sudo -u oracle bash -c ' . ~/.bash_profile sqlplus / as sysdba <<SQL SELECT dest_id, status, error FROM v\$archive_dest_status WHERE dest_id IN (1,2); EXIT SQL' # Expected: dest_id=2, STATUS=VALID, ERROR null.`dest_2`が `ORA-12154`を示している場合は、プライマリをバウンスします。xref:gcnv-oracle-data-guard.adoc#enable-broker-on-both-databases[手順1:両方のデータベースでブローカーを有効にする]の後、DGMGRLを介してトランスポートを管理します。
ステップ 4:Data Guard の状態を確認する
プライマリデータベースが READ WRITE モードになっていること、およびスタンバイデータベースがマネージドリカバリでマウントされ、redo ログが適用されていることを確認してください。
-
プライマリ データベース ロールとオープン モードを確認します
oracdb1:sudo -u oracle sqlplus -s / as sysdba \ <<<"SELECT database_role || ' | ' || open_mode FROM v\$database;" # Expected: PRIMARY | READ WRITE -
スタンバイデータベースのロール、オープンモード、および管理リカバリのステータスを `oracdb2`で確認します:
gcloud compute ssh oracdb2 --tunnel-through-iap --zone=us-west1-b sudo -u oracle bash <<'BASH' . ~/.bash_profile export ORACLE_SID=orcls sqlplus -s / as sysdba <<'SQL' SELECT database_role || ' | ' || open_mode FROM v$database; SELECT process, status, sequence# FROM v$managed_standby WHERE process IN ('MRP0','RFS'); EXIT SQL BASHスタンバイで想定される値:
PHYSICAL STANDBY | MOUNTED;MRP0( `APPLYING_LOG`を使用)。 -
スタンバイが `MOUNTED`を報告しているが apply が実行されていない場合は、 `oracdb2`でマネージドリカバリを再起動します:
sudo -u oracle bash -c ' . ~/.bash_profile export ORACLE_SID=orcls sqlplus / as sysdba <<SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; EXIT SQL'
次の手順
自動ロール管理とフェイルオーバー保護を有効にするには、Oracle Data Guard Broker、Fast-Start Failover、およびObserverを設定するに進んでください。