ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA Suiteヘルスケア統合ユーザーズ・ガイド
11gリリース1 (11.1.1.9)
E59383-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

16 Oracle Healthcareコマンド行ツール

この章では、データのパージ、データのインポートおよびエクスポート、バッチ操作、エンドポイントの更新および削除など多数のタスクに使用できるOracle Healthcareコマンドライン・ツールについて説明します。

この章には次のトピックが含まれます:

16.1 コマンドライン・ツール実行の前提条件

コマンド行ツールを使用するには、事前に次の手順を実行してください。

  1. ORACLE_HOMEANT_HOMEおよびJAVA_HOMEの各環境変数を設定します。

    ORACLE_HOMEは、Oracle Fusion Middlewareインストール・ディレクトリのOracle SOA Suiteインストールに設定されます。たとえば、デフォルト・シェルがCSHの場合、次のようになります。

    setenv ORACLE_HOME <Oracle SOA install directory>
    setenv ANT_HOME $ORACLE_HOME/../modules/org.apache.ant_1.7.1 
    set JAVA_HOME $ORACLE_HOME/<jdk install directory> 
    
  2. jndi.propertiesを作成します。

    cd $ORACLE_HOME/bin
    ant -f ant-hcfp-util.xml hcfpcreate-prop
    
  3. jndi.propertiesファイルを編集して、weblogicパスワードを組み込みます。


注意:

1. コマンド行ツールは管理者専用です。ログイン・ユーザーによるデータのパージ、インポートまたはエクスポートを防止するためのセキュリティ・チェックまたは権限チェックは実行されません。

2. コマンドライン・ツールを実行した後、Oracle Healthcareコンソールへのログオンを取得する必要があります。Oracle Healthcareコンソールでは一部のメタデータがキャッシュに入れられ、コマンドライン・アクションによってメタデータが更新されると、キャッシュ内のデータが無効になる場合があります。したがって、コマンドライン操作を使用した後は必ずOracle Healthcareコンソールに再ログインすることをお薦めします。

3. JNDI資格証明がなくても、すべてのコマンド行ツールを実行できます。匿名ユーザーによるコマンド行ツールの使用を制限するには、jndi.propertiesファイルに次の情報を指定します。

java.naming.security.principal=weblogic
java.naming.security.credentials=weblogic_password


注意:

Oracle Healthcareコマンドライン・ユーティリティではデフォルトで、クライアント側またはサーバー側エラーの場合でも、ANTの実行でBUILD SUCCESSFULが示され、システム・コード0 (ゼロ)が戻されます。クライアント側またはサーバー側の各エラーでANTの実行がFAILになるようにするには、exitonerrorパラメータをtrueに設定する必要があります。

これは、次の2つのうちいずれかの方法で行うことができます。

  • ANTコマンド行で-Dexitonerror=trueを指定

    ant -f ant-hcfp-util.xml b2bpurge -Dagreement=<AGR_NAME> -Dmode=DT -Dexitonerror=true
    
  • exitonerrorパラメータをグローバル設定として設定

    ant_general.propertiesというプロパティ・ファイルを値exitonerror=trueでant-hcfp-util.xmlが存在するディレクトリ($ORACLE_HOME/bin)に作成します。

この構成では、すべてのクライアントまたはサーバー・エラーで、すべてのANTコマンドがBUILD FAILEDというメッセージで失敗し、システム終了コードが-1に設定されます。


16.2 データのパージ

このユーティリティを使用して、Oracle Healthcareリポジトリから設計および実行時データをパージします。このユーティリティでは、デフォルトでアーカイブ機能も用意されています。アーカイブがYESに設定されている場合、初期設定が必要です。

初期設定を行うには

  1. データベースが稼働するマシン上で、アーカイブ・ファイルをダンプするディレクトリを作成します。例:

    mkdir /tmp/archive
    
  2. データベース・プロセスでデータを書き込めるように、このディレクトリへの権限を付与します。

    chmod 777 /tmp/archive
    
  3. sysdbaでデータベースにログインします。

    sqlplus / as sysdba
    
  4. HCFP_EXPORT_DIRを設定します。

    SQL> create or replace DIRECTORY HCFP_EXPORT_DIR as '/tmp/archive'
    
  5. SOAスキーマ・ユーザーがhcfp_soainfraの場合は、そのユーザーにエクスポート権限を付与する必要があります。

    SQL> grant read, write on directory HCFP_EXPORT_DIR to hcfp_soainfra;
    SQL> grant exp_full_database  to hcfp_soainfra;
    

