スイッチオーバー
プライマリ・インスタンスとしてMySQLインスタンスの1つを手動で選択できます。これはスイッチオーバーと呼ばれます。
現在の配置がスイッチオーバーで変更されない場合、停止時間は発生しません。これは、既存のプライマリ・インスタンスにスイッチオーバーしたときに発生します。これにより、優先配置を現在の配置に変更できます。
アクティビティが少ない期間にスイッチオーバーを実行するか、可能な場合はDBシステムで書込み操作を削減または一時停止することをお薦めします。大規模または長時間実行トランザクションが適用されている間は、スイッチオーバーを実行しないでください。
- 新しいトランザクションは、スイッチオーバーが開始されてからブロックされます。
- 実行中のトランザクションは、実行を続行できます。5分後、コミット状態に達していないトランザクションは中止され、ロールバックされます。すでにコミット状態に入っているトランザクションは、完了できます。スイッチオーバー・プロセスは、実行中のすべてのトランザクションが完了し、MySQLによって中断されたトランザクションのロールバックが終了するまで待機します。
大規模または長時間実行されるトランザクションおよびシステム負荷が高いと、トランザクションの完了またはロールバックに必要な時間が長くなる可能性があります。この間、新規トランザクションはブロックされたままです。したがって、スイッチオーバーの完了には5分以上かかることがあります。
- DBシステム・エンドポイントは、実行中のすべてのトランザクションが完了し、中断されたトランザクションのロールバックが終了した直後に、新しく昇格されたプライマリ・インスタンスに割り当てられます。
- 前のプライマリ・インスタンスに対する既存の接続は閉じられます。クライアント・アプリケーションは、新しい接続を再オープンする必要があります。
- 実行中のトランザクションは完了できます。スイッチオーバー・プロセスは、実行中のすべてのトランザクションが終了してコミットされるまで待機します。
- 新しいトランザクションが受け入れられ、読取りと書込みを実行できます。ただし、MySQLインスタンスが新しいプライマリ・インスタンスとして昇格されて、前のプライマリ・インスタンスとの接続が切断されると、コミットされていないトランザクションはすべてロールバックされます。
- DBシステムのエンドポイントは、新しく昇格されたプライマリ・インスタンスに割り当てられます。
- 前のプライマリ・インスタンスに対する既存の接続は閉じられます。クライアント・アプリケーションは、新しい接続を再オープンする必要があります。
スイッチオーバー後、新しいプライマリの現在のバイナリ・ログ・ファイル名および位置が古いプライマリと異なる場合があります。各インスタンスのバイナリ・ログは個別に管理されるため、バイナリ・ログに記録された各トランザクションは、異なるバイナリ・ログ・ファイルと異なるインスタンス内の位置に書き込まれる場合があります。
スイッチオーバー・シナリオ
次のシナリオでスイッチオーバーを使用できます:
- アプリケーション・テスト: 新しく昇格したプライマリ・インスタンスでアプリケーションが正常に動作することを確認します。
- 可用性ドメインの近く: フォルト・ドメインが同じデータ・センター内に存在しますが、可用性ドメインは異なるデータ・センターに分散されます。これらの可用性ドメインは低レイテンシ・ネットワークで接続されていますが、場合によっては、プライマリ・インスタンスを可用性ドメイン間で移動することでレイテンシをテストして、プライマリ・インスタンスの最適な場所を確認する必要があります。たとえば、接続するアプリケーションと同じ可用性ドメイン内のインスタンスへのスイッチングです。
HeatWaveクラスタのサポート
スイッチオーバーで現在の配置が変更されると、HeatWaveクラスタは前のプライマリ・インスタンスからデタッチされます。新しいプライマリ・インスタンスが前のプライマリ・インスタンスと同じ可用性ドメイン(AD)にある場合、同じHeatWaveクラスタが再利用され、新しいプライマリ・インスタンスにアタッチされます。新しいプライマリ・インスタンスが別のADにある場合、既存のHeatWaveクラスタは削除されます。新しいHeatWaveクラスタは、新しいプライマリ・インスタンスと同じADに作成する必要があり、新しいプライマリ・インスタンスにアタッチされます。HeatWaveクラスタ内のデータは、ストレージ・レイヤーから自動的にリカバリされるか、DBシステムまたはレイクハウス・オブジェクト・ストレージからリロードされます。
スイッチオーバーの現在の配置が変更されると、HeatWaveクラスタにオフロードされた長時間実行問合せが中断される可能性があります。この場合、HeatWaveクラスタの準備ができたら、問合せを再接続して再実行する必要があります。
- コンソールの使用
- CLIの使用
- REST APIを使用して、
availabilityDomainまたはfaultDomain属性を指定してUpdateDbSystem操作を実行します。
コンソールの使用
コンソールを使用して、セカンダリMySQLインスタンスをプライマリ・インスタンスとしてプロモートします。
- 高可用性が有効になっている、実行中のDBシステム。
CLIの使用
コマンドライン・インタフェースを使用して、セカンダリMySQLインスタンスをプライマリ・インスタンスに昇格します。
- 高可用性が有効になっている、実行中のDBシステムのOCID。
- DBシステムの更新を許可するポリシー。
- 適切に構成されたCLIインストール。コマンドライン・インタフェースを参照してください。