Oracle Databaseの互換性の概要

アップグレードする前に、アップグレード計画の一環として以前のリリースのOracle Databaseと新しいOracle Databaseリリースの互換性を確認してください。

Oracle Databaseの互換性の理解

新しい機能に以前のリリースとの互換性がない場合、データベースの互換性を更新すると問題が発生する可能性があります。

異なるリリースのOracle Databaseソフトウェアで同じ機能がサポートされており、その機能が同様に動作する場合は、リリースが異なってもデータベースには互換性があります。新しいリリースのOracle Databaseへアップグレードする場合、一部の新機能が原因で以前のリリースとの互換性が失われることがあります。

アップグレードしたデータベースで以前のリリースとの互換性が失われるのは、次の場合です。

  • 新機能によってディスクに格納されるデータ(データ・ディクショナリの変更を含む)が、以前のリリースでは処理できない場合。
  • 既存の機能の動作が、以前の環境と新しい環境とで異なる場合。

Oracle DatabaseでのCOMPATIBLE初期化パラメータ設定のタイミング

COMPATIBLEパラメータの増加は、アップグレードしたデータベースのテストが完了した後にのみ行うことをお薦めします。

ノート:

Oracle Database 23aiリリース更新6の新規インストールの場合、データベースではCOMPATIBLEがデフォルトで23.6.0に設定されます。COMPATIBLEを以前のリリースに変更することはできません。Oracle Database 23aiでのCOMPATIBLE設定のデフォルト動作の変更(COMPATIBLE初期化パラメータの理解」を参照)

アップグレードが完了したら、COMPATIBLE初期化パラメータの設定をOracle Databaseの新リリース用に最大レベルに増やすことができます。ただし、COMPATIBLEパラメータを最大値に設定すると、後でデータベースを以前のリリースにダウングレードできません。

Oracle Database 19cおよびOracle Database 21cからのアップグレードでは、アップグレード期間の後に追加のメンテナンス期間を設けられる場合は、アップグレードしたシステムでアプリケーションを実行し、ダウングレードが不要であることを確認できるように、アップグレードの7日から10日後にCOMPATIBLEパラメータを増やすことを検討してください。追加のメンテナンス期間を設けられない場合は、アップグレード後にCOMPATIBLEを増やすか、メンテナンス期間に近づくまで以前のリリースのCOMPATIBLE設定を引き続き使用し、ダウングレードできるオプションを残します。

ノート:

一般に、より互換性のある設定を必要とする新機能を有効にする必要がある場合を除き、リリース更新(RU)のCOMPATIBLEパラメータの値は変更しないでください。その場合、RUで使用可能な新機能を使用するには、COMPATIBLE設定を値major-release.release-updateに更新します。Oracle Database 23aiリリース更新23.4および23.5のパッチ適用では、Oracle Database 23aiでロールアウトされた新機能に対応するために、若干異なるルールが適用されます。

たとえば、Oracle Database 23aiリリース更新23.4または23.5を実行しており、COMPATIBLEの値が23.0.0であるとします。その後、Oracle Databaseリリース更新23.6.0.0.0を適用します。COMPATIBLEの値を23.6.0に設定しないでください。Oracle AI Vector Searchなどのリリース更新23.6で使用可能な新機能を有効にする場合を除き、23.0.0に設定したままにします。次のリリース更新では、後のリリース更新にある新機能を使用する必要がある場合以外は、COMPATIBLEを23.0.0に設定したままにします。リリース更新23.8で使用可能な機能を使用し、その機能で互換性のある設定を変更する必要があるとします。その場合は、リリース更新を適用した後、COMPATIBLEを23.8.0に変更します。

Oracle DatabaseのCOMPATIBLE初期化パラメータについて

Oracle Database 23aiでの非CDBおよびマルチテナント・アーキテクチャ・コンテナのCOMPATIBLE初期化パラメータの設定方法を確認してください。

Oracle Databaseでは、COMPATIBLE初期化パラメータを使用して、データベースの互換性を制御できます。

COMPATIBLE初期化パラメータの理解

COMPATIBLEパラメータの機能、パラメータのリリース値を引き上げるタイミング、およびパラメータを新しいOracleデータベース・リリースに設定した場合に予想される効果について学習します。

COMPATIBLEのデフォルト設定では、データベースで使用可能な機能を決定するデータベースのリリース互換性設定が設定されます。新しいデータベース機能を使用するには、COMPATIBLEパラメータ設定を新しいデータベース・リリースに変更します。

