この章では、Oracle Database Gateway for DRDAの11gリリースに固有の情報を提供します。内容は次のとおりです。
次の製品コンポーネントが製品インストール・メディアに含まれます。
Oracle Database Gateway for DRDAリリース11.1.0.5.0
Oracle Netリリース11.1.0.5.0
次に、ゲートウェイの11gリリースに固有の変更点と拡張機能を示します。
SNAプロトコルのサポート停止
SNAネットワーク通信のプロトコル・サポートは停止されました。既存のインストール環境は、TCP/IPプロトコルを使用するように移行してください。
VMターゲットでのSQL/DSおよびDB2のサポート停止
VM上のSQL/DSまたはDB2に対するアクセスのサポートは停止されました。
ゲートウェイ・パスワード暗号化ツール
ゲートウェイ・パスワード暗号化ツール(g4drpwd
)は、現在異機種間サービスの一部となっている汎用機能で置き換えられました。詳細は、Oracle Database Gatewayのインストレーションおよび構成ガイドの第15章「セキュリティ上の考慮事項」を参照してください。
以前のリリースから製品の構成を移行する場合の追加の変更点または要件の詳細は、Oracle Database Gatewayのインストレーションおよび構成ガイドの第16章「以前のリリースからの移行」を参照してください。
次の項に記載されている問題は、Oracle Database Gateway for DRDAに固有であり、この製品の今回のリリースに存在することが確認されています。これらの問題は、ゲートウェイの将来のリリースで修正されます。これらの問題に関する質問や懸念事項がある場合は、Oracleサポート・サービスに連絡してください。
問題に関する現行のリストはオンラインで参照できます。このオンライン情報にアクセスする方法の詳細は、オラクル社の各事業所にお問い合せください。
この製品の11gリリースには、次の制限が存在することが確認されています。将来のリリースでこれらの制限が変更される予定はありません。アプリケーション開発時の制限事項の詳細は、第4章「アプリケーションの開発」を参照してください。
DB2別名オブジェクトへのアクセス
リモートDB2システム上のDB2別名オブジェクトにアクセスする必要がある場合、ゲートウェイ初期化ファイルのDRDA_DESCRIBE_TABLE=FALSE
初期化パラメータを指定する必要があります。
Oracle DatabaseからDRDAサーバーにデータをコピーする場合、Oracle SQLコマンドのINSERT
はサポートされません。SQL*PlusのCOPY
コマンドを使用する必要があります。詳細は、第3章「Oracle Database Gateway for DRDAの使用方法」を参照してください。
次に、考慮事項と制限事項を示します。
ストアド・プロシージャおよびユーザー定義関数のサポート
ゲートウェイでは、次のDRDAサーバーを通じたストアド・プロシージャおよびユーザー定義関数の実行がサポートされます。
DB2/OS390 V4.1以上
DB2/400 V3.1以上
DB2/UDB V7.1以上
11gリリースには、次の考慮事項が存在します。
DD基本表およびビュー
DD基本表およびビューの所有者は、OTGDB2
です。これは変更できません。
後処理されるSUBSTR関数
SUBSTR
関数は、Oracle DatabaseではDB2/OS390などのDRDAサーバー・データベースと互換性のない形式で使用されることがあります。そのため、SUBSTR
関数は後処理されます。ただし、ネイティブ・セマンティクス機能を使用すると、サーバーでこの関数をネイティブに処理できます。詳細は、第4章「アプリケーションの開発」を参照してください。
DRDAサーバーのキャラクタ・セットのサポート
DRDAサーバーにより使用されるキャラクタ・セットのサポートは、ゲートウェイのコードページ・マップ機能を通じて構成できます。詳細は、付録C「DRDAのグローバリゼーション・サポート」を参照してください。
データ型の制限
データ型の詳細は、「DRDAデータ型からOracleデータ型への変換」を参照してください。
サポートされないSAVEPOINTコマンド
Oracle Database Gateway for DRDAでは、SQLのSAVEPOINT
はサポートされません。
NULL値は、ゲートウェイを通じてストアド・プロシージャのコールに渡されることはなく、コールから戻されることもありません。
数値の文字列連結
数値の文字列連結は、DB2/400、DB2/UDBおよびDB2/OS390では許可されません。たとえば、2||2
は使用できません。
GLOBAL_NAMES初期化パラメータ
GLOBAL_NAMES
がOracle DatabaseのINIT.ORA
ファイルでTRUE
に設定されている場合、ゲートウェイに接続するためには、ゲートウェイ初期化パラメータ・ファイルにある異機種間サービス(HS)初期化パラメータのHS_DB_DOMAIN
をOracle DatabaseのDB_DOMAIN
パラメータの値と一致するように指定する必要があります。詳細は、現在のプラットフォームに応じたOracle Database Gatewayのインストレーションおよび構成ガイドの第14章「Oracle Database Gateway for DRDAの構成」を参照してください。
DB2/UDBでのDRDAパッケージのバインド
ゲートウェイでなんらかのSQL操作を実行する前に、DRDAサーバーでDRDAゲートウェイ・パッケージをバインドする必要があります。DB2/UDBの制限のため、パッケージをバインドするには、事前にDB2/UDBデータベースにORACLE2PC
表を作成する必要があります。詳細は、現在のプラットフォームに応じたOracle Database Gatewayのインストレーションおよび構成ガイドの第14章「Oracle Database Gateway for DRDAの構成」を参照してください。
日付の計算
一般的に、次の形式のSQL式は、DRDAサーバーの制限のためにゲートウェイでは正しく動作しません。
date + number number + date date - number date1 - date2
DRDAサーバーでは、日付データ型に対する数値の加算または減算は許可されません。日付と数値の加算および減算を示す(date + number, number + date, date - number)
の形式は、DRDAサーバーに送信されて拒否されます。
また、DRDAサーバーでは、日付の減算は常に実行されません。2つの日付を(date1 - date2)
のように減算すると、DRDAサーバーにより日付の減算の解釈が異なるため、結果はサーバーごとに変化します。
注意: 日付の計算に関する問題が解決されるまで、すべてのゲートウェイSQLで日付の計算式を使用しないでください。 |
DRDAアーキテクチャの制限のため、合計の長さがDRDAの表現で32KBを超える行は、格納または取得できません。
SQL*Plusでは、Oracle Database Gateway for DRDAからLONG
列をフェッチできません。
DRDAネットワーク・インタフェースごとの単一のゲートウェイ・インスタンス
ゲートウェイをインストールする場合、適切なDRDAネットワーク・インタフェースを選択する必要があります。ゲートウェイ・インスタンスごとに選択してインストールできるのは、ただ1つのDRDAネットワーク・インタフェースのみです。ゲートウェイ製品を再インストールする際に、以前のインストールとは異なるネットワーク・インタフェースを選択すると、新しく選択されたインタフェースによって現在のインストールが上書きされます。適切なゲートウェイ操作を保証するために、この時点でゲートウェイ初期化パラメータの再構成が必要になります。
ストアド・プロシージャおよびトランザクション整合性
IBM DB2では、ストアド・プロシージャ用として戻り時にコミット(Commit on Return)という機能が導入されています。この機能により、DB2では、ストアド・プロシージャの成功後に自動コミットを実行できます。この機能は、プロシージャの作成時に有効化されます。データの整合性を確保するため、この機能は異機種環境のOracle Database Gateway for DRDAではサポートされません。この機能が有効化されているストアド・プロシージャをゲートウェイを通じてコールしようとすると、ゲートウェイによりORA-28526
またはPLS-00201
(識別子を宣言してください)というエラーが戻されます。
注意: この制限が適用されるのは、DB2 for MVSまたはz/OS(V5.1)、およびDB2/UDB(V8.1)です。 |
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バインド変数は、ゲートウェイでの使用時にSQLパラメータ・マーカーになります。したがって、バインド変数は、SQLパラメータ・マーカーと同じ制限を受けます。
たとえば、次の文は使用できません。
WHERE :x IS NULL WHERE :x = :y
サポートされないCONNECT BY
Oracle Database Gateway for DRDAでは、SELECT
文でCONNECT
BY
はサポートされません。
COUNT関数の互換性
次のDRDAサーバーでは、COUNT
関数の一部の形式、特にCOUNT
(colname
)およびCOUNT
(ALL colname
)はサポートされません。
DB2 OS/390 V6
すべてのDRDAサーバー・プラットフォームのデフォルトでは、すべての形式のCOUNT
がそのままの状態でDRDAサーバーに渡されます。
ゲートウェイをDRDAサーバーのいずれかのリリースと組み合せて使用する場合、状況に応じてこの形式のCOUNT
のデフォルト使用を無効化する必要があります。
このような形式のCOUNT
の互換性を無効化または有効化する方法の詳細は、第4章の「COUNT関数のマッピング」および第4章の「ネイティブ・セマンティクス」を参照してください。