ヘッダーをスキップ

Oracle Workflow管理者ガイド
リリース12
E05663-01
目次へ
目次
前へ
前へ
次へ
次へ

Oracle Workflowの管理スクリプト

この章では、ワークフロー管理者がOracle Workflowサーバー・インストールに対して実行できるSQLスクリプトについて説明します。

この章の内容は、次のとおりです。

Oracle Workflowの管理用SQLスクリプト

次の管理スクリプトを使用すると、Oracle Workflowの各種機能を設定して管理できます。 各スクリプトは$FND_TOP/sqlディレクトリにあります。

FNDWFPR

標準コンカレント・プログラムFNDWFPR「廃止ワークフロー・ランタイム・データのパージ」を使用して、古くなったデータをOracle Workflow表から定期的に削除してください。

このプログラムでは、ステータス情報、関連付けられた通知やOracle XML Gateway取引など、作業項目に関連する不要なランタイム情報が削除されます。また、デフォルトでは、使用されなくなったアクティビティ、失効したアドホックのユーザーやロールなどの不要な設計情報、およびワークフロー・プロセスを介して処理されなかった通知やOracle XML Gateway取引などの作業項目に関連しない不要なランタイム情報も削除されます。高アクティビティ期間中ではパフォーマンスを改善するために作業項目に関連付けられたコアとなるランタイム情報のみをパージし、低アクティビティ期間中では日常的な保守の一部としてすべての不要な情報をパージすることもできます。

将来参照できるように電子署名証拠を保持するために、このプログラムでは署名を必要とする通知や関連する署名情報はデフォルトで削除されません。 署名証拠を保守する必要がない場合は、署名関連情報を削除するように選択できます。

Oracle Applicationsの「要求の発行」フォームに移動し、廃止ワークフロー・ランタイム・データのパージ・コンカレント・プログラムを発行します。Oracle ApplicationsとOracle Workflowをインストールして設定するときに、システム管理者はこのコンカレント・プログラムを実行する職責の要求セキュリティ・グループに追加する必要があります。『Oracle Applicationsシステム管理者ガイド』のコンカレント・プログラムおよびコンカレント要求の概要に関する項、および『Oracle Applicationsユーザーズ・ガイド』のレポートおよびプログラムの実行に関する項を参照してください。

廃止ワークフロー・ランタイム・データのパージ・コンカレント・プログラムには、次のパラメータを渡すことができます。

注意: 「廃止ワークフロー・ランタイム・データのパージ」コンカレント・プログラムの発行と管理には、Oracle Workflow Managerを使用できます。 「ワークフロー・データのパージ」を参照してください。

また、「廃止ECXデータのパージ」コンカレント・プログラムを使用すると、Oracle XML Gateway固有のパラメータに従ってOracle XML Gateway取引をパージできます。 『Oracle XML Gatewayユーザーズ・ガイド』の「廃止ECXデータのパージ」コンカレント・プログラムに関する項を参照してください。

WFNLADD.sql

Oracleインストールで新しい言語を使用可能にする場合は、WFNLADD.sqlを使用してOracle Workflowの変換表にその言語用の欠落行を追加します。「追加言語の設定」および「wfnlena.sql」を参照してください。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @WFNLADD

注意: wfnlena.sqlスクリプトとWFNLADD.sqlスクリプトは、他の言語でワークフロー定義をロードするためにデータベースを準備します。ただし、それらのスクリプトのみでは、Oracle WorkflowのWebページを他の言語で表示することはできません。「追加言語の設定」を参照してください。

wfagtlst.sql

wfagtlst.sqlを使用してPL/SQLエージェント・リスナーを実行すると、インバウンド・イベント・メッセージのエージェントをモニターできます。メッセージが着信すると、イベント・マネージャは、「外部」ソース・タイプを持つそのイベントの有効なサブスクリプションを、ローカル・システム単位に検索および実行します。また、「外部」ソース・タイプを持つAnyイベントの有効なサブスクリプションを、ローカル・システム単位に検索および実行します。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfagtlst <agent_name>

<agent_name>は、モニターするインバウンド・イベント・メッセージのエージェントの内部名に置き換えます。

注意: このスクリプトは、主にデバッグ用として使用してください。

関連項目

『Oracle Workflow APIリファレンス』のListenに関する項

Wfbesdbg.sql

