この章では、Oracle Data Integratorに関連する問題について説明します。次のトピックが含まれています。
この項では、次の問題および回避方法について説明します。
Oracle WebLogic構成ウィザードでは、データソースのOracle RAC URLはサポートされていません。データソースがOracle Data Integrator Studioで生成されたJava EEエージェント・テンプレートに含まれる場合、このテンプレートのデプロイは失敗し、次の例外が発生します。
com.oracle.cie.wizard.WizardController - Uncaught Exception java.lang.NullPointerException atcom.oracle.cie.domain.jdbc.DatasourceXBeanAspectHelper.decomposeURL
回避方法として、このデータソース定義を生成されたテンプレートに含めずに、Oracle Data Integrator Studioからデータソースをデプロイしてください。
Oracle WebLogic構成ウィザードでは、URLを解析し、わかりやすい形式でパラメータを公開するために特定のコードが使用されるため、事前定義済のJDBC URLのセットのみがサポートされています。Oracle Data Integrator Studioで生成されたJavaEEエージェント・テンプレートに、このセットに含まれていないURLやドライバを含むデータソースが含まれる場合は、次の例外が発生するため、ウィザードでこのテンプレートを使用できません。
com.oracle.cie.wizard.WizardController - Uncaught Exception java.lang.NullPointerException atcom.oracle.cie.domain.jdbc.DatasourceXBeanAspectHelper.decomposeURL
回避方法として、このデータソース定義を生成されたテンプレートに含めずに、Oracle Data Integrator Studioからデータソースをデプロイしてください。
エージェントの「失効したセッションの除去」機能は、接続プールの失効または停止した接続が、接続の期限切れ、または接続プール実装によって実行される接続検証テストを介して自動的に除去されることに依存します。
失効した接続が接続プールによって削除されない場合、データベースを再起動しても「失効したセッションの除去」は機能しません。エージェント自体を再起動しないかぎり、データベースを再起動しても、エージェントのその他のリクエストはいずれも機能しません。
WebLogic Serverコンテナでは、接続はテスト問合せを使用して数秒ごとに検証されます。テスト問合せ(select count(*) from <test_table_name>
)を実行するためにデータベースによって使用される表名を検証および指定することをお薦めします。
マスター・リポジトリおよび作業リポジトリのデータソースでは、表名としてSNP_LOC_REP
およびSNP_LOC_REPW
が使用されます。
もしくは、OracleリポジトリのDUAL
表を使用できます。
現在、(ODI Studio、Java SDKまたはRCUを使用する)リポジトリの作成には、Oracle Data Integratorスキーマ・バージョン・レジストリ・エントリを作成または更新するためのDBAユーザーおよびDBAパスワードが必要です。
この項では、次の問題および回避方法について説明します。
ロード計画例外ステップの変数の値を上書きおよびリフレッシュすることはできません。
この時点で一般的な回避方法はありません。
場合によっては、データ・モデルには定義されているがデータベースには定義されていない制約がDDLの生成ウィザードに表示されません。ODI 11.1.1.5.0以上では制約によっては、制約をウィザードに表示するための条件が変更されています。
キー: 「データベースで定義済」フラグおよび制御タブ・フラグ内の「アクティブ」をアクティブ化する必要があります。
参照: 「定義」タブのデータベース内でアクティブ・フラグをアクティブ化する必要があります。
条件: 「データベースで定義済」フラグおよび制御タブ・フラグ内の「アクティブ」をアクティブ化する必要があります。
ロード計画実行のエクスポートはサポートされていません。現在のログのエクスポート機能では、セッションのエクスポートのみがサポートされています。
この時点で一般的な回避方法はありません。
パラレル・ステップのロード計画では、「エラーがある子の最大数」パラメータは「再開タイプ」パラメータに応じて変更されません。「再開タイプ」が「すべての子の再開」に設定されていても、現在実行中の子ステップは常に続行され、停止されません。
フォルダに同じタイプのオブジェクトが1000以上含まれる場合、マーカーは表示されません。
ODIに付属しているJythonライブラリは2.5.1に更新されています。Jythonが初期化されると、キャッシュ・ディレクトリ(cachedir)が作成されます。残存しているcachedirコンテンツが原因でJythonスクリプトで例外が発生する可能性があります。この問題が発生するのは、たとえば、IKM SQLをTeradata(TTU)に使用する場合などです。このKMでは、ターゲットへのデータのロード/パイプ・ステップで障害が発生してImportError: cannot import name _newFunctionThread
が表示されます。
ODIを使用する前に既存のcacherdirディレクトリを空にすることをお薦めします。
OBIEE系統ウィザードは、起動時にWindowsまたはLinuxタスクバーには表示されません。このウィザードは、タスク・マネージャ内のJavaアプリケーションとして表示されます。
この時点で一般的な回避方法はありません。
シナリオがソース・インタフェース、パッケージ、プロシージャまたは変数にアタッチされていない場合、ステップの追加ウィザードの「ルックアップ・シナリオ」ダイアログを介してロード計画にこのシナリオを追加することはできません。このようになるのは、シナリオがソース・オブジェクトなしでインポートされている場合や、ロード計画を本番リポジトリで作成する場合などです。
回避方法として、シナリオをデザイナまたはオペレータ・ナビゲータから「ステップ階層」表にドラッグしてください。Oracle Data Integratorによって、シナリオ実行ステップが自動的に作成されます。
次の例のTABLE1
のように、結合式で使用されているデータストア別名の1つの末尾が、結合式で使用されている別の別名の末尾と同じである場合、不正な結合句が生成されます。
TABLE1.COLUMN_A=OTHER_TABLE1.COLUMN_A
回避方法として、2番目の別名を変更し、最初の別名と末尾が同じにならないようにしてください。次に例を示します。
TABLE1.COLUMN_A=OTHER_TABLE1_A.COLUMN_A
ランタイム・エージェントは、userpref.xml
に指定されているユーザー・パラメータ値を考慮しません。かわりにデフォルト値が常に使用されます。
この時点で一般的な回避方法はありません。
データストアでデータ・コンテキスト・メニューを使用する場合、データ・エディタでデータを変更することは可能です。ただし、特定のテクノロジによってこれらの変更を適用する場合、無効なオブジェクト名エラーが発生することがあります。Microsoft SQL Serverの場合の例を次に示します。
[SQLServer JDBCDriver][SQLServer]Invalid object name 'dbo.SRC_CITY'.
このエラーは、カタログ(Microsoft SQL Serverのコンテキスト内のデータベース)とスキーマ名(Microsoft SQL Serverのコンテキスト内の所有者)の両方で修飾されるオブジェクト名を必要とするテクノロジによって表示されます。
データをフェッチする際、オブジェクト名は完全に修飾されますが(<catalog>.<schema>.<table_name>
)、更新を実行する際には、スキーマ名のみで修飾されるため(<schema>.<table_name>
)、検出されません。
この時点で一般的な回避方法はありません。
Zipエクスポート・ファイルでASCII以外のファイル名が誤って生成されます。これらのファイル内のASCII以外の文字はアンダースコアで置き換えられます。「ASCII以外の文字をアンダースコアに変換することはできません」ユーザー・パラメータを「はい」
に変更しても効果がありません。回避方法として、ファイルをフォルダにエクスポートし、このフォルダを圧縮してください。
「ASCII以外の文字をアンダースコアに変換することはできません」ユーザー・パラメータを「はい」に設定した場合でも、次の状況ではASCII以外の文字が不正に処理されます。
固定ファイル・リバース・エンジニアリング・ウィザードの使用時に、列の「別名」フィールドで、ASCII以外の文字がアンダースコアに置き換えられます。
デリミタ付きファイルのリバース・エンジニアリングの実行時に、ヘッダー行のASCII以外の文字が、列名でアンダースコアに置き換えられます。
回避方法として、リバース処理の後に手動で列定義を変更します。
インタフェース・エディタでは、ソース・データストア列をマッピング・プロパティ・インスペクタの実装フィールドにドラッグ・アンド・ドロップしようとすると、プロパティ・インスペクタが切り替わってソース列プロパティが表示されます。
これは、フォーカスがマッピング・プロパティ・インスペクタ内にある場合に発生します。
回避方法として、ターゲット・データストア上のマッピング・フィールドを使用して、ソース列をドラッグ・アンド・ドロップします。
この項では、次の問題および回避方法について説明します。
40.3.1項「別のタブを閉じるとOracle Data Integratorコンソール・ページのタスク・フローがリセットされる」
40.3.2項「Enterprise ManagerからログアウトしてもOracle Data Integratorコンソールに伝播されない」
Oracle Data Integratorコンソールでページを含むタブを閉じると、このタブの後のすべてのタブで、タスク・フロー(実行されたナビゲーション・アクション)がリセットされます。これらのタブに含まれるページは、最初に開いたオブジェクトにリセットされます。
この時点でこの問題の回避方法はありません。
シングル・サインオン(SSO)をアクティブ化してOracle Data Integratorコンソールと組み合せてEnterprise Manager Fusion Middleware Control(EM)を使用した場合、Enterprise ManagerでSSOからログアウト中のユーザーが、同じブラウザ・ウィンドウでダイレクトURLを入力することで、Oracle Data Integratorコンソールのページにアクセスできる可能性があります。
Enterprise Managerのログアウト・アクションによってOracle Data Integratorコンソールが無効化されていないために、Oracle Data Integratorコンソールが作成するCookieによってこの問題が発生します。
回避方法は次のとおりです。
管理者は、ゲートウェイ経由のアクセス用に、Enterprise ManagerおよびOracle Data Integratorコンソールのサーバーを構成する必要があります。ゲートウェイによって、SSOにログインしていないユーザーがSSOログイン・ページに自動的にリダイレクトされます。
共有またはパブリック・コンピュータからOracle Data IntegratorコンソールまたはEnterprise Managerにアクセスしている場合は、ログアウトしてセッションを閉じます。さらにセキュリティを高めるために、ブラウザ・セッションを閉じます。
この項では、次の問題および回避方法について説明します。
40.4.2項「モデル・コードにASCII以外の文字が含まれる場合、一貫性セットJKMでサブスクライバの追加が失敗する」
40.4.3項「ASCII以外の文字の場合、IKMおよびLKM SQL Incremental Update(Row by Row)が失敗する」
40.4.5項「IKM SQL Incremental Update(Row by Row)では日本語の表をターゲットにできない」
インタフェースを実行し、XMLまたは複合ファイル・スキーマをステージング領域として使用する場合、「不明なトークン」エラーが表示されます。このエラーの原因は、更新されたHSQLバージョン(2.0)です。HSQLの新規バージョンでは、ドル記号($)が含まれる表名は引用符で囲む必要があります。ナレッジ・モジュールによって作成される一時表(「ロード中」、「統合」など)は、複合ファイルおよびHSQLテクノロジにおけるこの要件を満たしていません。
回避方法として、物理スキーマ定義を編集し、すべての作業表接頭辞からドル記号($)を削除してください。既存のシナリオは、これらの新規設定を使用して再生成する必要があります。
モデル・コードにASCII以外の文字が含まれる場合、一貫性セット・ジャーナル化KMでサブスクライバの追加が機能しません。これは、すべての一貫性セットJKMに当てはまります。セッションは正常に完了しますが、サブスクライバが追加されません。モデル・コードに排他的なASCII文字が含まれる場合、この問題は発生しません。
この時点で一般的な回避方法はありません。
ソース・データベースにASCII以外の文字が含まれる場合、IKMまたはLKM SQL Incremental Update(Row by Row)を使用するインタフェースがステップ「I$表へのフローの挿入」で失敗し、次のエラー・メッセージが表示されます。
org.apache.bsf.BSFException: exception from Jython: Traceback (most recent call last): File "<string>", line 149, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-7: ordinal not in range(128)
この時点で一般的な回避方法はありません。
別のマスターのエクスポートを使用して新しいマスター・リポジトリを作成する場合、マスター・リポジトリ・インポート・ウィザードの「JDBCドライバ」リストにPostgreSQLドライバが表示されません。
この時点で一般的な回避方法はありません。認証済プラットフォームの詳細は、次のURLのOracle Technology Network(OTN)から入手できる動作保証のドキュメントを参照してください。
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html
ターゲット表名に日本語の文字が含まれる場合、IKM SQL Incremental Update(Row by Row)がタスク「更新する行にフラグ設定」で失敗します。生成されたコード内では、統合表名が「I$_??????」として表示されます。「?」文字は日本語の文字と置き換わります。
回避方法として、このIKMをテクノロジに適した別のIKMに置き換えます。たとえば、Oracleの場合はIKM Oracle Incremental Updateに置き換えます。
この項では、次の問題および回避方法について説明します。
40.5.1項「サーバーがLinux 64ビットにインストールされている場合、ODIDQがローダー接続の作成に失敗する」
40.5.5項「日本語または中国語のクライアントからエンティティを作成する際のユーザー/パスワードが不正な場合に表示される不正なエラー・メッセージ」
Oracle Bug#11775170に従って記載されています。
ODQがLinux 64ビット・サーバーにインストールされており、ODQクライアントがWindowsマシンにインストールされており、メタベース・ホストがLinuxサーバーとして設定されている場合、ローダー接続を作成しようとしても、ローダー接続は作成されず、エラー・メッセージまたは警告も表示されません。
回避方法として、パッチ11775170をダウンロードし、パッチに付属するREADMEファイルの指示に従います。
My Oracle Supportにアクセスします。
「パッチと更新版」タブをクリックします。
「パッチ検索」領域で、パッチ11775170を検索します。
パッチをダウンロードします。
Oracle Bug#9812470に従って記載されています。
UNIXマシンにインストールされているData QualityサーバーにOracle Data Qualityクライアントから接続しようとすると、「クライアント・アプリケーション"Admin"バージョン"12.0.1"はサポートされていません。」というエラー・メッセージが表示されます。
この問題を解決するには、次の手順でメタベース定義を再インストールします。
UNIXサーバーでODQ_HOME/oracledi/odp/Client/SvrSide
ディレクトリに移動します。
./setup
を実行します。
プロンプトに従って、メタベース・インストールの場所としてODQ_HOME/oracledq/metabase_server/
を入力します。
メタベース管理ユーザーおよびパスワードを入力します。
メタベース定義のインストールが完了したら、ODQ_HOME/oracledq/metabase_server/metabase/bin/scheduler -restart
コマンドを使用して、スケジューラ・サービスを再起動します。
Oracle Bug#9851146に従って記載されています。
LinuxマシンにインストールされたData QualityサーバーにOracle Data Qualityクライアントから接続しようとすると、クオリティ・プロジェクトの作成メニューが無効になります。
この問題を解決するには、次の手順を実行します。
ODQ_HOME/oracledq/metabase_server/etc/.registry
ファイルを編集してTSQ_Root
パラメータ値を探します。このパラメータは、value TSQ_Root /scratch/odidq_1/oracledq/12
のように表示されます。
この値をData Qualityサーバー・インストールのルート・ディレクトリに設定します。
.registryファイルを保存します。
この値の変更後、ODQ_HOME/oracledq/metabase_server/metabase/bin/scheduler -restart
コマンドを使用して、スケジューラ・サービスを再起動します。
保存済.tssファイルをダブルクリックしてOracle Data Qualityクライアントを起動すると、クライアント・マシンのロケールとは関係なく、メニューが英語で表示されます。
回避方法として、ショートカット・メニューからクライアントを開いた後、.tssファイルを開きます。
エンティティの作成時に、ローダー接続の構成用にユーザーとパスワードの不正な組合せを入力すると、「エンティティの作成」ページに不正なメッセージが表示されます。
この時点でこの問題の回避方法はありません。
データ・クオリティ・プロジェクトのエクスポート先フォルダのパスにASCII以外の文字が含まれる場合、作成されるプロジェクト・フォルダ構造にファイルが含まれません。
回避方法として、ASCII以外の文字を含まないフォルダ・パスを使用します。