ヘッダーをスキップ
Oracle Business Activity Monitoring Architectユーザーズ・ガイド
10g(10.1.3.1.0)
B31882-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

6 ICommandの使用

この章では、ICommandコマンドライン・ユーティリティおよびWebサービスの使用方法およびリファレンスを示します。 この項の内容は次のとおりです。

6.1 ICommandの概要

ICommandは、Active Data CacheおよびEnterprise Link Repositoryで様々な操作を実行する一連のコマンドが提供されるコマンドライン・ユーティリティおよびWebサービスです。

これらのコマンドは、入力XMLファイル内に存在する場合があります。そうでない場合は、単一のコマンドをコマンドラインに指定できます。

情報メッセージおよびエラー・メッセージは、コマンド・ウィンドウまたはXMLファイルのいずれかに出力されます。

6.2 一般的なコマンドおよびオプションの構文

DOSコマンドラインで指定するすべてのパラメータは、name=valueの形式です。name部分では、大/小文字は区別されません。value部分に空白または他の特殊文字を含める必要がある場合は、それらを引用符で囲みます。一部のパラメータでは、valueを省略できます。

DOSコマンドラインでは、cmd=commandnameパラメータの値でコマンドが指定されます。コマンドのオプションは、parametername=valueパラメータで指定されます。

XMLコマンド・ファイルでは、XMLタグでコマンドが指定されます。コマンドのオプションは、コマンド・タグのXML属性値として、parametername=valueの形式で指定されます。

コマンド名およびパラメータ値(Active Data Cacheのアイテム名は除く)では、大/小文字は区別されません。

空白およびその他の特殊文字が含まれているレポート名およびファイル名は、引用符で囲む必要があります。

1つのコマンドに複数のActive Data Cacheタイプを指定し、それらのタイプにパラメータを渡すことができます。 次に例を示します。

icommand.exe cmd=export type=all report,rule,folder:owner=1 folder,dataobject:permissions=1 systemobjects=1 file=filename.xml

この例では、コマンドによって、Active Data Cacheオブジェクト・タイプ(レポート、ルールおよびフォルダ)にowner=1が渡されています。 オブジェクト・タイプはカンマ(,)で区切られ、パラメータはコロン(:)の後ろに指定されています。

このコマンドを実行すると、次の3つのコマンドを実行した場合と同じ結果が返されます。

icommand.exe cmd=export type=report owner=1 .....icommand.exe cmd=export type=rule owner=1 .....icommand.exe cmd=export type=folder owner=1 .....

6.3 コマンドライン専用パラメータ

次のパラメータは、コマンドラインでのみ指定できます。

6.4 個々のコマンドのサマリー

表6-1に、コマンドのサマリーを示します。

表6-1 ICommandコマンドのサマリー

コマンド パラメータ

export

file=filename

[name=itemname]

[type=dataobject|securityfilters|folder|report|rule|

user|role|distributionlist|ems|emstype|eds|edstype|

plan|all]

[match=pattern]

[regex=regularexpression]

[all[=0|1]]

[systemobjects[=0|1]]

[dependencies[=0|1]]

[layout[=0|1]]

[contents[=0|1]]

[permissions[=0|1]]

[privileges[=0|1]]

[members[=0|1]]

[owner[=0|1]]

[planmonitorservicename=servicename]

[header[=0|1]]

[footer[=0|1]]

[append[=0|1]]

[preview[=0|1]]

import

file=filename

[delay=milliseconds]

[updatelayout]

[mode=preserveid|update|overwrite|append|rename|error]

[preserveowner]

[setcol=col_name/[null|now|value:override_value]]

delete

[name=itemname]

[type=dataobject|securityfilters|folder|report|rule|

user|role|distributionlist|ems|eds|plan|all]

[match=pattern]

[regex=regularexpression]

[all[=0|1]]

[systemobjects[=0|1]]

rename

name=itemname

newname=newitemname

[type=dataobject|folder|report|rule|user|role|

distributionlist|ems|eds|plan]

clear

name=itemname

[type=dataobject|folder|role|distributionlist]

run

name=planname

[type=plan]

stop

requestid=planexecutionrequestid

[type=plan]

Setmonitoring

[name=plan_name]

[type=plan]

[match=dos_pattern]

[regex=regular_expression]

[all[=0|1]]

[planmonitorservicename=service_name]

[enabled[=0|1]]

[restartoncompletion=never|always|count]

[restartonfailure=never|always|count]

[restartfrequencymax=none|count_in_minutes]

[preferredservicename=service_name|empty_string]


6.5 コマンドの詳細

export

1つ以上のアイテムに関する情報をXMLファイルにエクスポートします。

表6-2 exportコマンド

パラメータ 説明

file=filename

エクスポート先のファイルの名前。必須です。

このファイルが存在しない場合は作成されます。このファイルが存在する場合は、appendパラメータを使用しないかぎり、コンテンツは上書きされます。このファイルにはXMLが含まれるため、通常XML拡張子が使用されます。

name=itemname

エクスポートするアイテムの名前。

type=itemtype

エクスポートするアイテムのタイプ。次のいずれかである必要があります。

  • dataobject

  • securityfilters(指定したデータ・オブジェクトの場合)

  • folder

  • report

  • rule

  • user

  • role

  • distributionlist

  • ems(エンタープライズ・メッセージ・ソース)

  • emstype

  • eds(外部データ・ソース)

  • edstype

  • plan

  • all

このパラメータを省略すると、dataobjectが使用されます。

match=pattern

*(アスタリスク)および?(疑問符)を使用するDOS形式のパターン一致文字列。名前がパターンと一致するアイテムがエクスポートされます。

regex=regularexpr

正規表現パターン一致文字列。名前がパターンと一致するアイテムがエクスポートされます。

all[=0|1]

指定したタイプのすべてのアイテムをエクスポートするかどうかを制御します。

0(ゼロ)以外の値を指定した場合または値を省略した場合は、指定したタイプのすべてのアイテムがエクスポートされ、0(ゼロ)を指定した場合は、指定した(一致した)アイテムのみがエクスポートされます。このパラメータを省略すると、0(ゼロ)が使用されます。