注意:

Oracle Database 23aiでは、デフォルトのCOMPATIBLE設定値は、アップグレード・シナリオおよびアップグレード先のOracle Database 23aiリリース更新によって異なります。COMPATIBLEパラメータがアップグレードされると、COMPATIBLEを下位レベルの互換性に変更できません。
  • Oracle Database 23aiリリース更新23.6の新規インストール: データベースは、デフォルトで23.6.0に設定されたCOMPATIBLEパラメータを使用してインストールされます。COMPATIBLEパラメータを下位レベルにダウングレードすることはできません。
  • Oracle Database 23aiリリース更新23.4および23.5からのパッチ: データベースのCOMPATIBLEパラメータは、パッチ適用前に設定したままです(23.0.0または23.4.0または23.5.0)。ただし、Oracle AI Vector Searchの新機能を使用するには、COMPATIBLEパラメータを23.6.0に更新する必要があります。23.4より前のOracle Databaseリリースの更新にはパッチを適用またはアップグレードできません。
  • Oracle Database 19cまたは21cからOracle Database 23aiへのアップグレード: COMPATIBLEの設定は、ソース・データベースでの設定のままです。ただし、新しいOracle AI Vector Search機能を使用するには、アップグレードしたデータベースのCOMPATIBLEパラメータを23.6.0に手動で設定する必要があります。

COMPATIBLE値には次の制限に注意してください。

  • 直接アップグレードがサポートされているOracle Databaseの最小リリースは、Oracle Database 19c (19.0.0)です。

    Oracle Database 23aiにアップグレードする前に、COMPATIBLE初期化パラメータをOracle Database 23aiの最小の互換性設定である19.0.0以上に設定する必要があります。

  • Oracle Real Application Clusters (Oracle RAC)環境では、Oracle RACクラスタ内の各Oracle Databaseインスタンスは同じCOMPATIBLE設定で実行する必要があります。

  • COMPATIBLEパラメータは、ピリオドで区切られた3つ以上の10進数である必要があります。たとえば:

    SQL> ALTER SYSTEM SET COMPATIBLE = '23.6.0' SCOPE=SPFILE;

    COMPATIBLE設定に、小数点以下3桁のみを使用することをお薦めします。

  • COMPATIBLEパラメータを増やした後は、データベースをダウングレードすることも、リストア・ポイントにフラッシュバックすることもできません。

注意:

COMPATIBLEパラメータを現在のリリース・レベルに設定するのは、アップグレードしたデータベースを完全にテストした後にのみ行うことをお薦めします。

COMPATIBLEパラメータを増やした後、そのリリースからのアップグレードはサポートされていても、以前のリリースにダウングレードすることはサポートされない可能性があることに注意してください。

以前のリリースのPDBを後のリリースのCDBに接続するときに、COMPATIBLEが以前のリリースのPDBよりも後のリリースに設定されていて、切断/接続/アップグレード手順を使用してPDBをアップグレードすると、アップグレードされたPDBのCOMPATIBILE設定は、後のリリースのCDBのCOMPATIBLE設定に自動的に更新されます。PDBのCOMPATIBLE設定は、常にCDB$ROOTと同じにする必要があります。

マルチテナント・アーキテクチャでのCOMPATIBLEパラメータ設定のルール

PDBを新しいリリースのCDBに接続する場合、CDB$ROOT COMPATIBLEパラメータ設定によって、PDB COMPATIBLEパラメータを変更したり、プラグインを禁止できます。

コンテナ・データベース(CDB)のCOMPATIBLEパラメータは、そのコンテナ・データベースに接続されているプラガブル・データベース(PDB)のCOMPATIBLEパラメータ設定に影響します。PDBをCDBに接続したときに発生する次のシナリオを確認してください。

  • PDBのCOMPATIBLECDB$ROOT COMPATIBLEパラメータの設定と同じ。

    結果: PDB COMPATIBLEパラメータ設定への変更はありません。

  • PDB COMPATIBLECDB$ROOT COMPATIBLEパラメータ設定より低い。

    結果: PDB COMPATIBLEパラメータはCDB$ROOTと同じCOMPATIBLEパラメータ設定に、自動的に増やされます。PDBに接続した後では、以前のリリースにPDBをダウングレードできません。

  • PDB COMPATIBLECDB$ROOT COMPATIBLEパラメータ設定より高い。

    結果: PDBを接続できません。CDB$ROOTと同等以下のCOMPATIBLEパラメータを持つPDBだけが、CDBに接続できます。