次のユーティリティでは、設計時データとランタイム・データの両方をパージし、環境をインストール時の状態にリセットします。

ant -f ant-hcfp-util.xml hcfppurge

表16-1に、このユーティリティのオプションを示します。

表16-1 hcfppurgeユーティリティのオプション

オプション 説明 ドメイン 必須
mode

設計時データのパージまたはランタイム・データのパージを指定します(下の注意を参照)。

実行時オプション: msgstate/start/end/purgecontrolnumber

設計時のオプション: host

DT
RT

はい

msgState

指定したメッセージの状態のメッセージを削除します。ランタイム・データに使用されます。

MSG_COMPLETE
MSG_ERROR
MSG_WAIT_TRANSMIT
MSG_WAIT_FA
MSG_WAIT_BATCH

いいえ。msgstateが存在する場合は、startおよびendを使用する必要があります。

purgecontrolnumber

管理番号を削除します。ランタイム・データに使用されます。

true

false(デフォルト)

いいえ

fromdate

この日付以降に作成されたすべてのメッセージを削除します。

日付書式

dd/mm/yyyy hh:mm AM/PM

いいえ

todate

この日付以前に作成されたすべてのメッセージを削除します。

日付書式

dd/mm/yyyy hh:mm AM/PM

いいえ

direction

メッセージの方向


いいえ

msgtype

メッセージのタイプ


いいえ

archive

アーカイブが必須


デフォルト値はtrue

archivename

アーカイブ・ファイルのファイル名


いいえ



注意:

-Dmode=RT -Dtp=endpoint_nameオプションのみを使用すると、エンドポイント名が送信者名または受信者名と一致するすべてのレコードが削除されます。

例16-1 設計時データの削除

ant -f ant-hcfp-util.xml hcfppurge -Dmode=DT

例16-2 ランタイム・データのパージ

ant -f ant-hcfp-util.xml hcfppurge -Dmode=RT -Darchive=false

例16-3 管理番号を含むランタイム・データのパージ

ant -f ant-hcfp-util.xml hcfppurge -Dmode=RT -Dpurgecontrolnumber=true

例16-4 指定した日付範囲内の指定した状態のメッセージのパージ

ant -f ant-hcfp-util.xml hcfppurge -Dmode=RT -Dfromdate="01/02/2009 12:00 AM" -Dtodate="10/02/2009 12:00 AM" -Dmsgstate=MSG_COMPLETE -Darchive-false

注意:

archivenameを使用する場合、値は一意のファイル名である必要があります。archivenameに既存のファイル名を使用すると、例外がスローされます。

16.3 データのインポート


注意:

ログイン・ユーザーによるデータのインポートを防止するためのセキュリティ・チェックまたは権限チェックは実行されません。

hcfpimportユーティリティでは、Oracle HealthcareメタデータZIPファイルをリポジトリにインポートします。基本的な検証は実行されますが、デプロイメント検証のような完全な検証ではありません。overwriteオプションを使用しないかぎり、データは上書きされません。

次の使用例では、tmp/export.zipのデータが同じサーバー上の場所にインポートされ、上書きは行われません。

ant -f ant-hcfp-util.xml hcfpimport -Dlocalfile=true -Dexportfile="/tmp/export.zip"

表16-2に、このユーティリティのオプションを示します。

表16-2 hcfpimportユーティリティのオプション

オプション 説明 ドメイン 必須
exportfile

エクスポート(ZIP)ファイルの場所

-

はい

overwrite

既存のビジネス要素を上書きします。たとえば、インポート・ファイルのエンドポイントと同じエンドポイント名を持つ既存のエンドポイントは、このオプションがtrueに設定されている場合、置換されます。

true

false(デフォルト)

いいえ

localfile

エクスポート・ファイルの場所がサーバー上である場合は、このオプションをtrueに設定すると、パフォーマンスが向上します。エクスポート・ファイルは、Oracle Healthcareが稼働しているサーバーに存在する必要があります。

true

false(デフォルト)

いいえ

active

インポート後にすべてのエンドポイントを有効にします

true

false(デフォルト)

いいえ


16.4 データのエクスポート