レポート、フォルダおよびルールの場合、ICommandを実行しているユーザーが管理者でないかぎり、ICommandを実行しているユーザーが所有しているアイテムのみがエクスポートされます。管理者がICommandを実行すると、すべてのユーザーのアイテムがエクスポートされます。

[systemobjects[=0|1]]

allmatchまたはregexパラメータを使用した場合にシステム・フォルダ内のデータ・オブジェクトが含まれるかどうかを制御します。0(ゼロ)を指定すると、データ・オブジェクトは含まれません。このパラメータを省略すると、0(ゼロ)が使用されます。

dependencies[=0|1]

データ・オブジェクトに対してのみ適用されます。 エクスポート対象のデータ・オブジェクトが依存する他のデータ・オブジェクトが参照列にある場合、そのデータ・オブジェクトもエクスポートするかどうかを制御します。

0(ゼロ)以外の値を指定した場合または値を指定しなかった場合、エクスポート対象のデータ・オブジェクトに参照列が含まれていると、参照されるデータ・オブジェクトもエクスポートされます。

layout[=0|1]

データ・オブジェクトに対してのみ適用されます。レイアウト情報をエクスポートするかどうかを制御します。

0(ゼロ)以外の値を指定すると、レイアウト情報がエクスポートされます。 0(ゼロ)を指定すると、レイアウト情報はエクスポートされません。このパラメータを省略するか、または値を省略すると、0(ゼロ)以外の値が使用されます。

contents[=0|1]

データ・オブジェクトに対してのみ適用されます。コンテンツ情報(行、列値)をエクスポートするかどうかを制御します。

0(ゼロ)以外の値を指定すると、コンテンツ情報がエクスポートされます。 0(ゼロ)を指定すると、コンテンツ情報はエクスポートされません。このパラメータを省略するか、または値を省略すると、0(ゼロ)以外の値が使用されます。

permissions[=0|1]

データ・オブジェクトおよびフォルダに対してのみ適用されます。権限情報をエクスポートするかどうかを制御します。

0(ゼロ)以外の値を指定すると、エクスポート対象のデータ・オブジェクトまたはフォルダの権限設定に関する情報がエクスポートされます。 0(ゼロ)を指定すると、権限情報はエクスポートされません。このパラメータを省略するか、または値を省略すると、0(ゼロ)以外の値が使用されます。

データ・オブジェクトの場合は、データ・オブジェクト自体の権限のみがエクスポートされます。データ・オブジェクトが含まれているフォルダまたはサブフォルダに対する権限は含まれません。

フォルダの場合は、対象となる権限に、エクスポート対象のフォルダのすべての親フォルダの累積権限が反映されます。

privileges[=0|1]

ロールに対してのみ適用されます。エクスポート対象のロール内の権限設定をエクスポートするかどうかを制御します。

0(ゼロ)以外の値を指定すると、権限設定がエクスポートされます。 0(ゼロ)を指定すると、権限設定はエクスポートされません。このパラメータを省略するか、または値を省略すると、0(ゼロ)以外の値が使用されます。

members[=0|1]

ロールに対してのみ適用されます。エクスポート対象のロール内のユーザーのリストをエクスポートするかどうかを制御します。

0(ゼロ)以外の値を指定すると、ユーザーのリストがエクスポートされます。 0(ゼロ)を指定すると、ユーザーのリストはエクスポートされません。このパラメータを省略するか、または値を省略すると、0(ゼロ)以外の値が使用されます。

owner[=0|1]

フォルダ、レポートおよびルールに対してのみ適用されます。エクスポート対象のアイテムの所有者に関する情報をエクスポートに含めるかどうかを制御します。

0(ゼロ)以外の値を指定すると、所有者情報がエクスポートされます。 0(ゼロ)を指定すると、所有者情報はエクスポートされません。このパラメータを省略するか、または値を省略すると、0(ゼロ)以外の値が使用されます。

header[=0|1]

XMLヘッダー情報をエクスポート・ファイルの先頭に書き込むかどうかを制御します。これを使用すると、ICommandを連続して実行して、同じファイルに繰り返し追加を行って1つのXMLファイルをアセンブルすることができます。

0(ゼロ)以外の値を指定すると、ヘッダーに書込みが行われます。 0(ゼロ)を指定すると、ヘッダーに書込みは行われません。このパラメータを省略するか、または値を省略すると、0(ゼロ)以外の値が使用されます。

footer[=0|1]

終了XML情報をエクスポート・ファイルの最後に書き込むかどうかを制御します。これを使用すると、ICommandを連続して実行して、同じファイルに繰り返し追加を行って1つのXMLファイルをアセンブルすることができます。

0(ゼロ)以外の値を指定すると、終了情報に書込みが行われます。 0(ゼロ)を指定すると、終了情報に書込みは行われません。このパラメータを省略するか、または値を省略すると、0(ゼロ)以外の値が使用されます。

append[=0|1]

エクスポートされた情報を既存のファイルに追加するかどうかを制御します。

0(ゼロ)以外の値を指定すると、追加されます。 0(ゼロ)を指定すると、既存のファイルのコンテンツが上書きされます。このパラメータを省略するか、または値を省略すると、0(ゼロ)以外の値が使用されます。

preview[=0|1]

previewモードでICommandを実行すると、指定したすべてのアイテムがエクスポートされますが、実際に情報は出力されません。このモードを使用すると、指定したコマンドラインでエクスポートされる情報および発生する可能性があるエラーについて確認できます。 このモードの場合、preview以外のモードではエクスポートが停止するようなエラーが発生した後も、ICommand exportの処理は続行されます。

0(ゼロ)以外の値を指定すると、previewモードになります。この値を省略すると、0(ゼロ)以外の値が使用されます。このパラメータを省略すると、0(ゼロ)が使用されます。

planmonitorservicename=servicename

ルールおよびプランに対してのみ適用されます。 これは、Plan Monitor Serviceの場所を指定する値です。 値が指定されていない場合は、ICommand.exe.configファイルの様々なキーから取得されます。 まず、PlanMonitor.ServiceNameキーのサービス名の適用が試行されます。 サービス名が指定されていない場合は、PlanMonitor.ServiceURLキーのサービスURLの適用が試行されます。 サービスURLが指定されていない場合は、PlanMonitor.ServiceMachine、PlanMonitor.ServiceChannelおよびPlanMonitor.ServicePortキーの個々の設定の適用が試行されます。


