スケジュールを使用して、Warehouse Builderで設計した操作の実行時期および実行頻度を計画します。スケジュールは、Oracle Databaseリリース10g以上で実行するマッピングおよびプロセス・フローに適用できます。
Warehouse Builderを使用する開発フェーズでは、マッピングとプロセス・フローをスケジューリングするかわりに、「オブジェクトを配布」で説明するように、「コントロール・センター」からすぐに起動および停止します。
スケジュールは、1回のみ実行するか、ユーザー・インタフェースで定義した間隔で繰り返し実行するように定義できます。定義する各スケジュールでは、Warehouse BuilderによりiCalカレンダ標準に準拠するコードが生成され、Oracle 10gのSchedulerやApplicationsのコンカレント・マネージャなどのスケジューラに配布できます。
スケジュールは、プロジェクトのコンテキストで定義され、プロジェクト・エクスプローラの「スケジュール」ノードのスケジュール・モジュールに含まれます。
図26-1に、プロジェクト・エクスプローラのスケジュールを示します。
Warehouse Builderでは、新規に作成するプロジェクトごとにデフォルトのスケジュール・モジュールMY_CAL_MODULE
が作成されます。デフォルト・モジュールの下にスケジュールを作成するか、「スケジュール」ノードを右クリックして「新規」を選択し、新規モジュールを作成します。
Oracle WorkflowへのWarehouse Builderスケジュールの配布
Warehouse Builderスケジュールを正常にOracle Workflowに配布するには、Oracle Warehouse Builderインストレーションおよび管理ガイドの説明に従って、Oracle Workflowの正しいバージョンにアクセスします。スケジュールされたジョブは、Workflowロケーションではなく、標準のデータベース・ロケーションに配布する必要があります。プロセス・フロー・パッケージのみをOracle Workflowに配布する必要があります。
スケジュールされたジョブは、プロセス・フローまたはマッピングなどの実行可能なオブジェクトを参照する場合があります。ジョブによってプロセス・フローが参照される場合、プロセス・フローをOracle Workflowに配布し、スケジュールされたジョブをデータベース・ロケーションまたはコンカレント・マネージャ・ロケーションに配布する必要があります。
スケジュールを配布するリモートOracle WorkflowのロケーションおよびリモートWarehouse Builder 10gのロケーションで、ターゲット・ロケーションにCREATE SYNONYM
システム権限があることを確認してください。評価ロケーションが指定されているか、配布ロケーションがコントロール・センター・スキーマの異なるデータベース・インスタンスを参照する場合、その配布ロケーションには、CREATE DATABASE LINK
システム権限が必要です。
スケジュールを作成するには、スケジュール・モジュールを右クリックして「新規」を選択します。
スケジュール・ウィザードが表示されます。
名前と説明ページで、 24文字以内でスケジュールの名前を入力します。
Warehouse Builderオブジェクトでは、ほとんどの場合、物理名は1から30文字までの英数字、およびビジネス名は1から2000文字までの英数字を使用できるというルールがあります。
スケジュール・ウィザードの指示に従ってください。
ウィザードを使用して、「開始日」、「終了日」、「開始時間」、「終了時間」、「頻度単位」、および「繰返し」の値を指定します。ウィザードを完了すると、Warehouse Builderにより、選択したスケジュール・モジュールの下にスケジュールが保存されます。
プロジェクト・エクスプローラで、ウィザードを使用して作成したスケジュールを右クリックして「エディタを開く」を選択します。
Warehouse Builderにスケジュール・エディタが表示されます。選択内容を確認して計算済実行時間の一覧を表示します。複合スケジュールの場合、「句」の値を入力できます。
マッピングまたはプロセス・フローにスケジュールを適用するには、プロジェクト・エクスプローラでオブジェクトを右クリックし、「構成」を選択します。「参照カレンダ」フィールドで、省略記号ボタンをクリックして既存のスケジュールのリストを表示します。
スケジュールするマッピングおよびプロセス・フローでは、物理名は25文字以内、ビジネス名は1995文字以内である必要があります。この制限により、Warehouse Builderでは、配布および実行で必要な接尾辞_jobおよびその他の内部文字をマッピング名に追加できるようになります。
スケジュールを配布します。
マッピングを配布する場合、たとえば関連するマッピングおよびプロセス・フローおよびターゲット・データ・オブジェクトも配布する必要があります。同様に、関連するスケジュールもすべて配布する必要があります。
関連するオブジェクトとともに正しく配布された場合、ターゲット・スキーマは作成したスケジュールに基づいてマッピングまたはプロセス・フローを実行します。
スケジュール・エディタを使用して、スケジュールを編集します。
エディタの左下のパネルには繰返し式が表示されます。この繰返し式を使用して、頻度単位、繰返し間隔および1つ以上の句を指定します。
右下のパネルにはスケジュールのプレビューが表示されます。[Enter]キーを押すか、スケジュール・エディタ上で新規セルにナビゲートするたびに、プレビューはリフレッシュされます。無効なスケジュールを指定すると、プレビューにエラー・メッセージが表示されます。
定義できるスケジュールの例は、「スケジュールの例」を参照してください。
開始日時と終了日時により、スケジュールの有効期間が定義されます。
最初にタイムゾーンを指定します。デフォルトの開始日を受け入れるか、将来の時点を指定できます。デフォルトの開始日と同一であるデフォルトの終了日は、必ず変更してください。
ウィザードで作業中に「次へ」をクリックすると、次のページが表示されます。
スケジュール・エディタで作業している場合、開始日時は「繰返し式」の「句」のデフォルトとなります。「スケジュール・プレビュー」の実行時刻は「開始時間」に対応しています。
スケジュールの実行頻度は、繰返し式で決定されます。「頻度単位」、「繰返し」の値、および1つ以上の「句」の値を指定して、繰返し式を定義します。
ウィザードで作業中は、「句」を使用できないことに注意してください。ウィザードの完了後、スケジュールを開き、スケジュール・エディタを使用して「句」を設定できます。
頻度単位
「頻度単位」により、繰返しのタイプが決定されます。可能な値は「年」、「月」、「週」、「日」、「時間」、「分」および「秒」です。
また、スケジュールを「1度」に実行するように定義することもできます。
繰返し
「繰返し」の値により、繰返し間隔が指定されます。デフォルト値は1、最大値は999です。「頻度単位」に「年」を選択して「繰返し」の値を1のままにすると、「開始日時および終了日時」で指定した日付範囲に含まれる年ごとにスケジュールが評価されます。同じスケジュールの「繰返し」の値を2に変更すると、スケジュールは指定した日付範囲内で1年おきにのみ評価されます。
句
「句」を使用すると、5週間ある月の第1金曜日に実行するスケジュールなど、複雑なスケジュールの繰返し式を定義できます。句ごとに値を入力するか、省略記号ボタンをクリックしてセレクタ・ダイアログ・ボックスを表示します。値を迅速に入力するには、最初にセレクタ・ダイアログ・ボックスを使用して有効な値を確認します。「スケジュールの例」も参照してください。
セレクタ・ダイアログ・ボックスを使用して「OK」を選択すると、結果がスケジュール・エディタに表示されます。このように、セレクタ・ダイアログ・ボックスを使用して有効な値を確認できます。
次の句を定義できます。
この句では、スケジュールが有効な月を1つ以上指定します。値を入力する場合、1月の場合は1、3月の場合は3のように数値を使用するか、2月の場合はFEB、7月の場合はJULのように3文字の略称を使用します。
年の週番号でスケジューリングできるのは、「頻度単位」で「年」を選択した場合のみです。
値を入力するか、省略記号ボタンをクリックしてセレクタ・ダイアログ・ボックスを表示できます。値を入力する場合、有効な値には年に応じて1から52または53までの正負の整数が含まれます。たとえば、年の最後から2番目の週に実行するようにスケジュールを設定するには、-2を入力するか、セレクタ・ダイアログ・ボックスに入力します。
「週番号」句は、週は月曜から始まって日曜で終わると定義する、ISO-8601に準拠しています。また、年の第1週はグレゴリオ暦の年の第1木曜と1月4日を含む週として定義されます。
この標準を使用すると、カレンダ年には52週または53週を含めることができます。第1週の一部は前のカレンダ年に含まれる場合があります。第52週の一部は次のカレンダ年に含まれる場合があります。年が53週の場合は、その一部を次のカレンダ年に含める必要があります。
たとえば、1998年の場合、第1週は1997年12月29日月曜から始まり、最後の第53週は1999年1月3日日曜に終わりました。したがって、1997年12月29日は1998年の第1週に含まれ、1999年1月1日は1998年の第53週に含まれることになります。
この句を使用して、年の通算日を数値として指定します。値1は1月1日、35は2月4日に相当します。有効な値は、1から366までと-366から-1までです。
負の値は、うるう年に関係なく年ごとに同じ日付を識別するのに役立ちます。たとえば、年の第60日は3月1日ですが、うるう年の場合は2月29日です。該当する負の値を計算するには、年の最終日から遡ってカウントします。そのため、12月31日の年の通算日は-1、12月30日の場合は-2となります。すべての3月1日のスケジュールを暦年に関係なく定義するには、「年の通算日」を-306に設定します。
この句では、月の通算日を数値として指定します。有効な値は1から31までと-1から-31までです。たとえば、10は選択した月の10日を意味します。最終日から遡ってカウントするにはマイナス記号(-)を使用します。たとえば、「月の通算日」句を-1に設定すると、スケジュールは各月の最終日に実行されます。値を-2に設定すると、スケジュールは各月の最終日の前日に実行されます。
この句では、月曜から日曜までの曜日をMON、TUEなどの書式で指定します。
「日」の値には、接頭辞として正および負の数値を使用できます。使用できる数値接頭辞は、「頻度単位」で選択する値に応じて異なります。
頻度単位として「年」を選択すると、「日」の接頭辞として年の週数を表す値(1から53および-53から-1)を使用できます。したがって、「日」の設定が26Friの場合は年の26番目の金曜に相当します。頻度単位が「年」の場合の入力-1Monは、年の最後の月曜に相当します。
頻度単位として「月」を選択すると、「日」の接頭辞として月の週数を表す値(1から5および-5から-1)を使用できます。この場合、頻度単位が「月」を設定した場合の入力-1Monは、各月の最終月曜に相当します。
Oracle Databaseバージョン10gリリース2以上を使用している場合、この句を使用して、以前評価されたタイムスタンプのリストでのアイテムの位置に基づいてスケジューリングできます。他の句を使用して、タイムスタンプのリストを戻します。次に、「設定位置」句を追加して、リストから1つ以上のアイテムを選択します。この句は、月の最後の平日にジョブを実行するなどの要件がある場合に役立ちます。有効な値は-1から9999です。負の数値の場合はリストの末尾からアイテムが選択され(-1が最後のアイテム、-2が最後から2番目のアイテムとなります)、正の数値の場合はリストの先頭からアイテムが選択されます。この句の評価は、通常、最後に行われ、頻度ごとに1回のみ行われます。サポートされる頻度は、「月」および「年」です。
表26-1は、スケジュールを定義する際の参考にしてください。
表26-1 スケジュールの繰返し式の例
スケジュールの説明 | 頻度単位 | 繰返し | 句 |
---|---|---|---|
毎週金曜 |
週 |
1週 |
日= FRI |
隔週金曜 |
週 |
2週 |
日= FRI |
毎月最終日 |
月 |
1か月 |
月の通算日= -1 |
毎月最終日前日 |
月 |
1か月 |
月の通算日= -2 |
5週ある月の第1金曜日 |
月 |
1か月 |
日= -5FRI |
毎月最後の平日 |
月 |
1か月 |
日=MON、TUE、WED、THU、FRI 設定位置=-1 |
3月10日 |
年 |
1年 |
月= MAR 月の通算日= 10 |
12日に1回 |
日 |
12日 |
n/a |
毎日午前8時と午後5時 |
日 |
1日 |
時= 8、17 |
毎月第2水曜日 |
月 |
1か月 |
日= 2 WED |
毎月最初の3日間の毎時 |
時 |
1時間 |
月の通算日= 1、2、3 |
スケジュール・エディタを使用して、スケジュールを編集します。
エディタの左下のパネルには繰返し式が表示されます。この繰返し式を使用して、頻度単位、繰返し間隔および1つ以上の句を指定します。
右下のパネルにはスケジュールのプレビューが表示されます。[Enter]キーを押すか、スケジュール・エディタ上で新規セルにナビゲートするたびに、プレビューはリフレッシュされます。無効なスケジュールを指定すると、プレビューにエラー・メッセージが表示されます。
定義できるスケジュールの例は、「スケジュールの例」を参照してください。
開始日時と終了日時により、スケジュールの有効期間が定義されます。
最初にタイムゾーンを指定します。デフォルトの開始日を受け入れるか、将来の時点を指定できます。デフォルトの開始日と同一であるデフォルトの終了日は、必ず変更してください。
ウィザードで作業中に「次へ」をクリックすると、次のページが表示されます。
スケジュール・エディタで作業している場合、開始日時は「繰返し式」の「句」のデフォルトとなります。「スケジュール・プレビュー」の実行時刻は「開始時間」に対応しています。
スケジュールの実行頻度は、繰返し式で決定されます。「頻度単位」、「繰返し」の値、および1つ以上の「句」の値を指定して、繰返し式を定義します。
ウィザードで作業中は、「句」を使用できないことに注意してください。ウィザードの完了後、スケジュールを開き、スケジュール・エディタを使用して「句」を設定できます。
頻度単位
「頻度単位」により、繰返しのタイプが決定されます。可能な値は「年」、「月」、「週」、「日」、「時間」、「分」および「秒」です。
また、スケジュールを「1度」に実行するように定義することもできます。
繰返し
「繰返し」の値により、繰返し間隔が指定されます。デフォルト値は1、最大値は999です。「頻度単位」に「年」を選択して「繰返し」の値を1のままにすると、「開始日時および終了日時」で指定した日付範囲に含まれる年ごとにスケジュールが評価されます。同じスケジュールの「繰返し」の値を2に変更すると、スケジュールは指定した日付範囲内で1年おきにのみ評価されます。
句
「句」を使用すると、5週間ある月の第1金曜日に実行するスケジュールなど、複雑なスケジュールの繰返し式を定義できます。句ごとに値を入力するか、省略記号ボタンをクリックしてセレクタ・ダイアログ・ボックスを表示します。値を迅速に入力するには、最初にセレクタ・ダイアログ・ボックスを使用して有効な値を確認します。「スケジュールの例」も参照してください。
セレクタ・ダイアログ・ボックスを使用して「OK」を選択すると、結果がスケジュール・エディタに表示されます。このように、セレクタ・ダイアログ・ボックスを使用して有効な値を確認できます。
次の句を定義できます。
この句では、スケジュールが有効な月を1つ以上指定します。値を入力する場合、1月の場合は1、3月の場合は3のように数値を使用するか、2月の場合はFEB、7月の場合はJULのように3文字の略称を使用します。
年の週番号でスケジューリングできるのは、「頻度単位」で「年」を選択した場合のみです。
値を入力するか、省略記号ボタンをクリックしてセレクタ・ダイアログ・ボックスを表示できます。値を入力する場合、有効な値には年に応じて1から52または53までの正負の整数が含まれます。たとえば、年の最後から2番目の週に実行するようにスケジュールを設定するには、-2を入力するか、セレクタ・ダイアログ・ボックスに入力します。
「週番号」句は、週は月曜から始まって日曜で終わると定義する、ISO-8601に準拠しています。また、年の第1週はグレゴリオ暦の年の第1木曜と1月4日を含む週として定義されます。
この標準を使用すると、カレンダ年には52週または53週を含めることができます。第1週の一部は前のカレンダ年に含まれる場合があります。第52週の一部は次のカレンダ年に含まれる場合があります。年が53週の場合は、その一部を次のカレンダ年に含める必要があります。
たとえば、1998年の場合、第1週は1997年12月29日月曜から始まり、最後の第53週は1999年1月3日日曜に終わりました。したがって、1997年12月29日は1998年の第1週に含まれ、1999年1月1日は1998年の第53週に含まれることになります。
この句を使用して、年の通算日を数値として指定します。値1は1月1日、35は2月4日に相当します。有効な値は、1から366までと-366から-1までです。
負の値は、うるう年に関係なく年ごとに同じ日付を識別するのに役立ちます。たとえば、年の第60日は3月1日ですが、うるう年の場合は2月29日です。該当する負の値を計算するには、年の最終日から遡ってカウントします。そのため、12月31日の年の通算日は-1、12月30日の場合は-2となります。すべての3月1日のスケジュールを暦年に関係なく定義するには、「年の通算日」を-306に設定します。
この句では、月の通算日を数値として指定します。有効な値は1から31までと-1から-31までです。たとえば、10は選択した月の10日を意味します。最終日から遡ってカウントするにはマイナス記号(-)を使用します。たとえば、「月の通算日」句を-1に設定すると、スケジュールは各月の最終日に実行されます。値を-2に設定すると、スケジュールは各月の最終日の前日に実行されます。
この句では、月曜から日曜までの曜日をMON、TUEなどの書式で指定します。
「日」の値には、接頭辞として正および負の数値を使用できます。使用できる数値接頭辞は、「頻度単位」で選択する値に応じて異なります。
頻度単位として「年」を選択すると、「日」の接頭辞として年の週数を表す値(1から53および-53から-1)を使用できます。したがって、「日」の設定が26Friの場合は年の26番目の金曜に相当します。頻度単位が「年」の場合の入力-1Monは、年の最後の月曜に相当します。
頻度単位として「月」を選択すると、「日」の接頭辞として月の週数を表す値(1から5および-5から-1)を使用できます。この場合、頻度単位が「月」を設定した場合の入力-1Monは、各月の最終月曜に相当します。
この句を使用すると、時間単位でスケジュールできます。有効な値は0から23で、0は午前0時、5は午前5時、13は午後1時、23は午後11時です。
この句を使用すると、分単位でスケジュールできます。有効な値は0から59です。たとえば、45は45分後を意味します。
この句を使用すると、秒単位でスケジュールできます。有効な値は0から59です。たとえば、30は30秒後を意味します。
Oracle Databaseバージョン10gリリース2以上を使用している場合、この句を使用して、以前評価されたタイムスタンプのリストでのアイテムの位置に基づいてスケジューリングできます。他の句を使用して、タイムスタンプのリストを戻します。次に、「設定位置」句を追加して、リストから1つ以上のアイテムを選択します。この句は、月の最後の平日にジョブを実行するなどの要件がある場合に役立ちます。有効な値は-1から9999です。負の数値の場合はリストの末尾からアイテムが選択され(-1が最後のアイテム、-2が最後から2番目のアイテムとなります)、正の数値の場合はリストの先頭からアイテムが選択されます。この句の評価は、通常、最後に行われ、頻度ごとに1回のみ行われます。サポートされる頻度は、「月」および「年」です。