OceanBaseクラスタは、アップグレードスクリプトを使用してクラスタをアップグレードできます。アップグレードプロセス全体はアプリケーションに対して非透過的であり、アプリケーションはサーバー側での書き込み停止やサービス停止などの操作を行う必要はありません。OceanBaseクラスタはゾーンの順序に従ってアップグレードされます。アップグレード中、パーティションリーダーは各ゾーン間で切り替え動作を行い、アップグレード対象のゾーンの業務を他のゾーンに誘導して実行します。
このドキュメントでは、OceanBaseデータベースのアップグレード制限、アップグレード時の注意点、アップグレードパスなどの情報について説明します。
注意
OceanBaseデータベースは、V4.2.x系またはそれ以下のバージョンからV4.3.x系へのアップグレードを現在サポートしていません。
アップグレード制限
OceanBaseクラスタをアップグレードする際には、以下の制限があります:
- DDLの禁止:アップグレード中の特定の段階ではDDLを禁止する必要があり、アップグレード完了後に自動的に再開されます。
major freezeの禁止:一部のバージョン間でのアップグレードではコンパクションが禁止され、アップグレード完了後に自動的に再開されます。- 移行レプリケーションとロードバランシングの禁止:一部のバージョン間でのアップグレードでは移行レプリケーションとロードバランシングが禁止されます。
- 物理バックアップ・リカバリの禁止:クラスタのアップグレード中は物理ベースラインバックアップ(ログアーカイブは継続)および物理リカバリは実行されません。
- 新規テナントの作成の禁止。
注意
OceanBaseクラスタがアービトレーションサービスに関連付けられている場合、OceanBaseクラスタのバージョンアップグレードを行う前に、アービトレーションサービスのバージョンをアップグレードする必要があります。アービトレーションサービスのバージョンアップグレードの詳細については、アービトレーションサービスのアップグレードを参照してください。
システムテナントのクエリビューoceanbase.DBA_OB_ARBITRATION_SERVICEを使用して、このOceanBaseクラスタがアービトレーションサービスに関連付けられているかどうかを確認できます。
注意事項
OceanBaseクラスタをアップグレードする際には、以下の点に注意する必要があります:
OceanBase V4.0からV4.1へのアップグレード時には、ログアーカイブが停止します。
アップグレード中に
ADD SERVER/DELETE SERVER操作が必要な場合は、技術サポートにお問い合わせください。OceanBaseの移行バージョンは直接アップグレードできません。
oceanbase_upgrade_dep.ymlファイルに記載されているアップグレードバージョンシーケンスを参照してください。アップグレードスクリプトは、Root Serviceサービスが配置されているobserverプロセスに直接接続して実行する必要があります。OceanBaseデータベースプロキシ(OceanBase Database Proxy、略称:ODP)経由での接続はできません。
アップグレード中には、以下のパラメータの変更が伴う場合があります。アップグレード前にこれらのパラメータをバックアップする必要があります:
V4.3.0 Betaバージョン以降、OceanBaseデータベースはzlib_1.0圧縮アルゴリズムの使用をサポートしません。アップグレード中には、以下の前提条件チェックが実施されます:
- アップグレード中、
log_transport_compress_funcパラメータとしてzlib圧縮アルゴリズムの使用はサポートされなくなりました。他の圧縮アルゴリズムを使用してください。 - アップグレード中、一部のテーブルで
zlib圧縮アルゴリズムが使用されていることが検出された場合は、これらのテーブルの圧縮アルゴリズムを他のサポートされている圧縮アルゴリズムに置き換えるか、アップグレード期間中は圧縮を使用しないようにしてください。 - アップグレード中、OBKV-Table接続の圧縮アルゴリズムとして
zlibを使用することは許可されません。tableapi_transport_compress_funcパラメータを設定して、他の圧縮アルゴリズムを選択してください。
- アップグレード中、
ARMアーキテクチャおよびAVX2(Advanced Vector Extensions 2)命令セットをサポートしていないx86マシンのクラスタでは、カラムストアテーブルを使用したことがある場合(V4.3.0、V4.3.1、V4.3.2のいずれかのバージョンからV4.3.3以降のバージョンへのアップグレードはできません。これは、アップグレード後のデータの正確性リスクを防ぐためです。
V4.3の低バージョンのクラスタをV4.3.3以降のバージョンのクラスタにアップグレードする場合、スタンバイテナントについては、低バージョンのクラスタが高バージョンのクラスタで生成されたログを解読できないため、スタンバイテナントがログをコミットする際にエラーが発生します(エラーのみ報告され、対応するログは永続化されません)。データ復旧の詳細については、復旧前の準備を参照してください。
V4.3.2バージョンのクラスタでバックアップされたテナントは、V4.3.3バージョンのクラスタで復元できません。
V4.2.5 BP3、V4.2.5 BP4、V4.2.5 BP5、V4.3.5 BP1、V4.3.5 BP2、V4.3.5 BP3バージョンでは、X86アーキテクチャ環境での実行に関する命令セット要件が追加されました。OBServerプロセスは起動前に現在の環境がAVX命令セットをサポートしているかどうかをチェックし、その命令セットが欠けている場合は起動を禁止します。AVX命令セットをサポートしていないX86マシン上の旧バージョンのOBServerを上記バージョンにアップグレードすると、起動できなくなったり、ロールバックしたりする可能性があるため、ご注意ください。
説明
OceanBaseデータベースは、以下のバージョン以降、AVX命令セットに対する強制的な依存ポリシーを調整しました:
- V4.3.5バージョンでは、V4.3.5 BP4バージョン以降、AVX命令セットのサポートが強制されなくなりました。
- V4.2.5バージョンでは、V4.2.5 BP6バージョン以降、AVX命令セットのサポートが強制されなくなりました。
- V4.4.0バージョンでは、V4.4.1バージョン以降、AVX命令セットのサポートが強制されなくなりました。
アップグレードの説明
- V4.3.xの各バージョンからV4.3.5 BP3バージョンへのアップグレードがサポートされています。
- V4.2.x系またはそれ以前のバージョンからV4.3.5 BP3バージョンへのアップグレードはサポートされていません。
- V4.3.2以降、マルチソースデータの永続化形式が再構築されたため、アップグレード時に新旧のマルチソースデータ形式を変換する必要があります。パーティション数が多い場合は、十分なアップグレード時間を確保してください。
- 持続的に書き込みが行われるベクトルシナリオでは、インデックスの再構築が必要です。
- V4.3.0/V4.3.1/V4.3.2からV4.3.5 BP3への混合アップグレード中、テナントのリーダーが古いノード上にあるとtransferが失敗するため、transferを正常に実行するにはV4.3.5 BP3バージョンにアップグレードする必要があります。
アップグレードの流れ

説明
- この記事のアップグレードの流れには、OceanBaseデータベースのすべてのバージョンが含まれていません。より多くのバージョンのアップグレード手順については、
oceanbase_upgrade_dep.ymlファイルを参照してください。このファイルには、OceanBaseのバージョンアップグレードのトポロジーが記録されています。 - 対象バージョンのOceanBase RPMパッケージを解凍すると、RPMパッケージが保存されているディレクトリ内に
homeとuseの2つのディレクトリが作成されます。アップグレード関連スクリプトとoceanbase_upgrade_dep.ymlファイルは、home/admin/oceanbase/etcディレクトリに保存されます。
oceanbase_upgrade_dep.yml ファイルを使用してアップグレード手順の詳細情報を確認するには、OceanBaseクラスタのアップグレードの ステップ2:アップグレードプロセスの確認 セクションを参照してください。
アップグレードの流れの意味は以下の通りです:
V4.2.xのパス:
- V4.2.1.2からV4.2.1.9のバージョンは、V4.2.1.10にアップグレードした後、V4.2.5.1にアップグレードできます。
- V4.2.1.2からV4.2.1.9のバージョンは、V4.2.1.11にアップグレードした後、V4.2.5.3およびその後のV4.2.5系バージョンにアップグレードできます。
- バリアバージョン:V4.2.1.2、V4.2.1.10、V4.2.1.11。
V4.3.x系のアップグレードパス:
- V4.3.xの各バージョンからは、直接V4.3.5.5へアップグレードできます。
- 現時点では、V4.2.x系およびそれ以前のバージョンから V4.3.x 系へのアップグレードはサポートされていません。
V4.4.x系のアップグレードパス:
- V4.4.0~V4.4.0.1は、V4.4.1へアップグレードできます。
- 現時点では、V4.2.x系およびそれ以前のバージョンから V4.4.1へのアップグレードはサポートされていません。
V4.5.x系のアップグレードパス:
- V4.4.0~V4.4.1は、V4.5.0へアップグレードできます。
次のステップ
関連ドキュメント
OceanBaseクラウドプラットフォーム(OceanBase Cloud Platform、略称OCP)を使用してOceanBaseクラスタをアップグレードする方法については、バージョンのアップグレードを参照してください。