機械翻訳について

2 リリース情報

次のセクションでは、Oracle Database Gateway for DRDAに固有のリリース情報について説明します。

製品セット

製品インストール・メディアには、次の製品コンポーネントが含まれています:

  • Oracle Database Gateway for DRDA、12cリリース2 (12.2)

  • Oracle Net、12cリリース2 (12.2)

変更点および拡張機能

以下のセクションでは、このリリースのゲートウェイに固有の変更と拡張について説明します:

リモート挿入Rowsource

リモート挿入行ソース機能を使用すると、ローカルOracleデータをOracleデータベースおよびOracle Databaseゲートウェイで処理する必要があるリモート挿入が可能になります。 この機能を使用するには、OracleデータベースとOracle Databaseゲートウェイをバージョン12.2以降にする必要があります。

Oracle Databaseデザインでは、データベース・リンク・サイトで分散文を実行する必要があります。 しかし、特定の状況では、これらの問合せを実行するために必要なデータがあります。このデータは、元のOracle Databaseからフェッチする必要があります。 同種の接続では、リモートOracleデータベースは、そのようなデータのソースOracleデータベースをコールバックします。 しかし、異種の接続では、これは実行可能ではありません。これは、外部データストアが、問合せを発行したOracleインスタンスによってのみ提供できるコールバック関数またはデータを問合せする必要があることを意味するためです。 一般的に、これらの種類の文は、Oracle Databaseゲートウェイでサポートできるものではありません。

次のカテゴリのSQL文では、コールバックが発生します:

  • Oracleデータベース内の表を参照するサブ選択付きDML。

  • DELETEINSERTUPDATEまたは"SELECT... FOR UPDATE..."元のOracleデータベースで実行する必要があるSQL関数または文を含むSQL文。

    これらのSQL関数には、USERUSERENV、およびSYSDATEが含まれます。元のOracleデータベースからのデータの選択を伴います。

  • Oracleデータベース内の表を含むSQL文、およびリモート表のLONGまたはLOB列。

リモート挿入rowsource機能を使用して動作するリモートINSERTの例を次に示します:

INSERT INTO gateway_table@gateway_link select * from local_table;

ゲートウェイ・パスワード暗号化ツール

ゲートウェイ・パスワード暗号化ツール(g4drpwd)は、異機種間サービスの一部である汎用機能に置き換えられました。 詳細については、Oracle Database Gatewayインストールおよび構成ガイドfor IBM AIX on POWER Systems (64-Bit), Linux x86-64, Oracle Solaris on SPARC (64-Bit), Oracle Solaris on x86-64 (64-Bit)およびHP-UX ItaniumまたはOracle Database Gatewayインストールおよび構成ガイドfor Microsoft Windowsの第15章、"セキュリティに関する考慮事項"を参照してください。

結果セットとストアド・プロシージャ

Oracle Database Gateway for DRDAは、結果セットを返すストアド・プロシージャをサポートしています。 デフォルトでは、すべてのストアド・プロシージャおよび関数は、ユーザーに結果セットを返しません。 結果セットを使用可能にするには、初期化パラメータ・ファイルでHS_FDS_RESULTSET_SUPPORTパラメータを設定します。

関連項目:

初期化パラメータ・ファイルとHS_FDS_RESULTSET_SUPPORTパラメータの編集については、「初期化パラメータ」を参照してください。 Oracle以外のデータベースの結果セットに対するOracleサポートの詳細は、Oracle Database異機種間接続ユーザーズ・ガイドを参照してください。

注意:

HS_FDS_RESULTSET_SUPPORTゲートウェイ初期化パラメータを設定する場合は、既存のすべてのストアド・プロシージャのプロシージャexecute文の構文を変更するか、エラーが発生する必要があります。