wfbesdbg.sqlを使用すると、イベントのステータスの確認やエラーの調査に使用するイベントのデバッグ情報を表示できます。 このスクリプトでは、wfevtdbg<event_key>.htmlという出力ファイルが作成されます。<event_key>は、イベントの特定インスタンスのイベント・キーです。 この出力ファイルには、ローカル・システムとエージェント・リスナーのステータス、指定したイベントとそのイベントへのサブスクリプションの定義の詳細、指定したイベント・インスタンスの詳細(次のいずれかのキューに存在する場合)などの、ビジネス・イベント・システムの詳細が表示されます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfbesdbg <event_name> <event_key>

<event_name>はイベント名に置き換え、<event_key>はイベントの特定インスタンスを識別するイベント・キーに置き換えます。 イベント名およびイベント・キーのパラメータには、大/小文字区別があります。

注意: Oracle Diagnosticsのイベント診断テストを実行して、この情報を取得することもできます。 「イベント診断テスト」を参照してください。

wfbkgchk.sql

wfbkgchk.sqlを使用すると、バックグラウンド・エンジンを次回に実行するまでに処理待ちになっているすべてのアクティビティのリストを表示できます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfbkgchk <WF_schema>

<WF_schema>は、Oracle Workflowのスキーマ(通常はapplsys)に置き換えます。

関連項目

『Oracle Workflow APIリファレンス』のBackgroundに関する項

バックグラウンドのワークフロー・エンジンの設定

wfchact.sql

wfchact.sqlを使用すると、アクティビティの内部名の変更や、アクティビティのすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfchact <act_type> <old_act> <new_act>

<act_type>は、更新するアクティビティに関連付けられている項目タイプに、<old_act>は、アクティビティの現行の内部名に、<new_act>は、アクティビティの新規の内部名にそれぞれ置き換えます。

wfchacta.sql

wfchacta.sqlを使用すると、アクティビティ属性の内部名の変更や、アクティビティ属性のすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfchacta <act_type> <old_acta> <new_acta>

<act_type>は、更新するアクティビティ属性に関連付けられている項目タイプに、<old_acta>は、アクティビティ属性の現行の内部名に、<new_acta>は、アクティビティ属性の新規の内部名にそれぞれ置き換えます。

wfchita.sql

wfchita.sqlを使用すると、項目属性の内部名の変更や、項目属性のすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfchita <item_type> <old_attr> <new_attr>

<item_type>は、更新する項目属性に関連付けられている項目タイプに、<old_attr>は、項目属性の現行の内部名に、<new_attr>は、項目属性の新規の内部名にそれぞれ置き換えます。

wfchitt.sql

wfchitt.sqlを使用すると、項目タイプの内部名の変更や、項目タイプのすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfchitt <old_type> <new_type>

<old_type>は、項目タイプの現行の内部名に置き換え、<new_type>は、項目タイプの新規の内部名に置き換えます。

wfchluc.sql

wfchluc.sqlを使用すると、選択肢コードの内部名の変更や、選択肢コードのすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfchluc <lookup_type> <old_luc> <new_luc>

<lookup_type>は、更新する選択肢コードの選択肢タイプに、<old_luc>は、選択肢コードの現行の内部名に、<new_luc>は、選択肢コードの新規の内部名にそれぞれ置き換えます。

wfchlut.sql

wfchlut.sqlを使用すると、選択肢タイプの内部名の変更や、選択肢タイプのすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfchlut <old_lut> <new_lut>

<old_lut>は、選択肢タイプの現行の内部名に置き換え、<new_lut>は、選択肢タイプの新規の内部名に置き換えます。

wfchmsg.sql

wfchmsg.sqlを使用すると、メッセージの内部名の変更や、メッセージのすべての参照の更新ができます。「ワークフロー・オブジェクトの内部名の変更」を参照してください。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfchmsg <msg_type> <old_msg> <new_msg>

<msg_type>は、更新するメッセージの項目タイプに、<old_msg>は、メッセージの現行の内部名に、<new_msg>は、メッセージの新規の内部名にそれぞれ置き換えます。

wfchmsga.sql

wfchmsga.sqlを使用すると、メッセージ属性の内部名を変更できます。ただし、このスクリプトでは、メッセージの件名や本文のメッセージ属性への参照は更新されません。メッセージ属性の参照は、手動で更新する必要があります。「ワークフロー・オブジェクトの内部名の変更」を参照してください。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfchmsga <msg_type> <msg_name> <old_attr> <new_attr>

