Switchover

セカンダリMySQLインスタンスの1つをプライマリ・インスタンスとして手動でプロモートできます。これはスイッチオーバーと呼ばれます。

スイッチオーバーを実行すると、優先配置は、プライマリ・インスタンスの新しく選択された配置に変更されます。つまり、プライマリ・インスタンスの現在の配置は、優先配置と同じです。DBシステム・エンドポイントのIPアドレスは変更されません。スイッチオーバーでは、プライマリ・インスタンスが新しく昇格されたインスタンスにリダイレクトされるまで、短い停止時間が発生します。データベース接続を再オープンする必要があります。

スイッチオーバー・プロセスは次のとおりです:

  • 実行中のトランザクションは完了できます。スイッチオーバー・プロセスは、実行中のすべてのトランザクションが終了してコミットされるまで待機します。
  • 新しいトランザクションが受け入れられ、読取りと書込みを実行できます。ただし、MySQLインスタンスが新しいプライマリ・インスタンスとして昇格されて、前のプライマリ・インスタンスとの接続が切断されると、コミットされていないトランザクションはすべてロールバックされます。
  • DBシステムのエンドポイントは、新しくプロモーションされたプライマリ・インスタンスに割り当てられます。
  • 前のプライマリ・インスタンスに対する既存の接続は閉じられます。クライアント・アプリケーションは接続を再オープンする必要があります。
ノート

スイッチオーバー後、新しいプライマリの現在のバイナリ・ログ・ファイル名と位置が古いプライマリと異なる場合があります。各インスタンスのバイナリ・ログは独立して管理されるため、バイナリ・ログに記録された各トランザクションは、異なるバイナリ・ログ・ファイルと異なるインスタンスの位置に書き込まれる可能性があります。

スイッチオーバー・シナリオ

次のシナリオでスイッチオーバーを使用できます:

  • アプリケーション・テスト: 新しく昇格したプライマリ・インスタンスでアプリケーションが正常に動作することを確認します。
  • 可用性ドメインの近接性: フォルト・ドメインが同じデータ・センター内に存在しますが、可用性ドメインは異なるデータ・センターに分散されます。これらの可用性ドメインは低レイテンシ・ネットワークで接続されていますが、場合によっては、プライマリ・インスタンスを可用性ドメインに移動することでレイテンシをテストして、プライマリ・インスタンスの最適な場所を確認する必要があります。たとえば、接続するアプリケーションと同じ可用性ドメイン内のインスタンスへの切替えです。

HeatWave Clusterのサポート

スイッチオーバーを実行すると、以前のプライマリ・インスタンスにアタッチされたHeatWaveクラスタが削除され、新しいHeatWaveクラスタが新しいプライマリ・インスタンスにアタッチされます。

スイッチオーバーを実行すると、HeatWaveクラスタにオフロードされた長時間実行問合せが中断されることがあります。この場合、HeatWaveクラスタの準備ができたら、問合せを再接続して再実行する必要があります。

コンソールを使用した場合

コンソールを使用して、セカンダリMySQLインスタンスをプライマリ・インスタンスとしてプロモートします。

このタスクでは次が必要です:
  • 高可用性が有効になっている、実行中のDBシステム。
現在のプライマリ・インスタンスからセカンダリ・インスタンスの1つに切り替えるには、次を実行します:
  1. ナビゲーション・メニューを開きます。HeatWaveで、「DBシステム」をクリックします。
  2. 「リスト範囲」からコンパートメントを選択します。
  3. DBシステムのリストで、切り替えるDBシステムを見つけて、次のいずれかを実行します:
    • Choose Switchover from the Actions menu on the same line as the DB system.
    • DBシステムの名前をクリックして、DB Systemの詳細ページを開きます。「その他のアクション」メニューから「スイッチオーバー」を選択します。
  4. 「スイッチオーバー」ダイアログ・ボックスで、設定に応じて、切替え先のインスタンスが含まれる可用性ドメインまたはフォルト・ドメインを選択します。
  5. 「スイッチオーバー」をクリックします。
DBシステムのステータスが「更新中」に変わり、選択したインスタンスがプライマリになります。

CLIの使用

コマンドライン・インタフェースを使用して、セカンダリMySQLインスタンスをプライマリ・インスタンスに昇格します。

このタスクでは次が必要です:
  • 高可用性が有効になっている、実行中のDBシステムのOCID。
  • DBシステムの更新を許可するポリシー。
  • 適切に構成されたCLIインストール。コマンドライン・インタフェースを参照してください。
現在のプライマリ・インスタンスからセカンダリ・インスタンスの1つに切り替えるには、次を実行します:
  1. コマンドライン・インタフェースを開き、現在のリージョン内のすべての可用性ドメインをリストします:
    oci iam availability-domain list
  2. 目的のMySQLインスタンスにスイッチオーバーします。
    • 複数可用性ドメインの場合:
      oci mysql db-system update --db-system-id <DBSystemOCID> --availability-domain <SelectedAvailabilityDomain>
    • 単一可用性ドメインの場合:
      oci mysql db-system update --db-system-id <DBSystemOCID> --fault-domain <SelectedFaultDomain>

    説明

    • db-system-id: DBシステムのOCIDを指定します。
    • availability-domain: プライマリにプロモートするセカンダリMySQLインスタンスが存在する可用性ドメインの名前を指定します。
    • fault-domain: プライマリにプロモートするセカンダリMySQLインスタンスが存在するフォルト・ドメインの名前を指定します。
DBシステムのステータスが「更新中」に変わり、選択した可用性ドメインまたはフォルト・ドメイン内のインスタンスがプライマリ・インスタンスおよび読取り/書込みエンドポイントになります。