Oracle Database Gateway for DRDAを使用して結果セットを含むストアド・プロシージャにアクセスすると、異機種間サービスの順次モードになります。 ゲートウェイは、プロシージャの説明の間、異機種間サービスに以下の情報を戻します:

  • リモート・ストアド・プロシージャのすべての入力引数

  • 出力引数はなし

  • REF CURSOR型の1つの出力引数(ストアド・プロシージャにより返された最初の結果セットに対応)

クライアント・プログラムは、仮想パッケージ関数DBMS_HS_RESULT_SET.GET_NEXT_RESULT_SETを使用して、後続の結果セットの参照カーソルを取得する必要があります。 返された最後の結果セットは、プロシージャの出力引数です。

結果セットへのアクセスの制限は次のとおりです:

  • リモート・ストアド・プロシージャから戻された結果セットは、戻された順に取得される必要があります。

  • ストアド・プロシージャの実行時に、以前に実行されたストアド・プロシージャによって返されたすべての結果セットは、データが完全に取得されたかどうかにかかわらず閉じられます。

次の例では、UDBストアド・プロシージャを実行して、UDBからEMPおよびDEPT表の内容をフェッチします:

CREATE PROCEDURE REFCURPROC (IN STRIN VARCHAR(255), OUT STROUT VARCHAR(255) ) 
  RESULT SETS 3  LANGUAGE SQL 
BEGIN
  DECLARE TEMP CHAR (20); 
 DECLARE C1 CURSOR WITH RETURN TO CALLER FOR 
      SELECT * FROM TKHOEMP; 
  DECLARE C2 CURSOR WITH RETURN TO CALLER FOR 
     SELECT * FROM TKHODEPT; 
 OPEN C1; 
 OPEN C2; 
 SET STROUT = STRIN; 
 END

既知の問題点

次の項に記載されている問題は、Oracle Database Gateway for DRDAに固有であり、この製品の今回のリリースに存在することが確認されています。 この問題に対する質問または関心がある場合は、Oracleサポート・サービスに連絡してください。

問題の最新リストはオンラインで入手可能です。 このオンラインの情報へのアクセスに関する情報は、Oracleサポート・サービスに連絡してください。

既知の制限事項

12cリリース2 (12.2)の製品には、次の制限事項があります。 将来のリリースでこれらの制限が変更される予定はありません。 アプリケーションを開発する際の情報や制限については、「アプリケーションの開発」を参照してください。

DB2の考慮事項

12c Release 2 (12.2)には次の考慮事項があります:

DD基本表およびビュー

DD基本表およびビューの所有者は、OTGDB2です。 これは変更できません。

後処理されるSUBSTR関数

SUBSTR関数は、z/OS用のDB2 UDBなど、DRDAサーバーと互換性のない方法でOracleデータベースとともに使用できます。 そのため、SUBSTR関数は後処理されます。 ただし、「"ネイティブ・セマンティクス"」機能を使用して、サーバーで を処理できるようにすることは可能です。 詳細については、「アプリケーションの開発」を参照してください。

データ型の制限

データ型の詳細については、"OracleへのDRDAデータ型データ型変換"を参照してください。

NULL値およびストアド・プロシージャ

NULL値は、ゲートウェイを通じてストアド・プロシージャのコールに渡されることはなく、コールから戻されることもありません。

数値の文字列連結

DB2 Universal Databaseは数字の文字列連結をサポートしていません。 次に例を示します。

SELECT 2||2 FROM table@dblink

許可されていません。

GLOBAL_NAMES初期化パラメータ

GLOBAL_NAMESTRUEに設定されている場>合、OracleデータベースのINIT.ORAファイルで、ゲートウェイに接続できるようにするには、異機種間サービス (HS) 初期化パラメータ、ゲートウェイ初期化パラメータ・ファイルのHS_DB_DOMAINを設定して、OracleデータベースのDB_DOMAINパラメータと一致させなければなりません。 詳細は、ご使用のプラットフォームに応じてOracle Database Gatewayインストールおよび構成ガイドfor IBM AIX on POWER Systems (64-Bit), Linux x86-64, Oracle Solaris on SPARC (64-Bit), Oracle Solaris on x86-64 (64-Bit)およびHP-UX ItaniumまたはOracle Database Gatewayインストールおよび構成ガイドfor Microsoft Windowsを参照してください。