hcfpexportユーティリティでは、メタデータをOracle Healthcareリポジトリからエクスポートします。オプションを指定しないと、リポジトリ全体がエクスポートされます。


注意:

ログイン・ユーザーによるデータのエクスポートを防止するためのセキュリティ・チェックまたは権限チェックは実行されません。

次の使用例では、他のオプションを指定しない場合、リポジトリ全体(ポリシー詳細を除く)が/tmp/export.zipにエクスポートされます。

ant -f ant-hcfp-util.xml hcfpexport

表16-3に、このユーティリティのオプションを示します。

表16-3 hcfpexportユーティリティのオプション

オプション 説明 ドメイン 必須
exportfile

エクスポートしたデータを格納するZIPファイルの場所

/tmp/export.zip(デフォルト)

いいえ

endpoint

エンドポイントの名前


いいえ

policies

trueに設定すると、ユーザーとロールの詳細(ポリシー・ストアに必要)を含むリポジトリ全体がエクスポートされます。ポリシー・ストアもエクスポートするように警告が表示されます。

true

false(デフォルト)

いいえ

localfile

エクスポート・ファイルがOracle Healthcareと同じコンピュータ上にある場合は、trueに設定するとパフォーマンスが向上します。

true

false(デフォルト)

いいえ


例16-5 ポリシーの詳細を含むリポジトリ全体を/tmp/export.zipにエクスポートする場合

ant -f ant-hcfp-util.xml hcfpexport -Dexportfile="/tmp/export.zip" -Dpolicies=true

例16-6 詳細を含まないリポジトリ全体を同じサーバー上の/tmp/exportinserver.zipにエクスポートする場合

ant -f ant-hcfp-util.xml hcfpexport -Dexportfile="/tmp/exportinserver.zip" -Dlocalfile=true

例16-7 /tmp/export.zipへのエンドポイント許可のエクスポート

ant -f ant-hcfp-util.xml hcfpexport -Dexportfile="/tmp/export.zip" -Dendpoint=Admission

16.5 バッチ処理操作

コマンド行のhcfpbatchユーティリティを使用すると、様々な条件に基づいてバッチを作成および削除できます。これはANTベースのコマンドであり、バッチを作成する条件を選択できる柔軟性をもたらします。

使用方法を次に示します。

ant -f ant-hcfp-util.xml hcfpbatch -Dendpoint=<EndpointName> -Dbatchtime=<batchTriggerTime> -Dbatchname=<batchName> -Ddocument=<documentProtocolName> -Ddocrevision=<docRevision> -Ddoctype=<docType> -Disrepetitive=<true|false>

表16-4に、このユーティリティのオプションを示します。

表16-4 hcfpbatchユーティリティのオプション

オプション 説明 ドメイン 必須

endpoint

エンドポイント名。

エンドポイント名を指定します。

はい脚注1

batchname

バッチ名。

バッチの名前を指定します。

はい

batchtime

バッチのトリガー時刻。

トリガー時刻には、cron文字列または
dd/MM/yyyy HH:mm AM/PM形式の日付を使用できます。

はい

document

ドキュメント・プロトコル名。

有効な値:
EDI_EDIFACT、EDI_X12

はい

docrevision

ドキュメント・リビジョン。

-

はい

doctype

ドキュメント・タイプ。

-

はい

isrepetitive

cron文字列を使用してバッチを作成するときに、反復的なバッチ処理を有効にします。

有効な値: trueまたはfalse

いいえ

mode

モード

バッチを削除するには、deletebatchに設定します。

いいえ


脚注1 バッチを作成するには、endpoint、batchtime、batchname、document、docrevision、doctypeの各オプションが必要です。バッチを削除するには、modeとbatchnameオプションのみが必要です。


注意:

コマンドライン操作用のcronジョブを作成する際は、cron構文に従う必要があります。

例16-8 バッチ処理操作の作成

このコマンドでは、FileEndpointを使用してX12/4010/850ドキュメントに対するバッチ処理操作を作成します。このバッチ処理操作は、指定したcron文字列に対して反復モードで実行されます。

ant -f ant-hcfp-util.xml hcfpbatch -Dendpoint=FileEndpoint -Dbatchtime="0 4850 11 7 5 ? 2010" -Dbatchname=batch1234 -Ddocument=EDI_X12 -Ddocrevision=4010 -Ddoctype=850 -Disrepetitive=true

