この章では、Oracle BI Applications構成マネージャを使用した、Oracle BI Applicationsのロード・プランの管理について説明します。
ロード・プランを管理するタスクは通常、ETL開発者またはETLオペレータが実行します。次に示すように、この項の各タスクは、一般に特定のタスクを実行するロール別にグループ化されています。
ETL開発者のタスク
ETLオペレータのタスク
ロード・プランのライフ・サイクルは、次の各フェーズで構成されています。
フェーズ1: ロード・プランの定義
このフェーズでは、Oracle BI Applications構成マネージャでロード・プランのプロパティを定義します。これには、データ・ソースおよび1つ以上のファクト・グループの選択が含まれます。この選択により、ETLプロセス中に実行する必要のあるステップが決まります。
フェーズ2: ロード・プランの生成
このフェーズでは、Oracle BI Applications構成マネージャから生成プロセスを開始します。これにより、ロード・プランの作成場所であるODIリポジトリに、ロード・プランのプロパティが伝播されます。
フェーズ3: ロード・プランの実行
このフェーズでは、Oracle BI Applications構成ウィザードからロード・プラン実行を開始します。これにより、ロード・プランの各ステップが実行されます。ロード・プランを実行すると、ロード・プラン・インスタンスと、初回ロード・プラン実行が作成されます。実行を再開すると、このロード・プラン・インスタンスに新しいロード・プラン実行が作成されます。ロード・プラン・インスタンスの実行を試行するたびに、その試行内容が個別のロード・プラン実行としてログに保存されます。
フェーズ4: ロード・プランのモニター
このフェーズでは、ロード・プラン実行をOracle BI Applications構成マネージャの「ロード・プランの詳細」ページでモニターします。「ロード・プランの詳細」ページでは、Oracle Data Integratorコンソールを通じてODIリポジトリのビューが表示されます。
次の手順を実行して、ロード・プランを定義します。
ロード・プランを定義するには:
Oracle BI Applications構成マネージャの「タスク」ペインで、「ロード・プラン管理」という見出しの下に表示される「ロード・プランの管理」を選択します。
「ロード・プランの管理」ページが表示されます。
「ロード・プラン」ツールバーで、「追加」アイコンをクリックします。
「ロード・プランの定義」ページが表示されます。
一連の「ロード・プランの定義」の最初のページで、次の情報を指定します。
フィールド | 説明 |
---|---|
名前 |
ロード・プランの一意の名前を入力します。 |
摘要 |
(オプション)ロード・プランについての追加情報を入力します。 |
ロード・プランタイプ |
ロード・プラン・タイプを選択します。使用可能な値は次のとおりです。
|
ソース・インスタンス |
ファクト・グループの選択元になるデータ・ソースを選択します。 |
「次へ」をクリックします。
一連の「ロード・プランの定義」の2ページ目が表示されます。
「使用可能な選択項目」タブで、ロード・プラン定義に含めるファクト・グループを選択します。
ファクト・グループは、ファクト・グループの階層に属している可能性があります。最上位レベルの親ファクト・グループのみを選択できます。子ファクト・グループは選択できません。
ロード・プランには、少なくとも1つのファクト・グループを含める必要があります。1つまたは複数のデータ・ソースから複数のファクト・グループを選択することもできます。
「保存」をクリックします。次のオプションが含まれるサブメニューが表示されます。
「保存」をクリックすると、ロード・プランが保存されます。保存したロード・プランは、「ロード・プラン」マスター・リストに表示されます。
「ロード計画の保存および生成」をクリックすると、ロード・プランが、保存されてからすぐに生成されます。
次の手順を実行して、既存のロード・プランを複製します。
既存のロード・プランを複製するには:
Oracle BI Applications構成マネージャの「タスク」ペインで、「ロード・プラン管理」という見出しの下に表示される「ロード・プランの管理」を選択します。
「ロード・プランの管理」ページが表示されます。
「ロード・プラン」マスター・リストで、複製するロード・プランを選択します。
「ロード・プラン」ツールバーで、「複製」アイコンをクリックします。
「ロード・プランの複製」ページが表示されます。
一連の「ロード・プランの複製」の最初のページで、次の情報を指定します。
フィールド | 説明 |
---|---|
名前 |
ロード・プランの一意の名前を入力します。 |
摘要 |
(オプション)ロード・プランについての追加情報を入力します。 |
ロード・プランタイプ |
(オプション)ロード・プラン・タイプを選択します。使用可能な値は次のとおりです。
|
ソース・インスタンス |
(オプション)ファクト・グループの選択元になるデータ・ソースを選択します。 |
「次へ」をクリックします。
一連の「ロード・プランの複製」の2ページ目が表示されます。
「使用可能な選択項目」タブで、ロード・プラン定義に含めるファクト・グループを選択します。
ファクト・グループは、ファクト・グループの階層に属している可能性があります。最上位レベルの親ファクト・グループのみを選択できます。子ファクト・グループは選択できません。
ロード・プランには、少なくとも1つのファクト・グループを含める必要があります。1つまたは複数のデータ・ソースから複数のファクト・グループを選択することもできます。
「保存」をクリックします。次のオプションが含まれるサブメニューが表示されます。
「保存」をクリックすると、ロード・プランが保存されます。保存したロード・プランは、「ロード・プラン」マスター・リストに表示されます。
「ロード計画の保存および生成」をクリックすると、ロード・プランが、保存されてからすぐに生成されます。
次の手順を実行して、既存のロード・プランを編集します。
既存のロード・プランを編集するには:
Oracle BI Applications構成マネージャの「タスク」ペインで、「ロード・プラン管理」という見出しの下に表示される「ロード・プランの管理」を選択します。
「ロード・プランの管理」ページが表示されます。
「ロード・プラン」マスター・リストで、編集するロード・プランを選択します。
「ロード・プラン」ツールバーで、「編集」アイコンをクリックします。
「ロード・プランの編集」ページが表示されます。
次のプロパティを編集できます。
フィールド | 説明 |
---|---|
名前 |
ロード・プランの一意の名前を入力します。 |
摘要 |
(オプション)ロード・プランについての追加情報を入力します。 |
ロード・プランタイプ |
(オプション)ロード・プラン・タイプを選択します。使用可能な値は次のとおりです。
|
ソース・インスタンス |
(オプション)ファクト・グループの選択元になるデータ・ソースを選択します。 |
「次へ」をクリックします。
一連の「ロード・プランの編集」の2ページ目が表示されます。
「使用可能な選択項目」タブで、ロード・プラン定義に含めるファクト・グループを選択します。
ファクト・グループは、ファクト・グループの階層に属している可能性があります。最上位レベルの親ファクト・グループのみを選択できます。子ファクト・グループは選択できません。
ロード・プランには、少なくとも1つのファクト・グループを含める必要があります。1つまたは複数のデータ・ソースから複数のファクト・グループを選択することもできます。
「保存」をクリックします。次のオプションが含まれるサブメニューが表示されます。
「保存」をクリックすると、ロード・プランが保存されます。保存したロード・プランは、「ロード・プラン」マスター・リストに表示されます。
「ロード計画の保存および生成」をクリックすると、ロード・プランが、保存されてからすぐに生成されます。
ロード・プランを生成すると、そのロード・プランがODIリポジトリで作成されます。ロード・プランは、実行前に正常に生成しておく必要があります。
注意: ロード・プランは、逐次生成しないと処理に失敗します。あるロード・プランの生成が進行中の場合は、2つ目のロード・プランの生成を開始しないでください。最初の生成プロセスが完了するまで待機してから、次の生成プロセスを開始する必要があります。
ロード・プランを生成するには:
Oracle BI Applications構成マネージャの「タスク」ペインで、「ロード・プラン管理」という見出しの下に表示される「ロード・プランの管理」を選択します。
「ロード・プランの管理」ページが表示されます。
「ロード・プラン」マスター・リストで、生成するロード・プランを選択します。
「ロード・プラン」ツールバーで、「生成」アイコンをクリックします。
次のアイコンは、「ロード・プラン」マスター・リストの「生成ステータス」列に表示される、使用可能な生成ステータスを示しています。「リフレッシュ」アイコンをクリックして、表示をリフレッシュします。
「生成ステータス」アイコン | 説明 |
---|---|
![]() |
開始 |
![]() |
進行中 |
![]() |
成功 |
![]() |
失敗 |
正常に生成されたロード・プランは、実行したり、後で実行するようにスケジューリングすることができます。
次の手順を実行して、ロード・プランの実行をスケジューリングします。
ロード・プランの実行をスケジューリングするには:
Oracle BI Applications構成マネージャの「タスク」ペインで、「ロード・プラン管理」という見出しの下に表示される「ロード・プランの管理」を選択します。
「ロード・プランの管理」ページが表示されます。
「ロード・プラン」リストで、スケジューリングするロード・プランを選択します。
「スケジュール」タブを選択します。
「スケジュール」タブのツールバーで、「追加」をクリックします。
「ロード・プランのスケジュール」ダイアログが表示されます。
次の情報を指定します。
フィールド | 説明 |
---|---|
コンテキスト |
ロード・プランの実行時に使用するODIコンテキスト。サポートされるコンテキストは、「グローバル」のみです。 |
ローカル・エージェント |
ロード・プランの実行時に使用するODIローカル・エージェント。 |
ログ・レベル |
保持するロギング情報のレベル。Oracle BI Applications構成マネージャでは、Oracle Diagnostic Loggingを使用します。ログ・ファイルと診断データの管理については、『Oracle Fusion Middleware管理者ガイド』を参照してください。 |
ステータス |
スケジュールのステータス。使用可能な値は次のとおりです。
|
反復 |
発生頻度。使用可能な値は次のとおりです。
「反復」オプションの選択内容に応じて、日時の選択オプションが動的に表示されます。 |
「スケジュール」をクリックします。
次の手順を実行して、ロード・プランを実行します。次の点に注意してください。
リソースごとに個別のロード・プランを用意できますが、ロード・プランのパラレル実行はできません。
ロード・プランは、正常に生成されている場合にのみ実行できます。手順については、「ロード・プランの生成」を参照してください。
ロード・プランを実行するには:
Oracle BI Applications構成マネージャの「タスク」ペインで、「ロード・プラン管理」という見出しの下に表示される「ロード・プランの管理」を選択します。
「ロード・プランの管理」ページが表示されます。
「ロード・プラン」リストで、実行するロード・プランを選択します。
「ロード・プラン」ツールバーで、「実行」アイコンをクリックします。
「ロード・プランの実行ダイアログ」が表示されます。
次の情報を指定します。
フィールド | 説明 |
---|---|
コンテキスト |
ロード・プランの実行時に使用するODIコンテキスト。サポートされるコンテキストは、「グローバル」のみです。 |
ローカル・エージェント |
ロード・プランの実行時に使用するODIローカル・エージェント。 |
Oracle Data Integrator作業リポジトリ |
ODI作業リポジトリの名前。 |
「OK」をクリックします。
次のアイコンは、「ロード・プラン」マスター・リストの「実行ステータス」列に表示される、使用可能な実行ステータスを示しています。「リフレッシュ」アイコンをクリックして、表示をリフレッシュします。
「生成ステータス」アイコン | 説明 |
---|---|
![]() |
開始 |
![]() |
進行中 |
![]() |
成功 |
![]() |
失敗 |
![]() |
実行しない |
(オプション)「実行ステータスの詳細の表示」アイコンをクリックして、実行のステータスに関する詳細情報を表示します。
ロード・プラン実行は、Oracle BI Applications構成マネージャの「ロード・プラン実行の詳細」ページの実行ステータス情報を参照することでモニターできます。
ロード・プラン実行の詳細を表示するには:
Oracle BI Applications構成マネージャの「タスク」ペインで、「ロード・プラン管理」という見出しの下に表示される「ロード・プランの管理」を選択します。
「ロード・プランの管理」ページが表示されます。
「ロード・プラン」マスター・リストで、参照するロード・プラン実行を選択します。
「ロード・プラン」ツールバーで、「実行ステータスの詳細の表示」アイコンをクリックします。
Oracle Data Integratorコンソールが表示されます。
適切な「ユーザーID」と「パスワード」を入力して、Oracle Data Integratorコンソールにログインします。
「ロード・プランの詳細」ページが表示されます。
このページに表示される情報の説明については、「「ロード・プランの詳細」ページ」を参照してください。
この項では、失敗したロード・プランの再開について説明します。次の項が含まれます:
ETLを実行して、ソース・システムのデータをOracle Business Analytics Warehouseにロードする場合、失敗したETLロードの再開が必要になることがあります。この項では、再開用に使用可能なオプションと、これらの各オプションを使用したときの影響について説明します。
ロード・プランが失敗する状況と原因の例には、次のものがあります。
ネットワーク障害、ユーザー名とパスワードの期限切れや誤りを原因とする、ソースまたはターゲット・データベースへのアクセスの問題。
ODIエージェントの障害。
領域またはストレージの問題。ソースまたはターゲット・データベースに接続できても、一時領域やディスク領域の不足により、問合せの実行に失敗する場合などです。ファイルの場合は、ファイルの配置場所に十分な空き領域がないことが原因になります。
データの問題。たとえば、ターゲット列が保持できる長さを超えている不適切なデータや、「NOT NULL」列におけるNull値などがあります。
ETLの実行中にこのような失敗が発生した場合、失敗したロード・プラン全体の再開(すべてのETLタスクの再実行が必要になる非能率的な作業)を回避するには、失敗の原因を診断および解決した後で、ロード・プラン実行の同じポイント(失敗が発生した時点)からロードを再開する必要があります。
失敗したロード・プランを再開するときには、失敗の発生場所やロード・プランのステップ間の依存関係によっては、失敗の厳密な発生ポイントから再開できないことがあります。再開可能なポイントとは、ロード・プランの失敗の種類に関係なく、ロード・プラン実行の最終結果が同じになるポイントのことです。
次の例では、完了済のステップを再実行する際の依存関係を対象とした要件について説明します。あるロード・プランには2つのステップがあり、最初のステップでは表が切り捨てられ、2つ目のステップでは表にレコードが挿入されます(その間にレコードがコミットされる)。このロード・プランを実行すると、2つ目のステップが空き領域の問題が原因で失敗します。問題の解決後に、2つ目のステップからロード・プランを再開することは不適切な処理です。ターゲットには複数の行が挿入されているからです。そうではなく、最初のステップから再開する必要があります。これにより、ターゲット表が再度切り捨てられるため、新たに挿入したデータによって重複が発生することはなくなります。
再開時におけるデータの整合性を保持するために、その単位は、失敗したステップのステップ階層での位置や、ロード・プラン・マネージャのステップの「再開」設定に応じて変化します。
ロード・プラン・マネージャの「ステップ階層」では、ステップの「再開」設定を「再開」列で参照および編集できます。階層内の各ステップに応じたデフォルト設定により、再開時のデータ整合性が確保されます。
ルート・ステップは、シリアルの場合は「失敗から再開」に、パラレルの場合は「失敗した子から再開」に設定されます。
サブ・ステップは、シリアルの場合は「失敗から再開」に、パラレルの場合は「失敗した子から再開」に設定されます。
シナリオ・ステップは、「失敗したステップから再開」に設定されます。
次の例では、ロード・プラン・ステップのタイプごとの影響について説明します。
シリアルのロード・プラン・ステップ
シリアル・ステップは、ロード・プラン・マネージャのステップ階層では水平アイコンで表されています。また、デフォルトでは、「再開」の設定が「失敗から再開」に設定されています。個々のディメンションを複数のシリアル・サブステップでロードする、ディメンション・グループのロード用ステップを実行する場合、ロード・プランが失敗したときは、再開時のロード・プランが、失敗の原因となった個々のサブステップから開始されます。正常に完了したシリアル・サブステップは、再実行されません。
パラレルのロード・プラン・ステップ
パラレル・ステップは、ロード・プラン・マネージャのステップ階層では垂直アイコンで表されています。また、デフォルトでは、「再開」の設定が「失敗した子から再開」に設定されています。通常の実行の場合、5つのパラレル・サブステップを配下に置く1つのパラレル・ステップでは、5つのサブステップがすべてパラレルで実行されます(使用可能な空きセッションが存在することが条件です)。これら5つのステップのうちの2つが完了しているときにロード・プランが失敗した場合、ロード・プランが再開されると、完了しなかったステップと失敗したステップがすべて再開されます。
シナリオ・ステップ
あらゆるロード・プランの最下位に位置するのがシナリオ・ステップです。親ステップは、(シリアルまたはパラレルにかかわらず)依存関係の設定に使用されますが、シナリオ・ステップは、表のロードを行います。1つのシナリオ・ステップには、パッケージ内のステップ数に応じて1つ以上のサブステップが含まれていることもあります。
実行時にシナリオ・ステップが失敗した場合、そのシナリオ・ステップが複数のステップを含んでいる可能性があることに注意してください。オペレータ・ログでは、同じセッションの下にそれらがすべて記載されていますが、異なるステップ番号(0、1、2など)で識別されています。再開する場合、シナリオは失敗した親シナリオ・ステップから実行されます(すべてのサブステップが再実行される)。
注意: ロード・プランの生成にロード・プラン・ジェネレータを使用すると、ロード・プランが前述の標準に自動的に準拠するようになります。生成されたロード・プランを手動で変更する場合や、ロード・プラン・ジェネレータを使用しないで新しいロード・プランを作成する場合は、前述の標準に準拠するようにしてください。 |
ODI StudioまたはODIコンソールを使用して、ロード・プランを再開します。この項では、ロード・プランの再開方法について説明します。次の項が含まれます:
次の手順を実行して、ODI Studioを使用してロード・プランを再開します。再開オプションは、ロード・プランの最終実行でのみ有効になります。ロード・プランは何度でも再開できます。また、そのたびに前回の失敗より前にロード・プランが進みます。
ODI Studioを使用してロード・プランを再開するには:
ODIオペレータで、オペレータ・ログに移動して、ロード・プランの最後に失敗した実行を選択します。
ロード・プラン実行をダブルクリックして、「再開」オプションを選択します。オペレータ・ログで最終実行を右クリックして、「再開」を選択することもできます。
次の手順を実行して、ODIコンソールを使用してロード・プランを再開します。再開オプションは、ロード・プランの最終実行でのみ有効になります。ロード・プランは何度でも再開できます。また、そのたびに前回の失敗より前にロード・プランが進みます。
ODIオペレータを使用してロード・プランを再開するには:
ODIコンソールで「ランタイム」に移動し、「セッション/ロード計画実行」を選択してから、失敗したロード・プラン実行を選択します。
「再開」をクリックします。「再開」ボタンは、選択したロード・プランが最後に実行したロード・プランの場合にのみ表示されます。
エラーで停止したロード・プランは、再開する必要があります。再開が必要になる別の状況としては、ロード・プランで何も実行されていない場合があります。たとえば、ロード・プランが実行されてから30分経ったのに何の変化もない場合があります。次のチェックリストは、無反応のロード・プランをトラブルシューティングする際に使用してください。
エージェントに対して設定した、実行可能な最大セッション数を確認します。ODIオペレータで、実行中のセッション数がこの最大数と等しいことを確認します。その場合、他のセッションは実行中のセッションの完了を待機しています。次のステップに進みます。
失効したセッションを除去します。失効したセッションとは、エージェントまたはリポジトリのクラッシュ後に、誤って実行中の状態が保持されているセッションのことです。セッションの開始後に、エージェントがクラッシュしたり、リポジトリへの接続を失ったりすると、リポジトリでセッションのステータスを更新できなくなり、そのようなセッションが失効してしまいます。失効したセッションが除去されるまで、リポジトリではそのセッションが実行中として示されますが、実際にはそうではありません。
失効したセッションは複数の方法で除去できます。次に、いくつかの例を示します。
オペレータ・ナビゲータまたはトポロジ・ナビゲータで、特定のエージェントに対して、失効したセッションを除去するように手動で要求できます。
失効したセッションは、エージェントの再開時に除去されます。
エージェントは新しいセッションを開始するときに、失効したセッションを確認して解決します。ただし、エージェントがリポジトリへの接続を失うと、失効したセッションを除去できなくなります。
エージェントが動作しているかどうかを確認します。エージェントが実行中であり、リポジトリへの接続を維持しているかどうかを確認するテストを行うには、ODI Studioのトポロジ・ナビゲータでエージェントを開いて、「テスト」タブを選択します。エージェントのテストに失敗した場合は、問題の修正後にエージェントを再開します。
ODIリポジトリと、このリポジトリをホストしているサーバーが実行中であり、障害が発生していないことを確認します。
エラーが発生したロード・プランで、前述のすべての項目を確認した後、ロード・プランを再開します。
この項では、失敗したロード・プランを再開するための代替方法について説明します。次の項が含まれます:
ほとんどの場合は、この項の前半で説明したロード・プランの再開方法が推奨されたアプローチです。このアプローチでは、データ整合性が確保されるため、手動エラーの余地はありません。ただし、ロード・プラン・ステップを手動で実行することが必要になる場合もあります。たとえば、あるステップが重複レコードを挿入していることが失敗の原因であるときに、そのステップを再実行すると重複レコードがまた挿入されてしまいます。このような場合、ロード・プランとは別に手動でデータを修正して、そのステップをロード・プランの再開時にスキップする必要があることがあります。このような状況では、「完了としてマーク」オプションを使用できます。
ロード・プラン・ステップを完了としてマークすると、ロード・プランの再開時に、マークされているステップは実行されません。この設定を行った担当者は、そのステップのロードをロード・プランとは別に実施する責任を負います。
ステップを完了としてマークするには、ステップを右クリックして「完了としてマーク」を選択します。これは、シナリオ・ステップ、またはそれより上位のステップで行えます。
ステップ階層のより上位にあるレベルで、ステップを完了としてマークすると、ロード・プランの再開時に、その親ステップの下にあるすべての子ステップが(実際には実行対象である場合でも)実行されなくなります。このような理由から、ステップを完了としてマークすることは高度なタスクと見なされており、その影響を完全に理解してから実行する必要があります。すべてのケースに当てはまる単一の推奨事項はありません。そのため、この設定は慎重にケース・バイ・ケースの判断で行ってください。
ロード・プランをモニターしているときに、シナリオ・ステップの失敗を修正する方法が完全にはわからないこともあります。このような場合、完全な解決策を待つのではなく、「完了としてマーク」オプションの使用を望むことがあります。これにより、1つのステップの失敗でロード・プラン全体の完了が妨げられることがなくなる一方、失敗したシナリオ・ステップに関する情報をETLチームに通知して、解決に取り組めるようになります。その後、ETLチームがシナリオを修正し、そのシナリオをロード・プランとは別にスタンドアロンで実行してロードを完了することがあります。
ステップを完了としてマークする場合と同様に、シナリオをスタンドアロンで実行することは高度なタスクと見なされているため、シナリオ実行の担当者は、次の点に注意する必要があります。
ロード・プランとは別に実行されるシナリオ自体で、表メンテナンス・プロセスが起動されます。これにより、設定によっては、ロード前に表が切り捨てられます。
これを理解するために、あるシナリオをロード・プランの内部で実行するときに、明示的なステップとして表メンテナンス・タスクが実行される場合について考えてみましょう(このステップの親ステップ名は「初期化」または「ファイナライズ」になる)。このシナリオは、ロード・プラン内から実行された場合は、表メンテナンス・プロセスを呼び出しません。正確にいうと、これはEXECUTION_ID変数で制御されています。これは、ロード・プランのインスタンスIDに設定されます。シナリオの実行時に、この変数が0より大きな値である場合、インスタンスIDを指定してロード・プラン内からシナリオを実行した場合と同様、表メンテナンス・プロセスが呼び出されなくなります。一方、この変数が0より大きな値でない場合は、シナリオが表メンテナンス・プロセスを呼び出します。これは、ロード・プランとは別にシナリオが実行されたときの状態です。ロード・プランとは別にシナリオを呼び出しているときに、EXECUTION_IDに値を設定すると、表メンテナンスのステップが呼び出されなくなります。
シナリオ・ステップでは、多くの変数値が設定されていることがあります。ロード・プラン内では、この値は、動的に設定(変数のリフレッシュの場合)されるか、明示的に設定(そのシナリオ・ステップで値をオーバーライドする)されます。ロード・プランとは別にシナリオを実行すると、すべてのシナリオ変数にデフォルト値のみが設定されるようになります。このような理由から、ロード・プランとは別にシナリオを呼び出す前に、該当する変数を慎重かつ適切に設定しておく必要があります。ロード・プラン内に存在する変数の値は、オペレータ・ログを調べることで確認できます(ロード・プランの実行時に、ログ・レベルを6に設定した場合)。Oracle BI Applications構成マネージャでは、Oracle Diagnostic Loggingを使用します。ログ・ファイルと診断データの管理については、『Oracle Fusion Middleware管理者ガイド』を参照してください。
この項では、再開可能性に関連するOracle BI Applicationsの機能のいくつかを示し、関連する考慮事項の一部を説明します。
CKMを使用した誤ったデータのフィルタ処理
シナリオ・ステップが不正なソース・データが原因で失敗するときには、CKMオプションを有効化して、有効なレコードをロードして、エラー・レコードを別の表にルーティングすることが望ましい場合があります。このような状況の例として、値が必要なときにNull値をロードする場合や、ターゲット列で許容されている長さを超えるデータをロードする場合です。ロードの完了後は、誤ったデータを修正して、後続のロードで自動的に取得できます。
注意: CKMを使用すると、ロードの速度が大幅に低下することがあります。これは、すべてのレコードと列がロード前に確認されることがあるためです。このため、このオプションをロード・プラン全体に対して有効にしないでください。 |
ロード・プラン実行中のシナリオの再生成
ロード・プランを開始した後、あるシナリオ・ステップで失敗する場合について考えてみましょう。問題を修正し、シナリオを再生成した後で、そのロード・プランを再開すると、新しいシナリオが取得されることが予期されますが、実際にはそうなりません。ロード・プランがすでに開始されていたときにシナリオを再生成すると、再生成されたシナリオ・コードは、そのロード・プランの再開時に取得されません。再生成したシナリオの取得を強制するには、次の2つのオプションを実行します。
新しいロード・プラン実行を開始します(ロードを最初から再開することに付随するオーバーヘッドを許容する)。
再生成したシナリオをロード・プランとは別にスタンドアロンとして実行します(ロード・プランを再開する前に、そのシナリオ・ステップをロード・プラン内で完了としてマークする)。これらのオプションを使用した場合の影響については、「「完了としてマーク」の使用」および「シナリオのスタンドアロン実行」を参照してください。
長時間実行ジョブの再開
実行に2時間かかるシナリオがある場合について考えてみましょう。このシナリオは、C$ステップとI$ステップのロード後に、新しい行を挿入するステップで失敗します。再開時には、シナリオでC$の再ロードが再試行されます。そうするのではなく、新しい行を挿入するステップからのみの再開が望まれますが、このような使用はサポートされていません。再開可能性のメカニズムは、ロード・プランを再開するだけで十分になるように導入されています。各ロード・プラン実行の間でデータをクリーンアップする必要はありません。これは、すべてのナレッジ・モジュールのステップが成功した後にのみ、ターゲット表にデータがコミットされるためです。正常に完了する前にロードが失敗した場合は、失敗したセッションの一環として、特定のターゲット表にデータがコミットされることはありません。(注意: C$表とI$表は再開時に新規作成されるため、それらの表に対するデータは、操作の合間にコミットされます)。
注意: 新しいC$表とI$表は再開時に作成されるため、それらの表に対するデータは、ロード・プランの開始と再開の合間にコミットされます。 |
失効したC$表およびI$表
再開時には、新しいC$表とI$表が作成されますが、前回のロードは完了していないため、前回のセッションからのこれらの表は削除されていません。ロード・プラン・ジェネレータを使用して生成したロード・プランには、ロード・プランの最後の部分に「失効した作業表の除去」というステップが含まれています。このステップは、ETL_DTOP_STG_OLDER_THAN_DAYSという変数をとります。この変数のデフォルト値は30日です。このステップを実行すると、指定された変数値よりも古いC$表とI$表が削除されます。
注意: C$表とI$表は、失敗したシナリオをデバッグする際に役立つ表です。デバッグ用の重要情報が失われてしまう可能性があるため、ETL_DTOP_STG_OLDER_THAN_DAYSに小さすぎる値(たとえば、1日)を設定することはお薦めできません。 |
ロード・プラン実行は、構成マネージャの「ロード・プラン実行」ページ(ツールバーの「実行ステータスの詳細の表示」をクリックする)にアクセスすることで停止することも、ODI Studioから停止することもできます。
ODI Studioからロード・プラン実行を停止するには:
オペレータ・ナビゲータの「ロード計画実行」アコーディオンから、停止する実行中のロード・プラン実行または待機中のロード・プラン実行を選択します。
右クリックして、「標準停止」または「即時停止」を選択します。
標準停止: 標準停止モードでは、ロード・プランの停止を担当するエージェントが、このロード・プランのセッションを実行している各エージェントに「標準停止」信号を送信します。各エージェントは、セッションの現在のタスクが完了するまで待機して、セッションをエラー状態で終了します。ロード・プランによる例外ステップの実行は行われなくなり、すべての例外が終了するとロード・プランがエラー状態に移行します。
即時停止: 即時停止モードでは、ロード・プランの停止を担当するエージェントが、このロード・プランのセッションを実行している各エージェントに「即時停止」信号を送信します。各エージェントは、セッションをエラー状態で即時終了し、セッションの現在のタスクの完了を待機しません。ロード・プランによる例外ステップの実行は行われなくなり、すべての例外が終了するとロード・プランがエラー状態に移行します。
「ロード・プランの停止」ダイアログで、ロード・プランを停止するエージェントを選択します。
「OK」をクリックします。
ODI Studioからロード・プラン実行を停止する方法の詳細は、Oracle Fusion Middleware Oracle Data Integrator開発者ガイドを参照してください。