import

XMLファイルからアイテムに情報をインポートします。 このアイテムは、作成、置換または更新できます。

このアイテムが存在しない場合は作成されます(可能な場合)。データ・オブジェクトの場合、入力ファイルには、データ・オブジェクトを作成するためにレイアウト情報を含める必要があります。また、このファイルにコンテンツ情報が含まれていない場合は、空のデータ・オブジェクトが作成されます。

ICommandを実行しているユーザーが管理者でない場合、レポートは、ICommandを実行しているユーザーのプライベート・フォルダに常にインポートされます。インポート・ファイル内のパス情報が、ICommandを実行しているユーザーの既存のプライベート・フォルダと完全に一致する場合、インポートされたファイルはその場所に格納されます。そうでない場合は、ユーザーのプライベート・フォルダのルートに格納されます。

ICommandを実行しているユーザーが管理者の場合、preserveownerオプションを使用すると、フォルダ、レポートおよびルールをそれらの元の場所に元の所有権のままでインポートできることがあります。

表6-3 importコマンド

パラメータ 説明

file=filename

インポート元のファイルの名前。通常、これは、exportコマンドで作成されたファイルです。

delay=millisec

データ・オブジェクトに対してのみ適用されます。行挿入または行更新を行ってから次の行挿入または行更新を行うまでの遅延を指定する値。

これを使用すると、指定した速度でアクティブ・データをシミュレートできます。

この数値は、次の行に対して処理を行うまで待機する時間(ミリ秒)です。0(ゼロ)より大きい値を指定する必要があります。

このパラメータを省略すると、遅延は発生しません。

updatelayout

データ・オブジェクトに対してのみ適用されます。インポート対象のデータ・オブジェクトがすでに存在する場合にそのデータ・オブジェクトのレイアウト(スキーマ)を、インポート・ファイル内のレイアウト情報に従って更新するかどうかを制御します。

パラメータが存在する場合はtrueで、存在しない場合はfalseです。

mode=mode

次に、各モードの値について、対応するアイテム・タイプごとに説明します。

次の値は、フォルダ、レポート、ユーザー、ロール、EMS、EMSタイプ、EDS、EDSタイプおよびプランに対して有効です。

overwrite

アイテムがすでに存在する場合は、インポートしたアイテムと置き換えます。

rename

アイテムがすでに存在する場合は、インポートしたアイテムの名前を変更します。新しい名前は、自動的に計算され、メッセージにレポートされます。

error

アイテムがすでに存在する場合は、インポートを終了します。エラーが戻されます。

次の値は、配信リストに対して有効です。

overwrite

アイテムがすでに存在する場合は、インポートしたアイテムと置き換えます。

rename

アイテムがすでに存在する場合は、インポートしたアイテムの名前を変更します。新しい名前は、自動的に計算され、メッセージにレポートされます。

append

アイテムがすでに存在する場合は、インポートしたリスト内のユーザーを既存のリストに追加します。

error

アイテムがすでに存在する場合は、インポートを終了します。エラーが戻されます。

次の値のみが、データ・オブジェクトに対して有効です。

preserveid

インポートしたデータ・オブジェクトが存在しないため、それらを作成する必要がある場合は、ICommandによって、エクスポートしたデータ・オブジェクトに含まれている内部IDと同じ内部IDがデータ・オブジェクトに割り当てられます。これが不可能な場合、インポートはエラーを戻して終了します。

このオプションは重要です。レポートなどの他の一部のアイテムでは、使用されるオブジェクトが名前ではなくIDで示されるためです。

update

通常、ICommandでデータ・オブジェクトをインポートすると、新しいデータ・オブジェクトが作成されるか、または既存のデータ・オブジェクトが検索され、インポートした行がそのデータ・オブジェクトに挿入されます。

updateモードでは、かわりに、既存の一致する行が行IDで検索され、それらの既存の行がインポート・ファイル内の値で更新されます。一致しない行が挿入されます。インポート・ファイル内の一致する行IDにデータ列が指定されていない場合、行は既存のデータ・オブジェクトから削除されます。

セキュリティ・フィルタの場合、サポートされている値はoverwriteのみです。データ・オブジェクトに1つ以上のセキュリティ・フィルタがすでに含まれている場合、overwriteを指定しないと、インポートはエラーを戻して強制終了されます。

このパラメータは、ルールに対してはサポートされていません。

preserveowner

フォルダ、レポートおよびルールに対してのみ適用されます。アイテムのインポート時に、アイテムの所有権をインポート・ファイルに指定されているとおりに設定するかどうかを制御します。

この所有権の設定は、エクスポート時に所有権がファイルに付与されていた場合およびICommandを実行しているユーザーが管理者の場合にのみ行うことができます。

0(ゼロ)以外の値を指定すると、インポート・ファイルに指定されているとおりに所有権が設定されます。 0(ゼロ)を指定すると、インポートしたアイテムは、ICommandを実行しているユーザーがそのまま所有します。このパラメータを省略するか、または値を省略すると、0(ゼロ)以外の値が使用されます。

setcol

インポート時にコマンドラインから列値の上書き(現在の日時への設定など)を実行できます。

setcol=column_name/NULL

setcol=column_name/NOW

setcol=column_name/VALUE:override-value

column-nameは、インポート対象のデータ・オブジェクト内のいずれかの列の名前です。検索型または計算型の列は指定できません。 インポート対象の入力XMLに含まれていない列名は、インポート先のデータ・オブジェクト内の列であるかぎり指定できます。スラッシュの後の部分によって、インポートする各行上の該当する列のかわりに使用される値を指定します。この場合、インポート・ファイル内の該当する列のすべての値が無視(上書き)されます。スラッシュは列名に使用できない文字の1つであるため、この構文の列名で競合が発生する可能性はありません。

NULLによって、列値がNULLに設定されるように指定します。この列は、データ・オブジェクトのレイアウトでNULL値可能と定義されている必要があります。

NOWによって、列値が行に設定されている時点での日時に列値が設定されるように指定します。このオプションは、日時型、タイムスタンプ型および文字列型の列に対してのみ使用できます。