例16-9 複数のドキュメント・タイプに対するバッチの作成

ant -f ant-hcfp-util.xml hcfpbatch -Dendpoint=FileEndpoint -Dbatchtime="0 58 11 7 5 ? 2010" -Dbatchname=batch1234 -Ddocument=EDI_X12 -Ddocrevision=4010 -Ddoctype=850,997

ant -f ant-hcfp-util.xml hcfpbatch -Dendpoint=FileEndpoint -Dbatchtime="07/05/2010 11:45 AM" -Dbatchname=batch1234 -Ddocument=X12 -Ddocrevision=4010 -Ddoctype=850,997

例16-10 バッチ処理操作の削除

ant -f ant-hcfp-util.xml hcfpbatch -Dmode=deletebatch -Dbatchname=batch1234 

例16-11 batchtimeオプションでの特殊文字の使用

batchtimeの値に*や#などの特殊文字が含まれる場合は、二重引用符を使用して文字をエスケープする必要があります。

ant -f ant-hcfp-util.xml hcfpbatch -Dendpoint=FileEndpoint -Dbatchtime='0 5,10,15,20,25,30,35,40,45,50,55,59 "*" "*" "*" ? 2010' -Dbatchname=batch1234 -Ddocument=EDI_X12 -Ddocrevision=4010 -Ddoctype="850,855" -Disrepetitive=true 

16.6 メッセージの再発行

次のユーティリティでは、選択したビジネス・メッセージに対するアプリケーション・メッセージまたはワイヤ・メッセージを再発行します。

ant -f ant-hcfp-util.xml hcfpresubmit

注意:

ペイロードの修正に対する再発行機能は、AppMessageのみのアウトバウンド・メッセージに対してのみ機能します。インバウンドの場合は無効です。
ant -f ant-hcfp-util.xml hcfpresubmit -Dmsgsource=APPMSG -Dmsgid=12345 -Dpayloadpath=/scratch/<username>/fmwhome/AS11gR1SOA/bin/3a4_req.xml

表16-5に、このユーティリティのオプションを示します。

表16-5 hcfpresubmitユーティリティのオプション

オプション 説明 ドメイン 必須
direction

メッセージの方向

INBOUND

OUTBOUND

いいえ

msgsource

メッセージ・ソース

APPMSG (デフォルト)

WIREMSG

はい

msgid

メッセージID

複数のメッセージIDをカンマで区切って指定可能


doctype

ドキュメント・タイプ



msgstate

メッセージの状態



fromdate

メッセージのsendTimestamp

二重引用符で囲んで指定する日付書式

dd-mm-yyyy hh:mm AM/PM 

注意: 将来に日付にすることはできません。


todate

メッセージのsendTimestamp

二重引用符で囲んで指定する日付書式

dd-mm-yyyy hh:mm AM/PM 

注意: todateはfromdateより後にする必要があります。両方の日付を指定できます。


payloadpath

このオプションは、修正したファイル・パスを指定して、アウトバウンド・アプリケーション・メッセージを再発行する場合に適用可能です。




例16-12 メッセージIDが12345のアウトバウンド・メッセージの再発行

ant -f ant-hcfp-util.xml hcfpresubmit -Ddirection=OUTBOUND -Dmsgsource=APPMSG -Dmsgid=12345\

その他の例

ant -f ant-hcfp-util.xml hcfpresubmit -Dmsgsource=APPMSG -Ddoctype=850

ant -f ant-hcfp-util.xml hcfpresubmit -Dmsgsource=APPMSG -Dfromdate="29/11/2009 5:40 AM" -Dtodate="30/11/2009 7:39 AM"

ant -f ant-hcfp-util.xml hcfpresubmit -Dmsgsource=WIREMSG -Dmsgstate=MSG_ERROR

ant -f ant-hcfp-util.xml hcfpresubmit -Dmsgsource=APPMSG -Dfromdate="29/11/2009 5:40 AM" -Dtodate="30/11/2009 7:39 AM" -Ddirection=OUTBOUND

ant -f ant-hcfp-util.xml hcfpresubmit -Dmsgsource=APPMSG -Dfromdate="29/11/2009 5:40 AM" -Dtodate="30/11/2009 7:39 AM" -Ddirection=INBOUND