Oracle DatabaseのCOMPATIBLE初期化パラメータの値

Oracle Database 23aiのCOMPATIBLE初期化パラメータのデフォルト値と最小値を確認してください。

COMPATIBLEパラメータのデフォルト値と最小値

Oracle Database 23aiへの直接アップグレードがサポートされている最小リリースは、Oracle Database 19cです。Oracle Database 23aiのCOMPATIBLEパラメータの最小値は19.0.0です。リリース更新(RU) 23.6までのOracle Database 23aiリリース更新では、COMPATIBLEパラメータのデフォルト値は23.0.0です。RU 23.6では、互換性設定が23.6.0に変更されています。

Oracle Database 23aiへの直接アップグレードを使用する前に、ソースOracle DatabaseリリースのCOMPATIBLEパラメータを19.0.0以上に設定する必要があります。

リリース更新(RU)または月次推奨パッチ(MRP)のCOMPATIBLEパラメータは変更しないでください。次の表に、直接アップグレードがサポートされている以前のリリースと、Oracle Database 23aiのCOMPATIBLEパラメータのデフォルト値と最小値を示します。

注意:

デフォルトでは、Oracle Database 23aiリリース更新23.6の新規データベース・インストールでは、互換性が23.6.0に設定されています。

COMPATIBLEパラメータを増やした後、データベースのダウングレードはできません。

以前のリリースのPDBを後のリリースのCDBに接続するときに、COMPATIBLEが以前のリリースのPDBよりも後のリリースに設定されていて、切断/接続/アップグレード手順を使用してPDBをアップグレードすると、アップグレードされたPDBのCOMPATIBILE設定は、後のリリースのCDBのCOMPATIBLE設定に自動的に増加します。

COMPATIBLEパラメータをデフォルトのリリース値以外の値に変更しないでください。次の表に示されているデフォルト値のいずれかのみを使用します。

表1-2 COMPATIBLE初期化パラメータ

Oracle Databaseのリリース デフォルト値 最小値

Oracle Database 23ai

23.6.0

19.0.0

Oracle Database 21c

21.0.0

12.2.0

Oracle Database 19c

19.0.0

11.2.0

Oracle Database 18c

18.0.0

11.2.0

Oracle Database 12cリリース2 (12.2)

12.2.0

11.2.0

Oracle Databaseのアップグレードでのダウングレードおよび互換性について

Oracle Database 23aiにアップグレードする前に、COMPATIBLE初期化パラメータを19.0.0以上に設定する必要があります。

Oracle Database 23aiにアップグレードまたはパッチ適用後、COMPATIBLE初期化パラメータを新しいリリースのリリース番号と一致するように設定できます。このように設定すると、新しいリリースのすべての機能を使用できますが、以前のリリースにダウングレードすることはできません。COMPATIBLE初期化パラメータがより小さい値に設定されている場合は、Oracle Database 23aiの機能のサブセットのみを使用できます。

注意:

COMPATIBLEパラメータを現在のリリースに増加した後は、データベースを以前のリリースにダウングレードできません。Oracle Database 23aiの新規インストールでは、デフォルトのCOMPATIBLEパラメータ設定は23.6.0です。

Oracle DatabaseでのCOMPATIBLE初期化パラメータの動作

COMPATIBLE初期化パラメータによって、リリースの互換性に基づいてOracle Database機能を有効化または無効化できます

COMPATIBLE初期化パラメータは、次のように動作します。

  • COMPATIBLE初期化パラメータによって、機能の使用を有効化または無効化することで、既存のアプリケーションによるデータの使用を保護するために役立ちます。

    COMPATIBLE初期化パラメータを19.0.0に設定してOracle Database 23aiのデータベースを実行すると、データベース・ソフトウェアによって、Oracle Databaseリリース19cと互換性のあるデータベース構造がディスクに生成されます。Oracle Databaseのより新しいリリースに含まれる機能の使用を試み、データベースがCOMPATIBLE初期化パラメータとの互換性を失うと、エラーが発生します。ただし、Oracle Database 19cと互換性のない変更がディスクに作成されない一部の新機能は、有効になります。

  • データベースのCOMPATIBLE初期化パラメータ設定との互換性をデータベースが失う変更がデータベースに行われると、データベースは起動せず、初期化はエラーで終了します。この問題を解決するには、COMPATIBLE初期化パラメータを、加えた変更に必要な設定と同等の値に設定します。

参照:

データベース構造の詳細は、Oracle Database概要 を参照