VALUE:override-valueによって、列に設定される任意の定数値を(コロンの後に)指定します。 この値は、列の型に対して有効な値である必要があります。複数の列を上書き可能にするために、多数のsetcolパラメータが存在する場合があります。 ただし、パラメータの重複は許容されないため、ICommandでは、setcolで始まるすべてのパラメータ名(setcol1setcol2など)がsetcolパラメータとして認識されます。次にサンプル・コマンドラインを示します。

icommand cmd=import file=myfile.xml setcol1=Field1/null setcol2=Field3/now setcol3="Customer Name/value:John Q. Public"

planmonitorservicename=servicename

ルールおよびプランに対してのみ適用されます。 これは、プラン・モニター・サービスの場所を指定する値です。 値が指定されていない場合は、ICommand.exe.configファイルの様々なキーから取得されます。 まず、PlanMonitor.ServiceNameキーのサービス名の適用が試行されます。 サービス名が指定されていない場合は、PlanMonitor.ServiceURLキーのサービスURLの適用が試行されます。 サービスURLが指定されていない場合は、PlanMonitor.ServiceMachine、PlanMonitor.ServiceChannelおよびPlanMonitor.ServicePortキーの個々の設定の適用が試行されます。


delete

アイテムを削除します。

表6-4 deleteコマンド

パラメータ 説明

name=itemname

削除するアイテムの名前。

type=itemtype

削除するアイテムのタイプ。次のいずれかである必要があります。

  • dataobject

  • securityfilters(指定したデータ・オブジェクトの場合)

  • folder

  • report

  • rule

  • user

  • role

  • distributionlist

  • ems(エンタープライズ・メッセージ・ソース)

  • emstype

  • eds(外部データ・ソース)

  • edstype

  • plan

  • all

このパラメータを省略すると、dataobjectが使用されます。

match=pattern

*(アスタリスク)および?(疑問符)を使用するDOS形式のパターン一致文字列。名前がパターンと一致するアイテムが削除されます。

regex=regularexpr

正規表現パターン一致文字列。名前がパターンと一致するアイテムが削除されます。

all[=0|1]

指定したタイプのすべてのアイテムを削除するかどうかを制御します。

0(ゼロ)以外の値を指定した場合または値を省略した場合は、指定したタイプのすべてのアイテムが削除され、0(ゼロ)を指定した場合は、指定した(一致した)アイテムのみが削除されます。このパラメータを省略すると、0(ゼロ)が使用されます。

[systemobjects[=0|1]]

allmatchまたはregexパラメータを使用した場合にシステム・フォルダ内のデータ・オブジェクトが含まれるかどうかを制御します。0(ゼロ)を指定すると、データ・オブジェクトは含まれません。このパラメータを省略すると、0(ゼロ)が使用されます。

planmonitorservicename=servicename

ルールおよびプランに対してのみ適用されます。 これは、プラン・モニター・サービスの場所を指定する値です。 値が指定されていない場合は、ICommand.exe.configファイルの様々なキーから取得されます。 まず、PlanMonitor.ServiceNameキーのサービス名の適用が試行されます。 サービス名が指定されていない場合は、PlanMonitor.ServiceURLキーのサービスURLの適用が試行されます。 サービスURLが指定されていない場合は、PlanMonitor.ServiceMachine、PlanMonitor.ServiceChannelおよびPlanMonitor.ServicePortキーの個々の設定の適用が試行されます。


rename

アイテムの名前を変更します。

表6-5 renameコマンド

パラメータ 説明

name=itemname

名前を変更するアイテムの名前。必須です。

newname=newitemname

アイテムの新しい名前。必須です。

データ・オブジェクト、レポートおよびフォルダの場合は、新しいベース名のみをパスなしで指定する必要があります(たとえば、Report1などです)。

type=itemtype

名前を変更するアイテムのタイプ。次のいずれかである必要があります。

  • dataobject

  • folder

  • report

  • rule

  • user

  • role

  • distributionlist

  • ems(エンタープライズ・メッセージ・ソース)

  • emstype

  • eds(外部データ・ソース)

  • edstype

  • plan

このパラメータを省略すると、dataobjectが使用されます。

planmonitorservicename=servicename

ルールおよびプランに対してのみ適用されます。 これは、プラン・モニター・サービスの場所を指定する値です。 値が指定されていない場合は、ICommand.exe.configファイルの様々なキーから取得されます。 まず、PlanMonitor.ServiceNameキーのサービス名の適用が試行されます。 サービス名が指定されていない場合は、PlanMonitor.ServiceURLキーのサービスURLの適用が試行されます。 サービスURLが指定されていない場合は、PlanMonitor.ServiceMachine、PlanMonitor.ServiceChannelおよびPlanMonitor.ServicePortキーの個々の設定の適用が試行されます。


clear

アイテムのコンテンツを消去します。

消去対象は、アイテム・タイプによって異なります。

表6-6 clearコマンド

パラメータ 説明

name=itemname

消去するアイテムの名前。必須です。

type=itemtype

消去するアイテムのタイプ。次のいずれかである必要があります。

  • dataobject

  • folder

  • role

  • distributionlist

このパラメータを省略すると、dataobjectが使用されます。


run

Enterprise Linkプランのインスタンスの実行を開始します。

プランの1つ以上のインスタンスがすでに実行されている場合でも、このコマンドによって、別のインスタンスの実行が開始されます。

表6-7 runコマンド

パラメータ 説明

name=planname

実行するアイテムの名前。必須です。

type=plan

これは、オプションです。存在する場合は、値をplanにする必要があります。

planmonitorservicename=servicename

ルールおよびプランに対してのみ適用されます。 これは、プラン・モニター・サービスの場所を指定する値です。 値が指定されていない場合は、ICommand.exe.configファイルの様々なキーから取得されます。 まず、PlanMonitor.ServiceNameキーのサービス名の適用が試行されます。 サービス名が指定されていない場合は、PlanMonitor.ServiceURLキーのサービスURLの適用が試行されます。 サービスURLが指定されていない場合は、PlanMonitor.ServiceMachine、PlanMonitor.ServiceChannelおよびPlanMonitor.ServicePortキーの個々の設定の適用が試行されます。


