Oracle® Fusion Middleware Oracle Warehouse BuilderからOracle Data Integratorへの移行 12c (12.2.1.2.6) E85914-01 |
|
![]() 前 |
この付録の内容は次のとおりです。
このリリース時点で既知の問題は次のとおりです。また、この項では、これらの問題を回避するための解決策も示します。
症状: OWB-ODI移行ユーティリティでは、コメントがOWBジョイナ条件からODIジョイナ条件に移行されません。
解決策: OWBマッピングがANSIでない場合、コメントは移行されます。それ以外の場合、コメントはフィルタによって除外され、移行されません。ANSIであるOWBマッピングについてジョイナ・コメントを移行する必要がある場合は、移行構成プロパティSPLIT_JOIN_FOR_ANSI_SYNTAX=falseを使用してマッピングを再度移行することができます。
症状: スペルが間違った構成パラメータを構成ファイルに追加していました。移行ユーティリティの実行では、スペルが間違った構成パラメータが生成されたログ・ファイルにレポートまたは表示されません。
解決策: 移行ユーティリティ構成ファイルのプロパティ名を慎重に確認してください。サンプルの構成ファイルは、次の場所に用意されています。
<owb_home>/owb/bin/admin/migration.config
症状: OWB-ODI移行ユーティリティを使用してOWBのマッピングをODIに移行すると、ODIにより、同じOracleデータベースにソースおよびターゲットの表が含まれるマッピングについて、データベース・リンクが生成されます。
原因: これは不具合ではありません。OWBでは、たとえば、同じデータベースでもスキーマが異なるソースとターゲットの1対1のマッピングがある場合、スキーマごとに1つのロケーションが必要です。この2つのロケーションを移行ユーティリティを使用して移行すると、2つのデータ・サーバーがトポロジに作成されます。しかし、ODIで異なるデータ・サーバーのソースとターゲットが含まれるマッピングについてコードが生成される際に、ソースへのデータベース・リンクが生成されます。OWBと比較したときのODIで生成されたコードにおける不一致は、OWBとODIで接続およびスキーマを記述する方法についての概念的な相違からくるものです。ODIでの意味および前提では、2つの物理スキーマが別々のデータ・サーバー下にある場合、この2つの物理スキーマは常に別々のデータベース・インスタンスにあると見なされます。その結果、ODIでは、2つの実行ユニットがODIマッピングで作成されるため、データベース・リンクを使用してソース表にアクセスします。これは、ODIでの所定の動作です。OWB-ODI移行ユーティリティも設計どおりに動作しています。OWBでは同じホスト/ポスト/サービスの名前情報でもユーザーまたはスキーマが異なるロケーションを複数保持できるため、その結果、移行後のODIでは、JDBC URLが同じデータ・サーバーが複数存在することになります。
解決策: 次を実行します。
ターゲットのデータサーバー下に(ソースを指す)新しい物理スキーマを作成します。
元のソースの論理スキーマのコンテキストを変更して、新しい物理スキーマを指すようにします。
症状: 移行ユーティリティで、データ・ジェネレータ演算子が含まれるOWBマッピングの移行に失敗します。データ・ジェネレータ演算子は、定数または順序をSQL*Loaderマッピングに取り込むのに使用しています。
migration.logには、次のように表示されます。
--------マッピングMAP1_DATA_GENERATORの移行を開始します。
------------[ERROR][Migration][MU-5001]マッピング演算子DATA_GENERATOR:DATA_GENERATORのあるマッピングを移行できません。
--------MAP1_DATA_GENERATORの移行に失敗しました。
移行ユーティリティでは、データ・ジェネレータ演算子が含まれるOWBマッピングの更新がサポートされていません。
解決策:
移行前に、データ・ジェネレータ演算子をOWBマッピングから削除します。
マッピングをOWBからODIに移行します。
移行後に(データ・ジェネレータが使用された方法に応じて)定数または順序をODIマッピングに追加します。
症状: ごくわずかなオブジェクトを選択したOWBプロジェクトをODI 12cに移行しようとすると、予期しない結果になります。1対1方式での(たとえば、MY_PROJECTへの)移行ではなく、新しいプロジェクト(MY_PROJECT_0など)がODIに作成されます。
解決策: パラメータMIGRATION_STRATEGYの新しい値がODI 12.1.3以降の移行ユーティリティで導入されています。MIGRATION_STRATEGYパラメータをCREATEからNODUPに変更してください。
症状: OdiStartOwbJobユーティリティを使用して、Oracle Data Integrator内からOracle Warehouse Builderオブジェクト(マッピング、プロセス・フローなど)を実行したり、実行監査データをOracle Data Integratorに取得しています。OdiStartOwbJobを構成しようとすると、ロケーション・リスト・ボックスにPlatformSchemaロケーションが表示されます。しかし、その他のロケーションは一切表示されません。また、PlatformSchemaロケーションがOWBデザイン・クライアントで表示可能なごく一部のロケーションとともに表示される状況が発生することもあります。
原因: OdiStartOwbJobユーティリティのロケーション・リスト・ボックスには、OWBコントロール・センターに登録されているロケーションしか表示されません。デザイン・センターにのみ登録されているロケーションはOdiStartOwbJobに表示されません。
解決策:
OWB 11.2.0.4デザイン・クライアントを起動し、OWBリポジトリにログインします。
コントロール・センターを開いて、OdiStartOwbJobユーティリティのリスト・ボックスに表示されないロケーション(ターゲット・ロケーション、プロセス・フロー・ロケーション)を登録します。
OWBデザイン・クライアントを終了します。
ODI 12c Studioを起動してODIリポジトリにログインします。
OdiStartOwbJobが使用されているパッケージを開き、登録したロケーションがOdiStartOwbJobのロケーション・リスト・ボックスに表示されていることを確認します。
症状: OdiStartOwbJobユーティリティを使用して、Oracle Data Integrator内からOracle Warehouse Builderオブジェクト(マッピング、プロセス・フローなど)を実行したり、実行監査データをOracle Data Integratorに取得しています。
OdiStartOwbJobが含まれているODIパッケージを起動すると、次のメッセージで失敗します。
ODI-13702: OWBワークスペースOWB_WORKSPACE_OWNER.OWB_WORKSPACE_NAMEへの接続中に予期しないエラーが発生しました。
StatementCallback; bad SQL grammar [SELECT LOCATION_NAME, LOCATION_TYPE, LOCATION_TYPE_VERSION FROM OWBSYS.OWB_ODI_LOCATIONS]; nested exception is java.sql.SQLSyntaxErrorException: ORA-00942: 表またはビューが存在しません。
解決策:
必要な権限があるかどうかを確認します。
次の問合せを使用して、必要な権限があるかどうかを確認してください。
connect owbsys/<password>
set lines 130
SELECT grantee,
table_name,
privilege
FROM user_tab_privs
WHERE table_name IN ( 'OWB_ODI_LOCATIONS', 'OWB_ODI_TASKS',
'OWB_ODI_TASK_PARAMETERS', 'OWB_SNP_SESSIONS',
'OWB_SNP_SESS_STEPS', 'OWB_SNP_SESS_TASKS',
'WB_RT_ODIAUDIT' );
必要な権限を付与します。
必要な権限がない場合は、次のgrantを使用して適切な権限を付与してください。
connect owbsys/<password>
grant execute on wb_rt_odiaudit to OWB_USER;
grant select on owb_odi_locations to OWB_USER;
grant select on owb_odi_tasks to OWB_USER;
grant select on owb_odi_task_parameters to OWB_USER;
grant select on owb_snp_sessions to OWB_USER;
grant select on owb_snp_sess_steps to OWB_USER;
grant select on owb_snp_sess_tasks to OWB_USER;