ant -f ant-hcfp-util.xml hcfpresubmit -Dmsgsource=APPMSG -Dmsgid=12345 -Dpayloadpath="/tmp/850.xml"

16.7 エンドポイントの停止時間のスケジューリング

様々なエンドポイント・パーティがそれぞれの理由で停止時間の計画を立て、その停止時間を取引相手のパートナに連絡しています。停止時間中、パーティがメッセージを送信しても宛先に到達しないことがあります。エンドポイントの停止時間をスケジューリングすると、メッセージはその期間配信されないようになります。ただし、メッセージはOracle Healthcareによって、停止時間後にエンドポイント・パーティが起動したときにメッセージが配信されるように処理されます。

次のユーティリティでは、エンドポイントの停止時間をスケジュール設定します。

ant -f ant-hcfp-util.xml hcfpschedule

表16-6に、このユーティリティのオプションを示します。

表16-6 hcfpscheduleユーティリティのオプション

オプション 説明 ドメイン 必須

mode

スクリプトで停止時間のスケジュールを設定するのか、解除するのかを示します。

schedule(デフォルト)

unschedule

はい

schedulename

スケジュールを設定する停止時間の摘要名

-

はい

endpoint

エンドポイント名

-

はい

(unscheduleモードの場合以外)

fromdate

停止時間を開始する日時。

二重引用符で囲んで指定する日付書式

dd/mm/yyyy hh:mm AM/PM 

いいえ

todate

停止時間を終了する日時。

二重引用符で囲んで指定する日付書式

dd/mm/yyyy hh:mm AM/PM 

いいえ

extend

すでに作成されているスケジュールを延長します。

true

いいえ


次に、hcfpscheduleユーティリティを使用してエンドポイントの停止時間をスケジューリングする例を示します。コマンドを1行で入力する必要はありません。

例16-13 GlobalChipsの全チャネルのエンドポイント停止時間を"14/05/2010 00:14 AM"から"14/05/2010 00:17 AM"にスケジュールする

ant -f ant-hcfp-util.xml hcfpschedule
-Dendpoint="GlobalChips"
-Dfromdate="14/05/2010 00:14 AM"
-Dtodate="14/05/2010 00:17 AM"
-Dschedulename= "Maintenance"

例16-14 スケジュールが設定されているイベントのスケジュール解除

ant -f ant-hcfp-util.xml hcfpschedule
-Dmode=unschedule
-Dschedulename="Maintenance"

16.8 エンドポイントの更新

次のユーティリティでは、エンドポイントをアクティブな状態から非アクティブな状態(またはその逆)に変更できます。

ant -f ant-hcfp-util.xml hcfpupdateendpoint

表16-7に、このユーティリティのオプションを示します。

表16-7 hcfpupdateendpointユーティリティのオプション

オプション 説明 ドメイン 必須
endpoint

エンドポイントの名前

エンドポイント名を指定します

はい

active

エンドポイントをアクティブにします

true

false

はい


例16-15 エンドポイントを非アクティブな状態からアクティブな状態に更新

ant -f ant-hcfp-util.xml hcfpupdateendpoint -Dendpoint=FileEndpoint -Dactive=true

16.9 エンドポイントの削除

次のユーティリティでは、エンドポイントを削除します。

ant -f ant-hcfp-util.xml hcfpdeleteendpoint

表16-8 hcfpdeleteendpointユーティリティのオプション

オプション 説明 ドメイン 必須
endpoint

エンドポイントの名前

エンドポイント名を指定します

はい


例16-16 エンドポイントの削除

ant -f ant-hcfp-util.xml hcfpdeleteendpoint -Dendpoint=FileEndpoint

16.10 キーストアの更新

次のユーティリティでは、キーストアの場所とパスワードを更新します。更新された場所とパスワードはOracle Healthcareコンソールで確認できます。

ant -f ant-hcfp-util.xml hcfpkeystoreupdate

表16-9 hcfpdeleteendpointユーティリティのオプション

オプション 説明 ドメイン 必須
keystorelocation

キーストアの場所

はい

keystorepassword

キーストアのパスワード


はい


例16-17 キーストアの場所とパスワードの更新

ant -f ant-hcfp-util.xml hcfpkeystoreupdate -Dkeystorelocation="/tmp/acme.jks" -Dkeystorepassword="welcome"