stop

Enterprise Linkプランのインスタンスの実行を停止します。

表6-8 stopコマンド

パラメータ 説明

requestid=id

Planの開始時にEnterprise Link Data Flow Serviceによって割り当てられた、Planの実行中のインスタンスのリクエストID。

type=plan

これは、オプションです。存在する場合は、値をplanにする必要があります。


6.6 アイテム名の構文

アイテム名をコマンドに指定する場合は、常に次のルールが適用されます。

一般的ルール

DOSコマンドラインで指定する際に、DOSでは特殊な意味となる空白または文字を名前に含める場合は、DOSコマンドラインのルールに従ってその名前を引用符で囲む必要があります。

XMLコマンドラインで指定する際に、XMLでは特殊な意味となる文字を名前に含める場合は、標準XMLエスケープを使用する必要があります。

データ・オブジェクト

データ・オブジェクトがルートに存在しない場合は、フルパス名を指定する必要があります。次に例を示します。

/My Folder/My Subfolder/My Data Object

データ・オブジェクトがルートに存在する場合、先頭の/はオプションです。次の2つの例は同等です。

/My Data Object
My Data Object

レポート

フルパス名は、次の例に示すとおり指定する必要があります。

共有レポートの場合:

"/public/Report/Subfolder1/My Report"

プライベート・レポートの場合:

"/private:username/Report/Subfolder1/My Report"

プライベート・レポートでは、ICommandを実行しているユーザーがレポートを所有しているユーザーである場合、接頭辞/private:username/を省略できます。

接頭辞publicまたはprivateが付いていないパス情報はエクスポート・ファイルに保存されます。

アラート・ルール

アラートの名前またはフルネームのいずれかを指定できます。次の2つの例は、ICommandを実行するユーザーがAlert1を所有するユーザーである場合、アラートと同等になります。

Alert1

/private:username/Rule/Alert1

ICommandを実行するユーザーがAlert1の所有者でない場合は、2つ目の形式のみを使用できます。

その他のすべてのアイテム・タイプ

アイテムのフルネームを指定します。

6.7 コマンド・ファイルの書式設定

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

コマンド・ファイルには、ルート・タグOracleBAMCommandsが含まれています。

ルート・タグ内には、すべてのコマンドを実行するタグがあります。タグ名はコマンド名です。また、コマンドのパラメータは属性です。

サンプル・コマンド・ファイル

<?xml version="1.0" encoding="utf-8"?>
<OracleBAMCommands ContinueOnError="1">
  <Export name="Samples/Media Sales" file="MediaSales.xml" contents="0" />
  <Rename name="Samples/Call Center" newname="Call Centre" />
  <Delete type="EMS" name="WebLog" />
  <Delete type="EMS" name="WebLog2" />
</OracleBAMCommands>

6.7.1 インライン・コンテンツ

コマンド・ファイルを使用してインポートする場合、inlineオプションを使用すると、インポートするコンテンツを、別のインポート・ファイル内ではなく、コマンド・ファイル内に含めることができます。次に例を示します。

<?xml version="1.0" encoding="utf-8"?>
<OracleBAMCommands>
<Import inline="1">
<Export Version="504.0" Build="3.0.3697.0">
  <DataObject Version="13" Name="Employees" ID="_Employees" Path="/Samples"    External="0">
    <Layout>
      <Column Name="Salesperson" ID="_Salesperson" Type="string" MaxSize="100"         Nullable="1" />
      <Column Name="Sales Area" ID="_Sales_Area" Type="string" MaxSize="100"         Nullable="1"/>
      <Column Name="Sales Number" ID="_Sales_Number" Type="integer" Nullable="1"         />
      <Column Name="Timestamp" ID="_Timestamp" Type="timestamp" Nullable="0" />
      <Indexes />
    </Layout>
    <Contents>
      <Row ID="1">
        <Column ID="_Salesperson" Value="Greg Masters" />
        <Column ID="_Sales_Area" Value="Northeast" />
        <Column ID="_Sales_Number" Value="567" />
        <Column ID="_Timestamp" Value="2004-09-14T14:07:41.5600000-07:00" />
      </Row>
    </Contents>
  </DataObject>
</Import>
</OracleBAMCommands>

6.7.2 コマンドID

この機能は、出力をログ・ファイルに送信する場合にのみ使用されます。ログ結果の解析を簡単にするために、各コマンドにIDを指定できます。このIDは、該当するコマンドに関連する出力の結果要素またはエラー要素に含まれます。

入力例:

<OracleBAMCommands>
  <Delete id="1" type="role" name="Report Creator" />
  <Delete id="2" type="user" name="joeschmoe" /></OracleBAMCommands>

出力例:

<ICommandLog Login="MSOLNIT-PC\ASPNET">
  <Results Command="Delete" ID="1">Role "Report Creator" deleted.</Results>
  <Error Command="Delete" ID="2">
    <![CDATA[Error while processing command "Delete". [ErrorSource="ICommandEngine", ErrorID="ICommandEngine.Error"] There is no User named "joeschmoe". [ErrorSource="ICommandEngine", ErrorID="ICommandEngine.UserExist"]]]>
  </Error>
</ICommandLog>

6.7.3 continueonerror

通常、ICommandでは、コマンド・ファイル内のコマンドは、障害が発生するまでまたはすべてのコマンドが正常に完了するまで実行されます。つまり、コマンド・ファイルに20のコマンドが含まれていて、2つ目のコマンドで障害が発生した場合、それ以降のコマンドは実行されません。 この動作は、continueonerror属性をグローバル・レベルで使用するか、または各コマンドに対して使用することによって変更できます。

例6-1に、continueonerror属性を使用して、障害が発生したかどうかに関係なくすべてのコマンドを実行する方法を示します。

例6-1 グローバル・レベルでのcontinueonerrorの有効化

<OracleBAMCommands continueonerror="1">
  <Delete id="1" type="role" name="Report Creator" />
  <Delete id="2" type="user" name="joeschmoe" />
</OracleBAMCommands>

