Oracle Databaseクライアントまたはサーバー・ソフトウェアをアップグレードする場合のアプリケーションの互換性規則
Oracle Databaseクライアントまたはサーバー・ソフトウェアのアップグレード時に、互換性規則が適用されます。
互換性規則は、実行するソフトウェア・アップグレードのタイプおよびクライアント/サーバー構成のタイプに基づきます。
ノート:
この項では、「ソフトウェアのアップグレードおよびクライアントとサーバー構成」で説明する用語を使用しています。
- Oracle Databaseサーバー・ソフトウェアのアップグレードに対する規則
Oracle Databaseのサーバー・ソフトウェアのアップグレード時には、データベース環境に応じて様々な規則が適用されます。 - Oracle Databaseクライアント・ソフトウェアのアップグレード
サーバー・ソフトウェアとクライアント・ソフトウェアのリリース番号を同じにしておくと、アプリケーションの最大の安定性を得ることができます。
Oracle Databaseサーバー・ソフトウェアのアップグレードに対する規則
Oracle Databaseのサーバー・ソフトウェアのアップグレード時には、データベース環境に応じて様々な規則が適用されます。
- クライアント環境を変更しない場合、再リンクは不要
アップグレード後にアプリケーションを再リンクする必要があるかどうかを判断するには、これらのシナリオを参照してください。 - Oracle Databaseサーバーの新/旧リリースでアプリケーションの実行が可能
データベース・サーバーに対してプリコンパイラまたはOCIアプリケーションを実行する場合、クライアント・ソフトウェア・リリース以上のリリースのデータベース・サーバー・ソフトウェアを使用することをお薦めします。
クライアント環境を変更しない場合、再リンクは不要
アップグレード後にアプリケーションを再リンクする必要があるかどうかを判断するには、これらのシナリオを参照してください。
クライアントとサーバーが異なるコンピュータにあるか、または同じコンピュータの異なるOracleホーム・ディレクトリにあるときに、クライアント・ソフトウェアを変更しないでOracle Databaseサーバー・ソフトウェアをアップグレードする場合は、アプリケーションをプリコンパイル、コンパイルまたは再リンクする必要はありません。
この一連のシナリオでは、Oracle Databaseを使用するクライアント・ソフトウェアは、サーバー・ソフトウェアとは異なる場所にあり、クライアント・ソフトウェアはアップグレードの直接の影響を受けずに動作し続けます。
ただし、アプリケーションがOracle Databaseサーバーと同じOracleホームを使用している場合は、サーバーをアップグレードするとクライアント・ソフトウェアもアップグレードされます。この場合、Oracle Databaseクライアント・ソフトウェアのアップグレードの規則に従う必要があります。
ノート:
両方のバイナリで同じOracleホームを使用している場合、新しいプリコンパイラまたはOCIクライアント・ソフトウェアはインストールせずに、Oracle Databaseサーバー・ソフトウェアをアップグレードできます。この場合、クライアント・ソフトウェアはアップグレードされません。ただし、この構成はお薦めしません。
Oracle Databaseサーバーの新/旧リリースでアプリケーションの実行が可能
データベース・サーバーに対してプリコンパイラまたはOCIアプリケーションを実行する場合、クライアント・ソフトウェア・リリース以上のリリースのデータベース・サーバー・ソフトウェアを使用することをお薦めします。
この推奨構成は、厳密に必要とされるものではありません。
たとえば、クライアント・ソフトウェアがOracle 12cリリース2 (12.2.0.1)の場合に、サーバーに対してクライアント上でプリコンパイラ・アプリケーションを実行する場合、そのサーバー・ソフトウェアはOracle 12cリリース2 (12.2)以降であることをお薦めします。
Oracle Databaseクライアント・ソフトウェアのアップグレード
サーバー・ソフトウェアとクライアント・ソフトウェアのリリース番号を同じにしておくと、アプリケーションの最大の安定性を得ることができます。
この情報を使用して、Oracle Databaseクライアントのインストールを計画してください。アプリケーションのリンク方法に応じて、Oracle Databaseのクライアント・ソフトウェアのアップグレード時に適用される規則が異なります。
ご使用のクライアント・ソフトウェアをアップグレードして、現行のサーバー・ソフトウェアと一致させることをお薦めします。たとえば、Oracle Databaseを新しいOracle Databaseリリースにアップグレードする場合、Oracle Databaseクライアント・ソフトウェアを新しいリリースにアップグレードすることもお薦めします。最新のOracle Databaseクライアント・ソフトウェアでは、新しいリリースでのみ使用できる追加機能やパフォーマンス向上が提供される場合があります。
- イメージベースのOracle Databaseクライアント・インストールについて
Oracle Database 19c以上では、イメージベースのインストールによってOracle Databaseクライアント・ソフトウェアのインストールや構成を簡単に行うことができます。 - アプリケーションと新しいライブラリとのリンクについて
プリコンパイラ・アプリケーションおよびOracle Call Interface (OCI)によって生成されたコードを、サーバー・リリース以上のリリースのクライアント・ライブラリにリンクできます。 - 静的にリンクされたアプリケーションを常に再リンクさせる必要がある
静的にリンクされたコードは、アップグレードされたORACLE_HOMEのエラー・メッセージと非互換になる可能性があります。 - 動的にリンクされたアプリケーションの再リンクについて
Oracle Database 10gリリース1 (10.1)以上のリリースから動的にリンクされたOCIアプリケーションは、現行のリリースと上位互換性があります。
イメージベースのOracle Databaseクライアント・インストールについて
Oracle Database 19c以上では、イメージベースのインストールによってOracle Databaseクライアント・ソフトウェアのインストールや構成を簡単に行うことができます。
Oracle Databaseクライアントをインストールするには、新規Oracleホームを作成し、新しく作成したOracleホームにイメージ・ファイルを抽出し、設定ウィザードを実行して、Oracle Database製品を登録します。
Oracle Databaseホームを配置するディレクトリにイメージ・ソフトウェア(client_home.zip
)を抽出してから、クライアント設定ウィザードを実行し、Oracle Databaseクライアントのインストールおよび構成を開始する必要があります。作成したOracleホームのディレクトリ・パスがOracle Optimal Flexible Architectureの推奨事項に準拠することをお薦めします。
Oracle DatabaseおよびOracle Grid Infrastructureのイメージ・ファイルのインストールと同様に、Oracle Databaseクライアントのイメージ・インストールではOracle Databaseクライアントのインストールが簡略化され、ベスト・プラクティスのデプロイメントが保証されます。Oracle Databaseクライアントのインストール・バイナリは、イメージ以外のzipファイルとして従来の形式で引き続き使用できます。
イメージベースのインストールを使用すると、管理者インストール・タイプのOracle Databaseクライアント64ビット構成をインストールできます。
32ビットのOracle Databaseクライアントは、Oracle Database 23cでサポートされなくなりました。
Oracleは、32ビットのOracle Databaseクライアントの開発を中止しました。64ビットのOracle Databaseクライアントを使用することをお薦めします。32ビット・アプリケーションを使用している場合は、「異なるOracleバージョンのクライアント/サーバーの相互運用性サポート・マトリックス(ドキュメントID 207303.1)」、およびリリース・サポート・ライフサイクル(My Oracle Support 742060.1)に従って、以前の32ビットOracle Databaseクライアントを引き続き使用できます。Thin JDBCや管理対象ODP.NETなどのThinまたはManagedデータ・クライアント・アクセス・ドライバを使用することもできます。
アプリケーションと新しいライブラリとのリンクについて
プリコンパイラ・アプリケーションおよびOracle Call Interface (OCI)によって生成されたコードを、サーバー・リリース以上のリリースのクライアント・ライブラリにリンクできます。
使用するOCIランタイム・ライブラリは、アプリケーションの開発に使用されたOCIライブラリのリリース以上のリリースである必要があります。
静的にリンクされたアプリケーションを常に再リンクさせる必要がある
静的にリンクされたコードは、アップグレードされたORACLE_HOMEのエラー・メッセージと非互換になる可能性があります。
静的にリンクされたOCIアプリケーションは、メジャー・リリースとマイナー・リリースの両方で再リンクする必要があります。静的にリンクされたOracleクライアントサイド・ライブラリ・コードは、アップグレードされたORACLE_HOMEのエラー・メッセージと非互換になる可能性があります。たとえば、エラー・メッセージが追加パラメータで更新されると、それは静的にリンクされたコードとは非互換になります。
動的にリンクされたアプリケーションの再リンクについて
Oracle Database 10gリリース1 (10.1)以上のリリースから動的にリンクされたOCIアプリケーションは、現行のリリースと上位互換性があります。
Oracleクライアントサイド動的ライブラリは、そのライブラリの前のバージョンと上位互換性があります。Oracle Universal Installerによって前のバージョンのライブラリへのシンボリック・リンクが作成され、このシンボリック・リンクが現行バージョンのライブラリに解決されます。したがって、前のバージョンのOracleクライアントサイド動的ライブラリと動的にリンクされたアプリケーションは、現行バージョンのOracleクライアントサイド・ライブラリと再リンクしなくても動作します。
ノート:
アプリケーションがランタイム・ライブラリの検索パス(Linuxでの-rpath
など)にリンクされていると、リンクされているバージョンのOracleクライアントサイド・ライブラリを使用して引き続き実行される場合があります。現行バージョンのOracleクライアントサイド・ライブラリを使用して実行するには、アプリケーションを再リンクする必要があります。
アプリケーションが遅延オプション(静的にリンクされているアプリケーションなど)にリンクされている場合は、再リンクする必要があります。
Oracle Database 10gリリース1 (10.1)より前のリリースのアプリケーションを使用している場合は、再リンクする必要があります。