物理復元が完了した後、または物理スタンバイデータベースのシナリオでスタンバイからプライマリへの切り替えを準備する際に、ALTER SYSTEM ACTIVATE STANDBY コマンドを使用して、スタンバイテナントをプライマリテナントとしてアクティブ化できます。
ALTER SYSTEM ACTIVATE STANDBY コマンドが正常に実行されると、元のスタンバイテナントのテナントロールが STANDBY から PRIMARY に変更されます。テナントロールの詳細については、テナントロールの概要を参照してください。
使用上の制限と注意事項
このコマンドの実行には、スタンバイテナントのすべてのログストリームのレプリカがオンラインである必要があります。スタンバイテナントのログストリームのレプリカがオフラインの場合は、対応するレプリカが永続的にオフラインになるまで待ってから実行してください。
このコマンドは、一度に1つのスタンバイテナントしかプライマリテナントにアクティブ化できません。複数のテナントをアクティブ化する必要がある場合は、このコマンドを繰り返し実行する必要があります。
権限要件
sys テナントの root ユーザー(root@sys)または各テナントの管理者ユーザーが実行する必要があります。具体的には:
MySQLモードのデフォルト管理者ユーザーは
rootユーザーです。Oracleモードのデフォルト管理者ユーザーは
SYSユーザーです。
構文
ALTER SYSTEM ACTIVATE STANDBY
[TENANT tenant_name]
[VERIFY [NOWAIT]];
パラメータ説明
パラメータ |
説明 |
|---|---|
| tenant_name | アクティブ化するプライマリテナントとなるスタンバイテナント名を指定します。
注意システムテナントがこのコマンドを実行する場合のみ、 |
| VERIFY | オプションです。このパラメータを使用すると、ACTIVATE STANDBY コマンドの実行に必要な前提条件が満たされているかどうかを事前に確認する検証が実行されます。
注意
|
| NOWAIT | オプションです。VERIFY時に待機せず、条件が満たされていないことが検出された場合には即座にエラーを報告します。
説明V4.4.2 バージョンでは、このパラメータは V4.4.2 BP2 バージョンからサポートされています。 |
例
物理スタンバイデータベースのシナリオで、スタンバイテナントが存在するクラスタのシステムテナントが、スタンバイテナント
tenant1をプライマリテナントとしてアクティブ化します。または、物理バックアップ復元のシナリオで、スタンバイテナントが存在するクラスタのシステムテナントが、新しく復元されたスタンバイテナントtenant1をプライマリテナントとしてアクティブ化してサービスを提供します。obclient [oceanbase]> ALTER SYSTEM ACTIVATE STANDBY TENANT tenant1;物理スタンバイデータベースのシナリオで、スタンバイテナントが自身をプライマリテナントとしてアクティブ化します。または、物理バックアップ復元のシナリオで、スタンバイテナントが自身をプライマリテナントとしてアクティブ化してサービスを提供します。
obclient [SYS]> ALTER SYSTEM ACTIVATE STANDBY;スタンバイテナントでフェイルオーバーを実行し、スタンバイからプライマリへの切り替えを行う前に、事前チェックを実施して、スタンバイテナントが
ACTIVATE STANDBYコマンドを実行するために必要な前提条件を満たしているか確認します。条件に不備がある場合は、直ちにエラーを返します。obclient> ALTER SYSTEM ACTIVATE STANDBY VERIFY NOWAIT;