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