<msg_type>は、更新するメッセージ属性の項目タイプに、<msg_name>は、メッセージ属性が属するメッセージの内部名に、<old_attr>は、メッセージ属性の現行の内部名に、<new_attr>は、メッセージ属性の新規の内部名にそれぞれ置き換えます。

wfdirchk.sql

wfdirchk.sqlを使用すると、ディレクトリ・サービスのデータ・モデル内で次の条件をチェックできます。

wfdirchk.sqlでは、ディレクトリ・サービスのデータ・モデルが正しいかどうかを確認する行は戻されません。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfdirchk

wfevtenq.sql

wfevtenq.sqlでは、オーバーライド・エージェントを使用してイベント・メッセージをローカル・キューにエンキューできます。このスクリプトでは、指定したイベント名、イベント・キー、イベント・データ、送信元エージェントおよび宛先エージェントを使用してイベント・メッセージを作成します。作成したイベント・メッセージは、指定したオーバーライド・エージェントに関連付けられているキューにエンキューされます。オーバーライド・エージェントには、イベント・メッセージの送信元エージェント以外のエージェントを指定できます。オーバーライド・エージェントを指定しない場合、イベント・メッセージはメッセージの送信元エージェントにデフォルトでエンキューされます。

注意: このスクリプトでは、ローカル・システム上のエージェントのキューにのみイベント・メッセージをエンキューできます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfevtenq <overrideagent> <overridesystem>
<fromagent> <fromsystem> <toagent> <tosystem> <eventname>
<eventkey> <message>

次のように、各変数を適切なパラメータに置き換えます。

wfjvstop.sql

wfjvstop.sqlを使用すると、停止メッセージを送信キューに配置して、Java関数アクティビティ・エージェントを停止できます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfjvstop

wfmlrdbg.sql

wfmlrdbg.sqlを使用すると、通知のステータスの確認やエラーの調査に使用する通知のデバッグ情報を表示できます。このスクリプトは、wfmlrdbg<nid>.htmlという名前の出力ファイルを作成します。<nid>は、通知ID(NID)です。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfmlrdbg <nid>

<nid>は、通知の通知IDに置き換えます。

注意: Oracle Diagnosticsのメーラー診断テストを実行して、この情報を取得することもできます。「メーラー診断テスト」を参照してください。

Wfnlena.sql

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

wfntfsh.sqlを使用すると、通知IDを指定した特定の通知のステータスに関する情報を表示できます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfntfsh <notification_id>

wfprot.sql

wfprot.sqlを使用すると、指定した項目タイプに関連したすべてのオブジェクトの保護レベルを再設定できます。

重要: ある項目タイプのすべてのオブジェクトの保護レベルを再設定すると、新規の保護レベルより上位のアクセス・レベルで操作するユーザーは、その項目タイプの各オブジェクトをカスタマイズできなくなります。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfprot <item_type> <protection_level>

<item_type>は、保護レベルを再設定する項目タイプに置き換え、<protection_level>は、新しい保護レベルに置き換えます。

wfrefchk.sql

wfrefchk.sqlを使用すると、外部キーに対する主キー・データのない、無効なワークフロー・データを検索できます。

sqlplus <user/pwd> @wfrefchk

wfretry.sql

wfretry.sqlを使用すると、特定プロセスのインスタンスに関してエラーが発生したアクティビティのリストを表示し、そのアクティビティをスキップするか、再試行するか、または再設定するかを指定できます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfretry <item_type> <item_key>

項目タイプと項目キーを指定して、特定の項目またはプロセスのインスタンスを識別します。このスクリプトでは、最初に、エラーが発生したアクティビティのラベル名別リストが戻されます。次に、スキップ、再試行または再設定するアクティビティのラベル名を求めるプロンプトが表示されます。スキップするように選択した場合は、スキップするアクティビティの結果も指定する必要があります。

注意: このスクリプトでは、WF_ENGINE HandleError APIがコールされるため、実際には指定した項目タイプと項目キーに関連した任意のアクティビティのラベル名を指定して、ロールバックを実行できます。『Oracle Workflow APIリファレンス』のHandleErrorに関する項を参照してください。

wfrmall.sql

