リストアされたスタンバイテナントをプライマリテナントに切り替えた後、低バージョンのバックアップデータを高バージョンのクラスタに復元した場合は、そのテナントをアップグレードする必要があります。
使用上の制限
現在、OceanBaseデータベースV4.1.0.0以降のバージョンでのみ、リストア完了後に以下の方法でテナントをアップグレードできます。
クイックリストアではこの機能はサポートされていません。
前提条件
リストアされたスタンバイテナントは既にプライマリテナントに切り替えられています。リストアされたスタンバイテナントをプライマリテナントに切り替える詳細な操作については、スタンバイテナントからプライマリテナントへの切り替えを参照してください。
手順
rootユーザーで、新しくリストアされたテナントが存在するクラスタのsysテナントにログインします。アップグレードコマンドを実行してテナントをアップグレードします。
ステートメントは以下のとおりです:
ALTER SYSTEM RUN UPGRADE JOB "UPGRADE_ALL" TENANT = tenant_name;ここで、
tenant_nameは新しくリストアされたテナント名です。複数のリストアされたテナントを同時にアップグレードすることも可能で、複数のテナント名は半角カンマ(,)で区切ります。アップグレード後、現在のクラスタのバージョン番号に応じて、以下のステートメントを実行し、テナントが正常にアップグレードされたかどうかを確認します。
現在のクラスタがV4.2.1.1未満の場合
クエリ例は以下のとおりです:
obclient [(none)]> SELECT distinct(value) FROM oceanbase.GV$OB_PARAMETERS WHERE tenant_id =1004;ここで、
1004は確認対象のテナントのtenant_idであり、tenant_idはDBA_OB_TENANTSビューをクエリすることで取得できます。実行が成功した場合、クエリ結果が1行であり、かつ
valueに現在のクラスタの4文字のバージョン番号(例:4.2.1.0)が表示されていれば、テナントのアップグレードは成功です。現在のクラスタがV4.2.1.1以上の場合
クエリ例は以下のとおりです:
obclient [(none)]> SELECT count(*) FROM oceanbase.DBA_OB_CLUSTER_EVENT_HISTORY WHERE event = 'UPGRADE_ALL' AND value3 ='4.2.1.1' AND value5 = '1004';ここで:
4.2.1.1は、現在のクラスタの4文字のバージョン番号を表します。1004は確認待ちのテナントのtenant_idです。tenant_idはビューDBA_OB_TENANTSをクエリすることで取得できます。
クエリ結果が
0以外の場合、テナントのアップグレードに成功したことを意味します。