例6-2では、ユーザーjoeschmoeを削除するコマンドにのみcontinueonerrorが適用されます。このコマンドで障害が発生した場合、ICommandはエラーを戻して続行されます。ただし、他のコマンドで障害が発生した場合、ICommandはすぐに停止されます。

例6-2 コマンド・レベルでのcontinueonerrorの有効化

<OracleBAMCommands>
  <Delete id="1" type="role" name="Report Creator" />
  <Delete id="2" type="user" name="joeschmoe" continueonerror="1" />
  <Delete id="3" type="user" name="user2" />
  <Delete id="4" type="user" name="user3" />
</OracleBAMCommands>

6.8 ログ・ファイルの書式設定

ログ・ファイルには、ルート・タグICommandLogが含まれています。

ルート・タグ内には、記録されたすべてのエラー・メッセージまたは情報メッセージのエントリがあります。

エラーは、Errorタグ付きで記録されます。

情報メッセージは、Resultsタグ付きで記録されます。

ResultsErrorの両方のタグには、必要に応じてCommand=cmdnameという形式の属性が含まれます。この属性には、エラー・メッセージまたは情報メッセージを生成したコマンドの名前が含まれます。

サンプル・ログ・ファイル(前述のサンプル・コマンド・ファイルの出力)

<?xml version="1.0" encoding="utf-8"?>
<ICommandLog Login="MYDOMAIN\myaccount">
  <Results Command="Export">Data Object "/Samples/Media Sales" exported
  successfully (0 rows).</Results>
  <Results Command="Export">1 items exported successfully.</Results>
  <Results Command="Rename">Data Object "/Samples/Call Center" renamed to
  "/Samples/Call Centre".</Results>
  <Results Command="Delete">Enterprise Message Source "WebLog"
  deleted.</Results>
  <Error Command="Delete"><![CDATA[Error while processing command "Delete".
  [ErrorSource="ICommand", ErrorID="ICommand.Error"]
There is no Enterprise Message Source named "WebLog2".
  [ErrorSource="ICommand", ErrorID="ICommand.EMSExist"]]]></Error>
</ICommandLog>

6.9 サンプルDOSコマンドライン

次に、いくつかのサンプルDOSコマンドラインを示します。

ICommand cmdfile=cmd.xml logfile=log.xml logmode=append

ICommand cmd=export name=WebLog2 file=WebLog2.xml

ICommand cmdfile=cmd.xml

ICommand cmd=export file=EveryEMS.xml all type=ems

6.10 サンプル・エクスポート・ファイル

<?xml version="1.0" encoding="utf-8"?>
<OracleBAMExport Version="504.0" Build="3.0.3697.0">
  <DataObject Version="13" Name="Employees" ID="_Employees" Path="/Samples"
   External="0">
    <Layout>
      <Column Name="Salesperson" ID="_Salesperson" Type="string" MaxSize="100"
       Nullable="1" />
      <Column Name="Sales Area" ID="_Sales_Area" Type="string" MaxSize="100"
       Nullable="1" />
      <Column Name="Sales Number" ID="_Sales_Number" Type="integer"
       Nullable="1" />
      <Column Name="Timestamp" ID="_Timestamp" Type="timestamp" Nullable="0" />
      <Indexes />
    </Layout>
    <Contents>
      <Row ID="1">
        <Column ID="_Salesperson" Value="Greg Masters" />
        <Column ID="_Sales_Area" Value="Northeast" />
        <Column ID="_Sales_Number" Value="567" />
        <Column ID="_Timestamp" Value="2004-09-14T14:07:41.5600000-07:00" />
      </Row>
      <Row ID="2">
        <Column ID="_Salesperson" Value="Lynette Jones" />
        <Column ID="_Sales_Area" Value="Southwest" />
        <Column ID="_Sales_Number" Value="228" />
        <Column ID="_Timestamp" Value="2004-09-14T14:07:41.5600000-07:00" />
      </Row>
      <Row ID="3">
        <Column ID="_Salesperson" Value="Noel Rogers" />
        <Column ID="_Sales_Area" Value="Northwest" />
        <Column ID="_Sales_Number" Value="459" />
        <Column ID="_Timestamp" Value="2004-09-14T14:07:41.5600000-07:00" />
      </Row>
    </Contents>
  </DataObject>
</OracleBAMExport>

6.11 正規表現

exportおよびdeleteコマンドでは、必要に応じてregexパラメータが指定された正規表現を使用できます。

正規表現は、通常の文字(aからzなど)と、メタ文字という特殊文字で構成される文字列のパターンです。パターンによって、名前でアイテムを検索するときに一致する1つ以上の文字列を指定します。

次の表に、メタ文字の完全なリストおよび正規表現におけるメタ文字の動作を示します。

表6-9 正規表現で使用するメタ文字

文字 説明

\