wfrmall.sqlを使用すると、Oracle Workflowの設計時と実行時のすべての表の全データを削除できます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfrmall

警告: このスクリプトを実行すると、すべてのワークフロー定義が削除されます。実行時と設計時の表からすべてのワークフロー・データを削除することに絶対的な確信がないかぎり、このスクリプトは使用しないでください。

このスクリプトを実行した後に、「標準」、「システム: メーラー」および「システム: エラー」項目タイプのワークフロー定義も再ロードする必要があります。各ワークフロー定義は、それぞれファイルwfstd.wft、wfmail.wftおよびwferror.wftに格納されています。

wfrmita.sql

wfrmita.sqlを使用すると、指定した項目タイプ属性のワークフロー・データをすべて削除できます。このスクリプトを実行すると、削除対象の項目タイプと属性名の入力を求めるプロンプトが表示されます。または、Oracle Workflow Builderを使用して、ファイルまたはデータベースに格納されたワークフロー定義から、項目タイプ属性を削除することもできます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfrmita

wfrmitms.sql

wfrmitms.sqlを使用すると、Oracle Workflowの実行時の表から特定項目のステータス情報を削除できます。このスクリプトを実行すると、指定した項目タイプと項目キーに関連したすべてのデータを削除するか、指定した項目タイプと項目キーの完了したアクティビティのデータのみを削除するかの選択を求めるプロンプトが表示されます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfrmitms <item_type> <item_key>

wfrmitt.sql

wfrmitt.sqlを使用すると、Oracle Workflowの設計時と実行時のすべての表から、特定の項目タイプの全データを削除できます。このスクリプトを実行すると、有効な項目タイプのリストから項目タイプを選択するように求めるプロンプトが表示されます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfrmitt

警告: このスクリプトを実行すると、指定した項目タイプのワークフロー・データがすべて削除されます。

Wfrmtype.sql

wfrmtype.sqlを使用すると、特定の項目タイプに関連したランタイム・データを削除できます。このスクリプトを実行すると、削除する項目タイプを有効な値リストから選択するように求めるプロンプトが表示されます。次に、指定した項目タイプに関連したすべてのランタイム・データを削除するか、または指定した項目タイプの完了したアクティビティと項目のランタイム・データのみ削除するかが確認されます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfrmtype

wfrun.sql

wfrun.sqlを使用すると、指定したプロセスを作成して開始できます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfrun <item_type> <item_key> <process_name>

注意: プロセス・インスタンスの項目キーには、1バイトのキャラクタのみ使用できます。マルチバイトの値を含めることはできません。

wfstat.sql

wfstat.sqlを使用すると、指定した項目の開発者用ステータス・レポートを表示できます。出力は半角英数字で1行当り132文字です。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfstat <item_type> <item_key>

wfstatus.sql

wfstatus.sqlを使用すると、指定した項目のエンド・ユーザー用ステータス・レポートを表示できます。出力は半角英数字で1行当り132文字です。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfstatus <item_type> <item_key>

wfstdchk.sql

wfstdchk.sqlを使用すると、Oracle Workflowデータ・モデルで検出された問題をチェックしてレポートできます。たとえば、このスクリプトは、無効な関数を参照する関数アクティビティをレポートし、各ワークフロー・プロセス定義オブジェクト表を検索して、各行に有効な内部名と表示名があるかどうかを検証します。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfstdchk

wfver.sql

wfver.sqlを使用すると、インストールされているOracle Workflow Serverのバージョン、Oracle Workflow PL/SQLパッケージのステータスとバージョン、およびOracle Workflowビューのバージョンを表示できます。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfver

wfverchk.sql

wfverchk.sqlを使用するのは、アクティビティの複数のバージョンが同時にアクティブになっており、それがワークフロー・プロセスで起きている問題の原因と思われる場合です。このスクリプトは、複数バージョンが同時にアクティブであるように見える原因となっている、アクティビティのエラーを識別します。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfverchk

wfverupd.sql

wfverupd.sqlを使用すると、アクティビティの複数のバージョンが同時にアクティブになっていることが原因で、ワークフロー・プロセスで起きている問題を解決できます。このスクリプトは、複数バージョンが同時にアクティブであるように見える原因となっている、アクティビティのエラーを識別し、修正します。

このスクリプトの使用方法は、次のとおりです。

sqlplus <user/pwd> @wfverupd