| Oracle Workflow管理者ガイド リリース12 E05663-01 | 目次 | 前へ | 次へ |
この章では、ワークフロー管理者がOracle Workflowサーバー・インストールに対して実行できるSQLスクリプトについて説明します。
この章の内容は、次のとおりです。
次の管理スクリプトを使用すると、Oracle Workflowの各種機能を設定して管理できます。 各スクリプトは$FND_TOP/sqlディレクトリにあります。
変換表の更新: WFNLADD.sql
言語の有効化/無効化: wfnlena.sql
ワークフロー・プロセスの実行: wfrun.sql
バックグラウンド・エンジンの次回の実行のために繰り延べられたアクティビティの表示: wfbkgchk.sql
項目のステータス・レポートの表示
通知のステータスの表示: wfntfsh.sql
通知のデバッグ情報の表示: wfmlrdbg.sql
オブジェクトの保護レベルの再設定: wfprot.sql
エラーが発生したアクティビティの処理: wfretry.sql
バージョン・エラーおよびプロセス定義エラーのチェック
無効な外部キーのチェック: wfrefchk.sql
ディレクトリ・サービスのデータ・モデルのチェック: wfdirchk.sql
注意: 通常、Oracle Workflow Builderでは、ワークフロー・オブジェクトの内部名は更新できません。ただし、プロセス定義をデータベースにロードする場合に、オブジェクトに対するランタイム・データが存在しなければ、スクリプトの1つを使用して、ワークフロー・オブジェクトの内部名を更新できます。このスクリプトは、設計時にオブジェクトの内部名に関するエラーを訂正する場合にのみ使用してください。プロセスの実行中のインスタンスに関連するオブジェクトの名前の変更には、使用しないでください。
Oracle Workflowの表からのデータ削除
注意: 「廃止ワークフロー・ランタイム・データのパージ」と呼ばれるコンカレント・プログラムも使用できます。「FNDWFPR」を参照してください。
Oracle Workflow Serverのバージョンの表示: wfver.sql
Java関数アクティビティ・エージェントの停止: wfjvstop.sql
オーバーライド・エージェントによるキューへのイベント・メッセージのエンキュー: wfevtenq.sql
インバウンド・イベント・メッセージに関してエージェントをモニターするリスナーの実行: wfagtlst.sql
イベントのデバッグ情報の表示: wfbesdbg.sql
標準コンカレント・プログラムFNDWFPR「廃止ワークフロー・ランタイム・データのパージ」を使用して、古くなったデータをOracle Workflow表から定期的に削除してください。
このプログラムでは、ステータス情報、関連付けられた通知やOracle XML Gateway取引など、作業項目に関連する不要なランタイム情報が削除されます。また、デフォルトでは、使用されなくなったアクティビティ、失効したアドホックのユーザーやロールなどの不要な設計情報、およびワークフロー・プロセスを介して処理されなかった通知やOracle XML Gateway取引などの作業項目に関連しない不要なランタイム情報も削除されます。高アクティビティ期間中ではパフォーマンスを改善するために作業項目に関連付けられたコアとなるランタイム情報のみをパージし、低アクティビティ期間中では日常的な保守の一部としてすべての不要な情報をパージすることもできます。
将来参照できるように電子署名証拠を保持するために、このプログラムでは署名を必要とする通知や関連する署名情報はデフォルトで削除されません。 署名証拠を保守する必要がない場合は、署名関連情報を削除するように選択できます。
Oracle Applicationsの「要求の発行」フォームに移動し、廃止ワークフロー・ランタイム・データのパージ・コンカレント・プログラムを発行します。Oracle ApplicationsとOracle Workflowをインストールして設定するときに、システム管理者はこのコンカレント・プログラムを実行する職責の要求セキュリティ・グループに追加する必要があります。『Oracle Applicationsシステム管理者ガイド』のコンカレント・プログラムおよびコンカレント要求の概要に関する項、および『Oracle Applicationsユーザーズ・ガイド』のレポートおよびプログラムの実行に関する項を参照してください。
廃止ワークフロー・ランタイム・データのパージ・コンカレント・プログラムには、次のパラメータを渡すことができます。
項目タイプ: 削除する項目タイプ。このフィールドを空のままにすると、デフォルトですべての項目タイプのランタイム・データが削除されます。
項目キー: 削除する項目キー。このフィールドを空のままにすると、デフォルトですべての項目キーのランタイム・データが削除されます。
日数: 削除するデータの最小経過日数。 デフォルトは0(ゼロ)です。
持続タイプ: 削除の持続タイプ(「一時」または「永久」)。 デフォルトは「一時」です。
コア・ワークフローのみ: 作業項目に関連する不要なランタイム・データのみを削除するには「Y」を入力し、すべての不要なランタイム・データとともに不要な設計データも削除するには「N」を入力します。デフォルトは「N」です。
コミット頻度: プログラムによりデータがコミットされる前に削除するレコードの数。 ロールバック・サイズを小さくしてパフォーマンスを向上させるには、このパラメータを設定してデータ・コミット前のレコード数を少なくします。 デフォルトは500レコードです。
注意: プログラムでは、コミットの実行後、次の開始日を持つ作業項目のパージが再開されます。 コミット前に最後にパージされた項目と同じ開始日を持つ項目が他にも存在すると、プログラムですべての該当項目が削除されない場合があります。 このように残った作業項目を削除するには、単にプログラムを再実行します。
署名済通知: 署名を必要とする通知と関連する署名情報を含む署名証拠を保持するには、「N」を入力します。 署名関連情報を削除するには「Y」を入力します。デフォルトは「N」です。
注意: 「廃止ワークフロー・ランタイム・データのパージ」コンカレント・プログラムの発行と管理には、Oracle Workflow Managerを使用できます。 「ワークフロー・データのパージ」を参照してください。
また、「廃止ECXデータのパージ」コンカレント・プログラムを使用すると、Oracle XML Gateway固有のパラメータに従ってOracle XML Gateway取引をパージできます。 『Oracle XML Gatewayユーザーズ・ガイド』の「廃止ECXデータのパージ」コンカレント・プログラムに関する項を参照してください。
Oracleインストールで新しい言語を使用可能にする場合は、WFNLADD.sqlを使用してOracle Workflowの変換表にその言語用の欠落行を追加します。「追加言語の設定」および「wfnlena.sql」を参照してください。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @WFNLADD
注意: wfnlena.sqlスクリプトとWFNLADD.sqlスクリプトは、他の言語でワークフロー定義をロードするためにデータベースを準備します。ただし、それらのスクリプトのみでは、Oracle WorkflowのWebページを他の言語で表示することはできません。「追加言語の設定」を参照してください。
wfagtlst.sqlを使用してPL/SQLエージェント・リスナーを実行すると、インバウンド・イベント・メッセージのエージェントをモニターできます。メッセージが着信すると、イベント・マネージャは、「外部」ソース・タイプを持つそのイベントの有効なサブスクリプションを、ローカル・システム単位に検索および実行します。また、「外部」ソース・タイプを持つAnyイベントの有効なサブスクリプションを、ローカル・システム単位に検索および実行します。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfagtlst <agent_name>
<agent_name>は、モニターするインバウンド・イベント・メッセージのエージェントの内部名に置き換えます。
注意: このスクリプトは、主にデバッグ用として使用してください。
関連項目
『Oracle Workflow APIリファレンス』のListenに関する項
wfbesdbg.sqlを使用すると、イベントのステータスの確認やエラーの調査に使用するイベントのデバッグ情報を表示できます。 このスクリプトでは、wfevtdbg<event_key>.htmlという出力ファイルが作成されます。<event_key>は、イベントの特定インスタンスのイベント・キーです。 この出力ファイルには、ローカル・システムとエージェント・リスナーのステータス、指定したイベントとそのイベントへのサブスクリプションの定義の詳細、指定したイベント・インスタンスの詳細(次のいずれかのキューに存在する場合)などの、ビジネス・イベント・システムの詳細が表示されます。
WF_DEFERRED
WF_JAVA_DEFERRED
WF_ERROR
WF_JAVA_ERROR
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfbesdbg <event_name> <event_key>
<event_name>はイベント名に置き換え、<event_key>はイベントの特定インスタンスを識別するイベント・キーに置き換えます。 イベント名およびイベント・キーのパラメータには、大/小文字区別があります。
注意: Oracle Diagnosticsのイベント診断テストを実行して、この情報を取得することもできます。 「イベント診断テスト」を参照してください。
wfbkgchk.sqlを使用すると、バックグラウンド・エンジンを次回に実行するまでに処理待ちになっているすべてのアクティビティのリストを表示できます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfbkgchk <WF_schema>
<WF_schema>は、Oracle Workflowのスキーマ(通常はapplsys)に置き換えます。
関連項目
『Oracle Workflow APIリファレンス』のBackgroundに関する項
wfchact.sqlを使用すると、アクティビティの内部名の変更や、アクティビティのすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfchact <act_type> <old_act> <new_act>
<act_type>は、更新するアクティビティに関連付けられている項目タイプに、<old_act>は、アクティビティの現行の内部名に、<new_act>は、アクティビティの新規の内部名にそれぞれ置き換えます。
wfchacta.sqlを使用すると、アクティビティ属性の内部名の変更や、アクティビティ属性のすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfchacta <act_type> <old_acta> <new_acta>
<act_type>は、更新するアクティビティ属性に関連付けられている項目タイプに、<old_acta>は、アクティビティ属性の現行の内部名に、<new_acta>は、アクティビティ属性の新規の内部名にそれぞれ置き換えます。
wfchita.sqlを使用すると、項目属性の内部名の変更や、項目属性のすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfchita <item_type> <old_attr> <new_attr>
<item_type>は、更新する項目属性に関連付けられている項目タイプに、<old_attr>は、項目属性の現行の内部名に、<new_attr>は、項目属性の新規の内部名にそれぞれ置き換えます。
wfchitt.sqlを使用すると、項目タイプの内部名の変更や、項目タイプのすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfchitt <old_type> <new_type>
<old_type>は、項目タイプの現行の内部名に置き換え、<new_type>は、項目タイプの新規の内部名に置き換えます。
wfchluc.sqlを使用すると、選択肢コードの内部名の変更や、選択肢コードのすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfchluc <lookup_type> <old_luc> <new_luc>
<lookup_type>は、更新する選択肢コードの選択肢タイプに、<old_luc>は、選択肢コードの現行の内部名に、<new_luc>は、選択肢コードの新規の内部名にそれぞれ置き換えます。
wfchlut.sqlを使用すると、選択肢タイプの内部名の変更や、選択肢タイプのすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfchlut <old_lut> <new_lut>
<old_lut>は、選択肢タイプの現行の内部名に置き換え、<new_lut>は、選択肢タイプの新規の内部名に置き換えます。
wfchmsg.sqlを使用すると、メッセージの内部名の変更や、メッセージのすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfchmsg <msg_type> <old_msg> <new_msg>
<msg_type>は、更新するメッセージの項目タイプに、<old_msg>は、メッセージの現行の内部名に、<new_msg>は、メッセージの新規の内部名にそれぞれ置き換えます。
wfchmsga.sqlを使用すると、メッセージ属性の内部名を変更できます。ただし、このスクリプトでは、メッセージの件名や本文のメッセージ属性への参照は更新されません。メッセージ属性の参照は、手動で更新する必要があります。「ワークフロー・オブジェクトの内部名の変更」を参照してください。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfchmsga <msg_type> <msg_name> <old_attr> <new_attr>
<msg_type>は、更新するメッセージ属性の項目タイプに、<msg_name>は、メッセージ属性が属するメッセージの内部名に、<old_attr>は、メッセージ属性の現行の内部名に、<new_attr>は、メッセージ属性の新規の内部名にそれぞれ置き換えます。
wfdirchk.sqlを使用すると、ディレクトリ・サービスのデータ・モデル内で次の条件をチェックできます。
WF_USERS内の文字「#」、「:」、または「/」を含む無効な内部名
WF_USERSまたはWF_ROLES内の無効な複合名
WF_USERSまたはWF_ROLES内の重複名
WF_USERSまたはWF_ROLES内で元のリポジトリ内の同じ行にリンクされている複数の名前
WF_USERSまたはWF_ROLES内の不明な表示名
Eメールの受信のためにWF_USERSまたはWF_ROLESに通知作業環境が設定された場合、無効な通知作業環境または空のEメール・アドレス
WF_USERS内の無効なステータス
WF_ROLES内に対応する行がないWF_USERS内の行
WF_ROLES内で文字「#」または「/」を含むか、あるいは長さ30文字(半角英数字)を超える無効な内部名
WF_USER_ROLES内の無効なユーザー/ロール外部キー
WF_USER_ROLES内の不明なユーザー/ロール(すべてのユーザーは、各自のロールに参加する必要があります。)
WF_USER_ROLES内の重複行
wfdirchk.sqlでは、ディレクトリ・サービスのデータ・モデルが正しいかどうかを確認する行は戻されません。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfdirchk
wfevtenq.sqlでは、オーバーライド・エージェントを使用してイベント・メッセージをローカル・キューにエンキューできます。このスクリプトでは、指定したイベント名、イベント・キー、イベント・データ、送信元エージェントおよび宛先エージェントを使用してイベント・メッセージを作成します。作成したイベント・メッセージは、指定したオーバーライド・エージェントに関連付けられているキューにエンキューされます。オーバーライド・エージェントには、イベント・メッセージの送信元エージェント以外のエージェントを指定できます。オーバーライド・エージェントを指定しない場合、イベント・メッセージはメッセージの送信元エージェントにデフォルトでエンキューされます。
注意: このスクリプトでは、ローカル・システム上のエージェントのキューにのみイベント・メッセージをエンキューできます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfevtenq <overrideagent> <overridesystem>
<fromagent> <fromsystem> <toagent> <tosystem> <eventname>
<eventkey> <message>
次のように、各変数を適切なパラメータに置き換えます。
<overrideagent>: イベント・メッセージをエンキューするキューのエージェント
<overridesystem>: オーバーライド・エージェントが配置されているシステム
<fromagent>: イベント・メッセージに追加する送信元エージェント
<fromsystem>: 送信元エージェントが配置されているシステム
<toagent>: イベント・メッセージを受信する宛先エージェント
<tosystem>: 宛先エージェントが配置されているシステム
<eventname>: イベントの内部名
<eventkey>: イベントのインスタンスを一意に識別するイベント・キー
<message>: イベント・データ
wfjvstop.sqlを使用すると、停止メッセージを送信キューに配置して、Java関数アクティビティ・エージェントを停止できます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfjvstop
wfmlrdbg.sqlを使用すると、通知のステータスの確認やエラーの調査に使用する通知のデバッグ情報を表示できます。このスクリプトは、wfmlrdbg<nid>.htmlという名前の出力ファイルを作成します。<nid>は、通知ID(NID)です。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfmlrdbg <nid>
<nid>は、通知の通知IDに置き換えます。
注意: Oracle Diagnosticsのメーラー診断テストを実行して、この情報を取得することもできます。「メーラー診断テスト」を参照してください。
Oracleインストールで新しい言語を定義する場合は、wfnlena.sqlを使用すると、その言語をOracle Workflowで使用可能または使用不可にすることができます。「WFNLADD.sql」を参照してください。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfnlena <language_code> <enable_flag>
<language_code>は、有効な言語コードに置き換えます。指定した言語を使用可能にする場合は<enable_flag>をYに、使用不可にする場合はNに置き換えます。
注意: wfnlena.sqlスクリプトとWFNLADD.sqlスクリプトは、他の言語でワークフロー定義をロードするためにデータベースを準備します。ただし、それらのスクリプトのみでは、Oracle WorkflowのWebページを他の言語で表示することはできません。「追加言語の設定」を参照してください。
wfntfsh.sqlを使用すると、通知IDを指定した特定の通知のステータスに関する情報を表示できます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfntfsh <notification_id>
wfprot.sqlを使用すると、指定した項目タイプに関連したすべてのオブジェクトの保護レベルを再設定できます。
重要: ある項目タイプのすべてのオブジェクトの保護レベルを再設定すると、新規の保護レベルより上位のアクセス・レベルで操作するユーザーは、その項目タイプの各オブジェクトをカスタマイズできなくなります。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfprot <item_type> <protection_level>
<item_type>は、保護レベルを再設定する項目タイプに置き換え、<protection_level>は、新しい保護レベルに置き換えます。
wfrefchk.sqlを使用すると、外部キーに対する主キー・データのない、無効なワークフロー・データを検索できます。
sqlplus <user/pwd> @wfrefchk
wfretry.sqlを使用すると、特定プロセスのインスタンスに関してエラーが発生したアクティビティのリストを表示し、そのアクティビティをスキップするか、再試行するか、または再設定するかを指定できます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfretry <item_type> <item_key>
項目タイプと項目キーを指定して、特定の項目またはプロセスのインスタンスを識別します。このスクリプトでは、最初に、エラーが発生したアクティビティのラベル名別リストが戻されます。次に、スキップ、再試行または再設定するアクティビティのラベル名を求めるプロンプトが表示されます。スキップするように選択した場合は、スキップするアクティビティの結果も指定する必要があります。
注意: このスクリプトでは、WF_ENGINE HandleError APIがコールされるため、実際には指定した項目タイプと項目キーに関連した任意のアクティビティのラベル名を指定して、ロールバックを実行できます。『Oracle Workflow APIリファレンス』のHandleErrorに関する項を参照してください。
wfrmall.sqlを使用すると、Oracle Workflowの設計時と実行時のすべての表の全データを削除できます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfrmall
警告: このスクリプトを実行すると、すべてのワークフロー定義が削除されます。実行時と設計時の表からすべてのワークフロー・データを削除することに絶対的な確信がないかぎり、このスクリプトは使用しないでください。
このスクリプトを実行した後に、「標準」、「システム: メーラー」および「システム: エラー」項目タイプのワークフロー定義も再ロードする必要があります。各ワークフロー定義は、それぞれファイルwfstd.wft、wfmail.wftおよびwferror.wftに格納されています。
wfrmita.sqlを使用すると、指定した項目タイプ属性のワークフロー・データをすべて削除できます。このスクリプトを実行すると、削除対象の項目タイプと属性名の入力を求めるプロンプトが表示されます。または、Oracle Workflow Builderを使用して、ファイルまたはデータベースに格納されたワークフロー定義から、項目タイプ属性を削除することもできます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfrmita
wfrmitms.sqlを使用すると、Oracle Workflowの実行時の表から特定項目のステータス情報を削除できます。このスクリプトを実行すると、指定した項目タイプと項目キーに関連したすべてのデータを削除するか、指定した項目タイプと項目キーの完了したアクティビティのデータのみを削除するかの選択を求めるプロンプトが表示されます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfrmitms <item_type> <item_key>
wfrmitt.sqlを使用すると、Oracle Workflowの設計時と実行時のすべての表から、特定の項目タイプの全データを削除できます。このスクリプトを実行すると、有効な項目タイプのリストから項目タイプを選択するように求めるプロンプトが表示されます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfrmitt
警告: このスクリプトを実行すると、指定した項目タイプのワークフロー・データがすべて削除されます。
wfrmtype.sqlを使用すると、特定の項目タイプに関連したランタイム・データを削除できます。このスクリプトを実行すると、削除する項目タイプを有効な値リストから選択するように求めるプロンプトが表示されます。次に、指定した項目タイプに関連したすべてのランタイム・データを削除するか、または指定した項目タイプの完了したアクティビティと項目のランタイム・データのみ削除するかが確認されます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfrmtype
wfrun.sqlを使用すると、指定したプロセスを作成して開始できます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfrun <item_type> <item_key> <process_name>
注意: プロセス・インスタンスの項目キーには、1バイトのキャラクタのみ使用できます。マルチバイトの値を含めることはできません。
wfstat.sqlを使用すると、指定した項目の開発者用ステータス・レポートを表示できます。出力は半角英数字で1行当り132文字です。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfstat <item_type> <item_key>
wfstatus.sqlを使用すると、指定した項目のエンド・ユーザー用ステータス・レポートを表示できます。出力は半角英数字で1行当り132文字です。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfstatus <item_type> <item_key>
wfstdchk.sqlを使用すると、Oracle Workflowデータ・モデルで検出された問題をチェックしてレポートできます。たとえば、このスクリプトは、無効な関数を参照する関数アクティビティをレポートし、各ワークフロー・プロセス定義オブジェクト表を検索して、各行に有効な内部名と表示名があるかどうかを検証します。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfstdchk
wfver.sqlを使用すると、インストールされているOracle Workflow Serverのバージョン、Oracle Workflow PL/SQLパッケージのステータスとバージョン、およびOracle Workflowビューのバージョンを表示できます。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfver
wfverchk.sqlを使用するのは、アクティビティの複数のバージョンが同時にアクティブになっており、それがワークフロー・プロセスで起きている問題の原因と思われる場合です。このスクリプトは、複数バージョンが同時にアクティブであるように見える原因となっている、アクティビティのエラーを識別します。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfverchk
wfverupd.sqlを使用すると、アクティビティの複数のバージョンが同時にアクティブになっていることが原因で、ワークフロー・プロセスで起きている問題を解決できます。このスクリプトは、複数バージョンが同時にアクティブであるように見える原因となっている、アクティビティのエラーを識別し、修正します。
このスクリプトの使用方法は、次のとおりです。
sqlplus <user/pwd> @wfverupd