次に続く文字が特殊文字、リテラル、前方参照または8進エスケープであることを示します。たとえば、「n」は文字「n」を一致します。「\n」は改行文字と一致します。「\\」は「\」と一致し、「\(」は「(」と一致します。

^

入力文字列の先頭と一致します。RegExpオブジェクトのMultilineプロパティが設定されている場合は、「\n」または「\r」の直後とも一致します。

$


入力文字列の末尾と一致します。RegExpオブジェクトのMultilineプロパティが設定されている場合は、「\n」または「\r」の直前とも一致します。

*


直前の文字または部分式と0回以上一致します。たとえば、「zo*」は「z」と「zoo」のどちらにも一致します。「*」は「{0,}」と同じ意味です。

+


直前の文字または部分式と1回以上一致します。たとえば、「zo+」は「zo」や「zoo」とは一致しますが、「z」とは一致しません。「+」は「{1,}」と同じ意味です。

?

直前の文字または部分式と0回または1回一致します。たとえば、「do(es)?」は「do」または「does」の「do」と一致します。 「?」は「{0,1}」と同じ意味です。

{n}

nには、0以上の整数を指定します。直前の文字と正確にn回一致します。たとえば、「o{2}」は「Bob」の「o」とは一致しませんが、「food」の2つの「o」とは一致します。

{n,}

nには、0以上の整数を指定します。直前の文字とn回以上一致します。たとえば、「o{2,}」は「Bob」のoとは一致しませんが、「foooood」のすべての「o」とは一致します。「o{1,}」は「o+」と同じ意味です。「o{0,}」は「o*」と同じ意味です。

{n,m}

mおよびnには0以上の整数を指定します。n <= mです。nからm回一致します。たとえば、「o{1,3}」は「fooooood」の最初の3つの「o」と一致します。「o{0,1}」は「o?」と同じ意味です。カンマと数の間には空白を入れません。

?

他の量指定子(*、+、?、{n}、{n,}、{n,m})の直後に指定すると、一致パターンが最短一致になります。デフォルトの最長一致パターンでは、できるだけ多くの文字列と一致しますが、最短一致パターンでは、できるだけ少ない文字列と一致します。たとえば、文字列「oooo」に対して、「o+?」を指定すると1つの「o」と一致し、「o+」を指定するとすべての「o」と一致します。

.

「\n」以外の任意の1文字に一致します。「\n」を含めて任意の文字と一致させるには、「[\s\S]」などのパターンを指定します。

(pattern)

patternと一致した文字列を保存する部分式。一致した文字列が見つかった場合は、Matchesコレクションから$0...$9プロパティを使用して取得できます。カッコ( )と一致させるには、「\(」または「\)」を指定します。

(?:pattern)

patternと一致しても、その文字列を保存しない部分式(後で使用するための保存は行わない非保存一致)。これは、「または」を意味する(|)を使用して、パターンの一部を結合するときに便利です。たとえば、「industr(?:y|ies)」と指定するより、「industry|industries」と指定する方が簡潔です。

(?=pattern)

肯定先読み検索を実行する部分式です。patternと一致する文字列が始まる位置にある検索文字列と一致します。これは、非保存一致で、一致した文字列は後で使用できません。たとえば、「Windows (?=95|98|NT|2000)」は「Windows 2000」の「Windows」には一致しますが、「Windows 3.1」の「Windows」には一致しません。先読み処理では、文字は検索対象ではありません。一致の検出後、次の検索処理は、先読みされた文字の後からではなく、一致文字列のすぐ後から開始されます。

(?!pattern)

否定先読み検索を実行する部分式です。patternに一致しない文字列が始まる位置にある検索文字列と一致します。これは、非保存一致で、一致した文字列は後で使用できません。たとえば、「Windows (?!95|98|NT|2000)」は「Windows 3.1」の「Windows」には一致しますが、「Windows 2000」の「Windows」には一致しません。先読み処理では、文字は検索対象ではありません。一致の検出後、次の検索処理は、先読みされた文字の後からではなく、一致文字列のすぐ後から開始されます。

x|y

xまたはyと一致します。たとえば、「z|food」は「z」または「food」と一致します。「(z|f)ood」は「zood」または「food」と一致します。

[xyz]

キャラクタ・セットを指定します。大カッコで囲まれたいずれかの文字に一致します。たとえば、「[abc]」は「plain」の「a」と一致します。

[^xyz]

除外するキャラクタ・セットを指定します。大カッコで囲まれた文字以外の文字に一致します。たとえば、「[^abc]」は「plain」の「p」に一致します。

[a-z]

文字の範囲を指定します。指定した範囲に含まれる任意の文字に一致します。たとえば、「[a-z]」はaからzの範囲にある任意の小文字と一致します。

[^a-z]

除外する文字の範囲を指定します。指定した範囲に含まれていない任意の文字と一致します。たとえば、「[^a-z]」はaからzの範囲外にある任意の文字と一致します。

\b

単語の境界と一致します。単語の境界とは、単語と空白との間の位置のことです。たとえば、「er\b」は「never」の「er」とは一致しますが、「verb」の「er」とは一致しません。

\B

単語の境界以外と一致します。たとえば、「er\B」は「verb」の「er」とは一致しますが、「never」の「er」とは一致しません。

\cx

xで指定した制御文字と一致します。たとえば、\cMはControl-Mまたは復帰文字と一致します。xの値は、AからZまたはaからzの範囲内で指定します。それ以外を指定すると、リテラル文字のcと認識されます。

\d

任意の10進文字と一致します。[0-9]と同じ意味です。

\D

10進数字以外と一致します。[^0-9]と同じ意味です。

\f

フォーム・フィード文字と一致します。\x0cおよび\cLと同じ意味です。

\n

改行文字と一致します。\x0aおよび\cJと同じ意味です。

\r

復帰文字と一致します。\x0dおよび\cMと同じ意味です。

\s

空白、タブ、フォーム・フィードなどの任意の空白文字と一致します。[ \f\n\r\t\v]と同じ意味です。

\S

空白文字以外の任意の文字と一致します。[^ \f\n\r\t\v]と同じ意味です。

\t

タブ文字と一致します。\x09および\cIと同じ意味です。

\v

垂直タブ文字と一致します。\x0bおよび\cKと同じ意味です。

\w

単語に使用される任意の文字と一致します。アンダースコアも含まれます。[A-Za-z0-9_]と同じ意味です。

\W

単語に使用される文字以外の任意の文字と一致します。[^A-Za-z0-9_]と同じ意味です。

\xn

n(16進数のエスケープ文字)と一致します。16進数のエスケープ値は2桁である必要があります。たとえば、「\x41」は「A」と一致します。 「\x041」は「\x04」および「1」と同じ意味です。この表記によって、正規表現でASCIIコードを使用できるようになります。

\num

num(正の整数)と一致します。すでに保存されている部分を参照します。たとえば、「(.)\1」は連続する2つの同じ文字と一致します。

\n

8進数のエスケープ値または前方参照を指定します。\nの前にn個以上の保存された部分式がある場合、nは前方参照になります。それ以外の場合でnが8進数(0から7)である場合、nは8進エスケープ値です。

\nm

8進数のエスケープ値または前方参照を指定します。\nmの前にnm個以上の保存された部分式がある場合、nmは前方参照になります。\nmの前にn個以上の保存された部分式がある場合、nが前方参照で、リテラルmが後に続きます。いずれの条件も当てはまらない場合でnおよびmが8進数(0から7)である場合、\nmは8進エスケープ値nmと一致します。

\nml

nが8進数値の0から3で、mおよびlが8進数(0から7)の場合は、8進エスケープ値nmlと一致します。

\un

nと一致します。nにはUnicode文字で表した4桁の16進数を指定します。 たとえば、\u00A9は著作権記号(©)と一致します。


6.12 ICommand Webサービスの使用

ICommandは、HTTPを介してICommand機能と通信する必要があるアプリケーション開発者用のWebサービスとして使用できます。

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

6.12.1 ICommand WebサービスとICommandコマンドライン・ユーティリティの相違点

ICommand Webサービスには、コマンドライン・ユーティリティとほとんど同じ機能が含まれています。たとえば、次の操作に使用できます。

  • データ・オブジェクトの削除

  • ユーザー・アカウントの作成

  • データ・オブジェクトへの行のインポート

  • レポートのエクスポート

  • プランの実行

主な相違点は、Webサービスではリモート・システム上のファイルにアクセスできないということに起因しています。したがって、importコマンドまたはexportコマンドを使用する場合、ファイル名を渡すことができません。

かわりに、importコンテンツ・インラインを渡す必要があります。同様に、exportコンテンツ・インラインを受信します。

通常、importおよびexport以外のコマンドは、コマンドライン・ユーティリティの場合と同様に動作します。

6.12.2 ICommand Webサービスの使用

ICommand Webサービスは、Report Serverがインストールされているマシンで使用できます。 URLは次のとおりです。

http://<host>:<http_port>/oraclebam/services/ICommand.asmx

また、Webサービスについて説明しているWSDLドキュメントは、次のURLにあります。

http://<host>:<http_port>/oraclebam/services/ICommand.asmx?WSDL

このWSDLドキュメントは、Visual Studio .NETからWebサービスにバインドする場合またはJava Web Services Developer Packを使用する場合に有効です。

ICommand Webサービスには、Batchと呼ばれる単一のメソッドが含まれています。このメソッドでは、単一の入力パラメータを指定します。このパラメータは、「コマンド・ファイルの書式設定」で説明されている構文内の一連のコマンドが含まれている文字列です。戻り値は、「ログ・ファイルの書式設定」で説明されているログ構文内の各コマンドの実行結果が含まれている文字列です。

例6-3 ロールのインポート(入力)

<OracleBAMCommands>
  <Import inline='1'>
    <OracleBAMExport Version="1003.0" Build="3.5.5603.0">
      <Role Name="Report Architect" ID="2">
        <Description>Has access to features for creating data objects and reports.</Description>
        <Privileges>
          <Privilege Name="ActiveStudio" />
          <Privilege Name="ActiveViewer" />
          <Privilege Name="Architect" />
          <Privilege Name="CreateAlertRule" />
          <Privilege Name="CreateDataObject" />
          <Privilege Name="CreateReport" />
          <Privilege Name="EmailRenderedReport" />
        </Privileges>
        <Members />
      </Role>
    </OracleBAMExport>
  </Import>
</OracleBAMCommands>

例6-4 ロールのインポート(出力)

<ICommandLog Login="MSOLNIT-PC\ASPNET">
  <Results Command="Import">Role "Report Architect" importedsuccessfully.</Results>
  <Results Command="Import">1 items imported.</Results>
</ICommandLog>

例6-5 データ・オブジェクトのエクスポート(入力)

<OracleBAMCommands>
  <Export name='/Samples/Film Sales' inline='1'/>
</ OracleBAMCommands>

例6-6 データ・オブジェクトのエクスポート(出力)

<ICommandLog Login="MSOLNIT-PC\ASPNET">
  <OracleBAMExport Version="1003.0" Build="3.5.5603.0">
    <DataObject Version="14" Name="Film Sales" ID="_Film_Sales"
Path="/Samples" External="0">
      <Layout>
        <Column Name="Region" ID="_Region" Type="string" MaxSize="100" Nullable="1" Public="1" />
        <Column Name="State" ID="_State" Type="string" MaxSize="100" Nullable="1" Public="1" />
        <Column Name="Category" ID="_Category" Type="string" MaxSize="100" Nullable="1" Public="1" />
        <Column Name="Brand" ID="_Brand" Type="string" MaxSize="100" Nullable="1" Public="1" />
        <Column Name="Description" ID="_Description" Type="string" MaxSize="100" Nullable="1" Public="1" />
        <Column Name="Sales" ID="_Sales" Type="integer" Nullable="1" Public="1" />
        <Indexes />
      </Layout>
      <Contents>
        <Row ID="1">
          <Column ID="_Region" Value="Western Region" />
          <Column ID="_State" Value="Arizona" />
          <Column ID="_Category" Value="Film" />
          <Column ID="_Brand" Value="Kodak" />
          <Column ID="_Description" Value="35mm 200" />
          <Column ID="_Sales" Value="2000" />
        </Row>
        <Row ID="2">
          <Column ID="_Region" Value="Western Region" />
          <Column ID="_State" Value="Arizona" />
          <Column ID="_Category" Value="Film" />
          <Column ID="_Brand" Value="Kodak" />
          <Column ID="_Description" Value="35mm 400" />
          <Column ID="_Sales" Value="2100" />
        </Row>
      </Contents>
    </DataObject>
  </OracleBAMExport>
  <Results Command="Export">Exporting Data Object "/Samples/Film Sales"...</Results>
  <Results Command="Export">Data Object "/Samples/Film Sales" exported successfully (29 rows).</Results>
  <Results Command="Export">1 items exported successfully.</Results>
</ICommandLog>

6.12.3 セキュリティ上の問題

次に、ICommand Webサービスを使用する場合のセキュリティ上の問題を示します。

6.12.3.1 IISセキュリティ(HTTP 401エラー)

Webサーバーが、Webサービスへの匿名アクセスを許容するように構成されていない可能性があります。この場合、Webサービス・コールに資格証明を含める必要があります。 これを行う方法は、ホスト環境(.NET、Javaなど)によって異なります。

6.12.3.2 Active Data Cacheセキュリティ

通常、Webサーバーは、匿名アクセスが許容されている場合、下位権限アカウント(ローカルASPNETアカウントなど)を使用して実行されます。 このアカウントは、ユーザーの作成、データ・オブジェクトの操作などのOracle Business Activity Monitoringのすべての機能にはアクセスできません。