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