DRDAパッケージとDB2に関する考慮事項

ゲートウェイは、文の実行にパッケージを使用します。 このパッケージは、ゲートウェイがターゲットDB2システムに初めて接続するときに暗黙的にバインドされます。 DB2システムに接続するユーザーIDに、パッケージをバインドするために必要な特権があることを確認してください。 詳細は、ご使用のプラットフォームに応じてOracle Database Gatewayインストールおよび構成ガイドfor IBM AIX on POWER Systems (64-Bit), Linux x86-64, Oracle Solaris on SPARC (64-Bit), Oracle Solaris on x86-64 (64-Bit)およびHP-UX ItaniumまたはOracle Database Gatewayインストールおよび構成ガイドfor Microsoft Windowsを参照してください。

日付計算

一般に、DB2 制限のため、次のタイプのSQL式の形式はゲートウェイで正しく機能しません:

date + number
number + date
date - number
date1 - date2

DB2では、日付データ型での数値の加算または減算はできません。 日付と数値の加減算(date + number, number + date, date - number)形式は、拒否されたDB2に送信されます。

また、DB2は日付の減算を一貫して実行しません。 2つの日付(date1 - date2)を減算すると、DB2の日付減算の解釈が異なるため、結果はサーバーによって異なります。

注意:

日付計算の問題が解決されるまで、すべてのゲートウェイSQL式で日付算術式を使用しないでください。

行の長さの制限

DRDAアーキテクチャの制約のため、DRDA表現で32 KBを超える集約長を持つ行を保管または検索することはできません。

SQL*PlusでのLONGデータ型

SQL*Plusでは、Oracle Database Gateway for DRDAからLONG列をフェッチできません。

ストアド・プロシージャおよびトランザクション整合性

IBM DB2では、ストアド・プロシージャ用として戻り時にコミット(Commit on Return)という機能が導入されています。 この機能により、DB2では、ストアド・プロシージャの成功後に自動コミットを実行できます。 この機能は、プロシージャの作成時に有効化されます。 データの整合性を確保するため、Oracle Database Gateway for DRDAは異種環境でこの機能をサポートしていません。 この機能が有効になっているストアド・プロシージャをゲートウェイ経由で呼び出そうとすると、ゲートウェイはORA-28526またはPLS-00201 (識別子を宣言する必要があります)というエラーを返します。

SQLの制限

Oracle Database Gateway for DRDAのSQLの制限事項については、次のセクションで説明します:

Oracle ROWID列

DB2 ROWID列はOracle ROWID列と互換性がありません。 ROWID列はサポートされていないため、次の制限が適用されます:

  • UPDATEおよびDELETEは、WHERE CURRENT OF CURSOR句でサポートされません。 ゲートウェイを通じて特定の行を更新または削除するには、条件スタイルとしてWHERE句を使用する必要があります。 (Oracle Bug#205538)

    UPDATEおよびDELETE文がプリコンパイラおよびPL/SQLプログラムで使用される場合、それらは内部的にOracleのROWID機能に依存します。

  • Oracle DatabaseとDB2間のスナップショットはサポートされません。

    スナップショットは、内部的にOracleのROWID列に依存します。

Oracleバインド変数

Oracleバインド変数は、ゲートウェイでの使用時にSQLパラメータ・マーカーになります。 したがって、バインド変数は、SQLパラメータ・マーカーと同じ制限を受けます。

たとえば、次のような文は許可されません。

WHERE :x IS NULL 
WHERE :x = :y 
サポートされないCONNECT BY

Oracle Database Gateway for DRDAでは、SELECT文でCONNECT BYはサポートされません。