Oracle Databaseの互換性の概要
アップグレードする前に、アップグレード計画の一環として以前のリリースのOracle Databaseと新しいOracle Databaseリリースの互換性を確認してください。
- Oracle Databaseの互換性の理解
新しい機能に以前のリリースとの互換性がない場合、データベースの互換性が問題の原因であることがあります。 - Oracle DatabaseでのCOMPATIBLE初期化パラメータ設定のタイミング
COMPATIBLE
パラメータの増加は、アップグレードしたデータベースのテストが完了した後にのみ行うことをお薦めします。 - OracleデータベースのCOMPATIBLE初期化パラメータについて
Oracle Database 23cでの非CDBおよびマルチテナント・アーキテクチャ・コンテナのCOMPATIBLE初期化パラメータの設定方法を確認してください。 - Oracle DatabaseのCOMPATIBLE初期化パラメータの値
Oracle Database 23cのCOMPATIBLE初期化パラメータのデフォルト値と最小値を確認してください。 - Oracle Databaseのアップグレードでのダウングレードおよび互換性について
Oracle Database 23cにアップグレードする前に、COMPATIBLE初期化パラメータを19.0.0
以上に設定する必要があります。 - Oracle DatabaseでのCOMPATIBLE初期化パラメータの動作
COMPATIBLE
初期化パラメータによって、リリースの互換性に基づいてOracle Database機能を有効化または無効化できます - Oracle Databaseの互換性レベルの確認
このSQL問合せを使用して、データベースに設定されているCOMPATIBLE初期化パラメータの値を確認します。
Oracle Databaseの互換性の理解
新しい機能に以前のリリースとの互換性がない場合、データベースの互換性が問題の原因であることがあります。
異なるリリースのOracle Databaseソフトウェアで同じ機能がサポートされており、その機能が同様に動作する場合は、リリースが異なってもデータベースには互換性があります。新しいリリースのOracle Databaseへアップグレードする場合、一部の新機能が原因で以前のリリースとの互換性が失われることがあります。
アップグレードしたデータベースで以前のリリースとの互換性が失われるのは、次の場合です。
-
新機能によってディスクに格納されるデータ(データ・ディクショナリの変更を含む)が、以前のリリースでは処理できない場合。
-
既存の機能の動作が、以前の環境と新しい環境とで異なる場合。
親トピック: Oracle Databaseの互換性の概要
Oracle DatabaseでのCOMPATIBLE初期化パラメータ設定のタイミング
COMPATIBLE
パラメータの増加は、アップグレードしたデータベースのテストが完了した後にのみ行うことをお薦めします。
アップグレードが完了したら、COMPATIBLE
初期化パラメータの設定をOracle Databaseの新リリース用に最大レベルに増やすことができます。ただし、COMPATIBLE
パラメータを最大値に設定すると、後でデータベースを以前のリリースにダウングレードできません。
アップグレード期間の後に追加のメンテナンス期間を設けられる場合は、アップグレードしたシステムでアプリケーションを実行し、ダウングレードが不要であることを確認できるように、アップグレードの7日から10日後にCOMPATIBLE
パラメータを増やすことを検討してください。追加のメンテナンス期間を設けられない場合は、アップグレード後にCOMPATIBLE
を増やすか(ダウングレード機能を失う)、メンテナンス期間に近づくまで以前のリリースのCOMPATIBLE設定を引き続き使用し、ダウングレードできるオプションを残します。
親トピック: Oracle Databaseの互換性の概要
Oracle DatabaseのCOMPATIBLE初期化パラメータについて
Oracle Database 23cでの非CDBおよびマルチテナント・アーキテクチャ・コンテナのCOMPATIBLE初期化パラメータの設定方法を確認してください。
Oracle Databaseでは、COMPATIBLE初期化パラメータを使用して、データベースの互換性を制御できます。
- COMPATIBLE初期化パラメータの理解
COMPATIBLE
パラメータの機能、パラメータのリリース値を引き上げるタイミング、およびパラメータを新しいOracleデータベース・リリースに設定した場合に予想される効果について学習します。 - マルチテナント・アーキテクチャのCOMPATIBLEパラメータ設定のルール
PDBを新しいリリースのCDBに接続する場合、CDB$ROOT
COMPATIBLEパラメータ設定によって、PDBのCOMPATIBLEパラメータを変更したり、プラグインを禁止できます。
親トピック: Oracle Databaseの互換性の概要
COMPATIBLE初期化パラメータの理解
COMPATIBLE
パラメータの機能、パラメータのリリース値を引き上げるタイミング、およびパラメータを新しいOracleデータベース・リリースに設定した場合に予想される効果について学習します。
Oracle Database 23cでは、COMPATIBLE初期化パラメータがパラメータ・ファイルで設定されていない場合、COMPATIBLEパラメータ値はデフォルトの23.0.0
になります。COMPATIBLE初期化パラメータを23.0.0
に設定しない場合、アップグレードしたデータベースがOracle Database 23c機能にとって必要なCOMPATIBILITY設定で実行されていないため、Oracle Database 23cの新機能を使用することはできません。
COMPATIBLE値には次の制限に注意してください。
-
直接アップグレードがサポートされているOracle Databaseの最小リリースは、Oracle Database 19c (19.0.0)です。
Oracle Database 21cにアップグレードする前に、
COMPATIBLE
初期化パラメータをOracle Database 23cの最小の互換性設定である19.0.0
以上に設定する必要があります。 -
Oracle Real Application Clusters (Oracle RAC)環境では、Oracle RACクラスタ内の各Oracle Databaseインスタンスは同じ
COMPATIBLE
設定で実行する必要があります。 -
COMPATIBLEパラメータは、ピリオドで区切られた3つ以上の10進数である必要があります。たとえば:
SQL> ALTER SYSTEM SET COMPATIBLE = '23.0.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のCOMPATIBLEが
CDB$ROOT
COMPATIBLEパラメータの設定と同じ。結果: PDB COMPATIBLEパラメータ設定への変更はありません。
-
PDB COMPATIBLEが
CDB$ROOT
COMPATIBLEパラメータ設定より低い。結果: PDB COMPATIBLEパラメータは
CDB$ROOT
と同じCOMPATIBLEパラメータ設定に、自動的に増やされます。PDBに接続した後では、以前のリリースにPDBをダウングレードできません。 -
PDB COMPATIBLEが
CDB$ROOT
COMPATIBLEパラメータ設定より高い。結果: PDBを接続できません。
CDB$ROOT
と同等以下のCOMPATIBLEパラメータを持つPDBだけが、CDBに接続できます。
Oracle DatabaseのCOMPATIBLE初期化パラメータの値
Oracle Database 23cのCOMPATIBLE初期化パラメータのデフォルト値と最小値を確認してください。
COMPATIBLEパラメータのデフォルト値と最小値
Oracle Database 23cへの直接アップグレードがサポートされている最小リリースは、Oracle Database 12cリリース2 (12.2)です。Oracle Database 23cのCOMPATIBLEパラメータの最小値は12.2.0
です。COMPATIBLEパラメータのデフォルト値は23.0.0
です。Oracle Database 23cへの直接アップグレードを使用する前に、ソースOracle DatabaseリリースのCOMPATIBLEパラメータを12.2.0
以上に設定する必要があります。
CDBまたは非CDBインスタンスの場合、リリース更新(RU)または月次推奨パッチ(MRP)のCOMPATIBLEパラメータは変更しないでください。次の表に、直接アップグレードがサポートされている以前のリリースと、Oracle Database 23cのCOMPATIBLEパラメータのデフォルト値と最小値を示します。
注意:
COMPATIBLEパラメータを増やした後、データベースのダウングレードはできません。
以前のリリースのPDBを後のリリースのCDBに接続するときに、COMPATIBLEが以前のリリースのPDBよりも後のリリースに設定されていて、切断/接続/アップグレード手順を使用してPDBをアップグレードすると、アップグレードされたPDBのCOMPATIBILE設定は、後のリリースのCDBのCOMPATIBLE設定に自動的に増加します。
COMPATIBLEパラメータをデフォルトのリリース値以外の値に変更しないでください。次の表に示されているデフォルト値のいずれかのみを使用します。
表1-2 COMPATIBLE初期化パラメータ
Oracle Databaseのリリース | デフォルト値 | 最小値 |
---|---|---|
Oracle Database 23c |
23.0.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のアップグレードでのダウングレードおよび互換性について
Oracle Database 23cにアップグレードする前に、COMPATIBLE初期化パラメータを19.0.0
以上に設定する必要があります。
Oracle Database 23cにアップグレード後、COMPATIBLE初期化パラメータを新しいリリースのリリース番号と一致するように設定できます。このように設定すると、新しいリリースのすべての機能を使用できますが、以前のリリースにダウングレードすることはできません。COMPATIBLE
初期化パラメータがより小さい値に設定されている場合、Oracle Database 23cの機能のサブセットのみを使用できます。
注意:
COMPATIBLEパラメータを現在のリリースに設定すると、データベースを以前のリリースにダウングレードできません。
Oracle DatabaseでのCOMPATIBLE初期化パラメータの動作
COMPATIBLE
初期化パラメータによって、リリースの互換性に基づいてOracle Database機能を有効化または無効化できます
COMPATIBLE
初期化パラメータは、次のように動作します。
-
COMPATIBLE
初期化パラメータによって、機能の使用を有効化または無効化することで、既存のアプリケーションによるデータの使用を保護するために役立ちます。COMPATIBLE
初期化パラメータを19.0.0
に設定してOracle Database 23cのデータベースを実行すると、データベース・ソフトウェアによって、Oracle Databaseリリース19cと互換性のあるデータベース構造がディスクに生成されます。Oracle Databaseのより新しいリリースに含まれる機能の使用を試み、データベースがCOMPATIBLE
初期化パラメータとの互換性を失うと、エラーが発生します。ただし、Oracle Database 19cと互換性のない変更がディスクに作成されない一部の新機能は、有効になります。 -
データベースの
COMPATIBLE
初期化パラメータ設定との互換性をデータベースが失う変更がデータベースに行われると、データベースは起動せず、初期化はエラーで終了します。この問題を解決するには、COMPATIBLE
初期化パラメータを、加えた変更に必要な設定と同等の値に設定します。
参照:
データベース構造の詳細は、Oracle Database概要 を参照
親トピック: Oracle Databaseの互換性の概要
Oracle Databaseの互換性レベルの確認
このSQL問合せを使用して、データベースに設定されているCOMPATIBLE初期化パラメータの値を確認します。
SQL> SELECT name, value FROM v$parameter
WHERE name = 'compatible';
親トピック: Oracle Databaseの互換性の概要