計画外停止の管理
計画外停止に伴う予想される影響
プライマリまたはスタンバイのGGHubクラスタで計画外停止が発生した場合、GoldenGateの継続的稼働を保証するための手順がいくつかあります。プライマリおよびスタンバイGGHUBシステムの計画外停止が発生した場合のガイドとして、次のGGHUB障害のユースケースを使用してください。
ユース・ケース#1 - スタンバイ・ハブの障害またはプライマリGGHubがスタンバイGGHubと通信できない
プライマリGGHubがスタンバイGGHubと通信できない場合は、次のメッセージがアクティブなクラスタ・ノードのプライマリCRSトレース・ファイル(crsd_scriptagent_grid.trc)に出力されます。
2023-06-21 12:06:59.506 :CLSDYNAM:1427187456: [acfs_primary]{1:8532:12141} [check] Executing action script: /u01/oracle/scripts/acfs_primary.scr[check]
2023-06-21 12:07:05.666 :CLSDYNAM:1427187456: [acfs_primary]{1:8532:12141} [check] WARNING: STANDBY not accessible (attempt 1 of 3))
2023-06-21 12:07:18.683 :CLSDYNAM:1427187456: [acfs_primary]{1:8532:12141} [check] WARNING: STANDBY not accessible (attempt 2 of 3))
2023-06-21 12:07:31.751 :CLSDYNAM:1427187456: [acfs_primary]{1:8532:12141} [check] WARNING: STANDBY not accessible (attempt 3 of 3))
2023-06-21 12:07:31.751 :CLSDYNAM:1427187456: [acfs_primary]{1:8532:12141} [check] WARNING: Problem with STANDBY file system (error: 222)
この時点で、スタンバイ・ファイル・システムはプライマリ・ファイル・システムの変更を受信しなくなります。プライマリ・ファイル・システムとOracle GoldenGateは障害なく機能し続けます。
このシナリオでは、次のアクション・プランを使用します。
- コマンド'acfsutil repl util verifystandby /mnt/acfs_gg –v'を使用して、スタンバイ・ファイル・システムを確認し、スタンバイ・ハブにアクセスできない理由を特定します。
- 通信エラーの原因を修正すると、スタンバイは未処理のプライマリ・ファイル・システムの変更の適用を自動的に取り入れます。警告メッセージはCRSトレース・ファイルに報告されなくなり、次に示すメッセージに置き換えられます。
2023-06-21 12:15:01.720 :CLSDYNAM:1427187456: [acfs_primary]{1:8532:12141} [check] SUCCESS: STANDBY file system /mnt/acfs_gg is ONLINE
ユース・ケース#2 - プライマリGGHubの障害またはスタンバイGGHubがプライマリGGHubと通信できない
スタンバイGGHubがプライマリGGHubと通信できない場合は、次のメッセージがアクティブなクラスタ・ノードのスタンバイCRSトレース・ファイル(crsd_scriptagent_grid.trc)に出力されます。
2023-06-21 12:24:03.823 :CLSDYNAM:4156544768: [acfs_standby]{1:10141:2} [check] Executing action script: /u01/oracle/scripts/acfs_standby.scr[check]
2023-06-21 12:24:06.928 :CLSDYNAM:4156544768: [acfs_standby]{1:10141:2} [check] WARNING: PRIMARY not accessible (attempt 1 of 3)
2023-06-21 12:24:19.945 :CLSDYNAM:4156544768: [acfs_standby]{1:10141:2} [check] WARNING: PRIMARY not accessible (attempt 2 of 3)
2023-06-21 12:24:32.962 :CLSDYNAM:4156544768: [acfs_standby]{1:10141:2} [check] WARNING: PRIMARY not accessible (attempt 3 of 3)
2023-06-21 12:24:32.962 :CLSDYNAM:4156544768: [acfs_standby]{1:10141:2} [check] WARNING: Problem with PRIMARY file system (error: 222)
この時点では、スタンバイ・ファイル・システムがプライマリ・ファイル・システムからファイル・システムの変更を受信している可能性はほとんどありません。
このシナリオでは、次のアクション・プランを使用します。
- コマンド'acfsutil repl util verifyprimary /mnt/acfs_gg -v'を使用して、プライマリ・ファイル・システムを確認し、プライマリ・ハブにアクセスできない理由を特定します。
- プライマリ・ファイル・システム・クラスタが停止して再起動できない場合は、スタンバイGGHubでACFSフェイルオーバーを発行します。
[grid@gghub_stby1]$ /sbin/acfsutil repl failover /mnt/acfs_gg # Specify the correct mount point [grid@gghub_stby1]$ acfsutil repl info -c -v /mnt/acfs_gg |egrep 'Site:|Primary status|Background Resources:' Site: Primary Primary status: Running Background Resources: Active
- 次のコマンドを実行して、新しいプライマリ・ハブで開始するacfs_primaryリソースを準備し、GoldenGateを再起動します。
[grid@gghub_stby1]$ echo "RESTART" > /mnt/acfs_gg/status/acfs_primary [grid@gghub_stby1]$ agctl start goldengate <instance_name> # Specify the GoldenGate instance name [grid@gghub_stby1]$ agctl status goldengate Goldengate instance '<instance_name>' is running on gghubstby-node1
- 古いプライマリ・ファイル・システムがオンラインに戻ったときに、新しいプライマリと古いプライマリとの接続が再開されると、古いプライマリ・ファイル・システムは自動的にスタンバイに変換されます。
- 古いプライマリ・ファイル・システムがオンラインに戻っても、プライマリ・ファイル・システムとスタンバイ・ファイル・システム間の接続が確立できない場合、acfs_primaryリソースはノードがクラッシュしたことを検出し、スタンバイへの接続を確認できないため、GoldenGateは起動されません。2つのファイル・システムが相互に通信できないため、それらの両方がプライマリであると認識される「スプリット・ブレイン」を回避できます。
ユース・ケース#3 - 二重障害のケース: プライマリGGHubの障害とスタンバイGGHubの接続失敗
プライマリGGHubがクラッシュし、オンラインに戻ったときにスタンバイ・ファイル・システムとの通信を確立できない場合は、次に示すのメッセージがアクティブ・クラスタ・ノードのプライマリCRSトレース・ファイル(crsd_scriptagent_grid.trc)に出力されます。
2023-06-21 17:08:52.621:[acfs_primary]{1:40360:36312} [start] WARNING: PRIMARY file system /mnt/acfs_gg previously crashed
2023-06-21 17:08:55.678:[acfs_primary]{1:40360:36312} [start] WARNING: STANDBY not accessible - disabling acfs_primary
プライマリ・ファイル・システムを手動で再起動しようとすると、CRSトレース・ファイルに、さらにメッセージが出力されます。
2023-06-21 17:25:54.224:[acfs_primary]{1:40360:37687} [start] WARNING:
PRIMARY /mnt/acfs_gg disabled to prevent split brain
このシナリオでは、次のアクション・プランを使用します。
- コマンド'acfsutil repl util verifystandby /mnt/acfs_gg -v'を使用して、スタンバイ・ファイル・システムを確認し、スタンバイ・ハブにアクセスできない理由を特定します。
- スタンバイ・ファイル・システムとの通信を再確立できる場合は、プライマリ・ハブでGoldenGateを再起動します。
[grid@gghub_prim1]$ agctl start goldengate <instance_name> # Specify the GoldenGate instance name [grid@gghub_prim1]$ agctl status goldengate Goldengate instance '<instance_name>' is running on gghub_prim1
- スタンバイ・ファイル・システムとの通信を再確立できない場合は、次のコマンドを使用して、プライマリ・ハブでGoldenGateを再起動します。
[grid@gghub_prim1]$ echo "RESTART" > /mnt/acfs_gg/status/acfs_primary [grid@gghub_prim1]$ agctl start goldengate <instance_name> # Specify the GoldenGate instance name [grid@gghub_prim1]$ agctl status goldengate Goldengate instance '<instance_name>' is running on gghub_prim1
- スタンバイ・ファイル・システムとの通信がリストアされると、ACFSレプリケーションはプライマリ・ファイル・システムの変更を引き続きレプリケートします。