16 Oracle Healthcareコマンド行ツール
この章では、データのパージ、データのインポートおよびエクスポート、バッチ操作、エンドポイントの更新および削除など多数のタスクに使用できるOracle Healthcareコマンドライン・ツールについて説明します。
この章のトピックは、次のとおりです:
16.1 コマンドライン・ツール実行の前提条件
コマンドライン・ツールを使用する前に特定の作業を実行する必要があります。
注意:
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
に設定されている場合、次のように初期設定が必要です。
初期設定を行う手順:
-
データベースが稼働するマシン上で、アーカイブ・ファイルをダンプするディレクトリを作成します。これは永続ディレクトリではありません。アーカイブ手順が完了したら、アーカイブされたファイルを別の場所に移動できます。このディレクトリは、セキュリティ目的で必要に応じて削除できます。次に例を示します。
mkdir /archive
-
この操作のためにデータベース・プロセスでデータを書き込めるように、
chmod
コマンドを使用してこのディレクトリへの権限を付与します。 -
sysdba
でデータベースにログインします。sqlplus / as sysdba
-
HCFP_EXPORT_DIR
を設定します。SQL> create or replace DIRECTORY HCFP_EXPORT_DIR as '/archive'
-
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 |
指定したメッセージの状態のメッセージを削除します。ランタイム・データに使用されます。 |
|
いいえ。 |
purgecontrolnumber |
管理番号を削除します。ランタイム・データに使用されます。 |
|
いいえ |
|
この日付以降に作成されたすべてのメッセージを削除します。 |
日付書式 dd/mm/yyyy hh:mm AM/PM |
いいえ |
|
この日付以前に作成されたすべてのメッセージを削除します。 |
日付書式 dd/mm/yyyy hh:mm AM/PM |
いいえ |
|
メッセージの方向 |
いいえ |
|
|
メッセージのタイプ |
いいえ |
|
|
要アーカイブ |
デフォルト値は |
|
|
アーカイブ・ファイルのファイル名 |
いいえ |
注意:
-Dmode=RT -Dtp=
endpoint_name
オプションのみを使用すると、エンドポイント名が送信者名または受信者名と一致するすべてのレコードが削除されます。
例 - 設計時データの削除
ant -f ant-hcfp-util.xml hcfppurge -Dmode=DT
例 - ランタイム・データのパージ
ant -f ant-hcfp-util.xml hcfppurge -Dmode=RT -Darchive=false
例 - 管理番号を含むランタイム・データのパージ
ant -f ant-hcfp-util.xml hcfppurge -Dmode=RT -Dpurgecontrolnumber=true
例 - 指定した日付範囲内の指定した状態のメッセージのパージ
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)ファイルの場所 |
[-] |
はい |
|
既存のビジネス要素を上書きします。たとえば、インポート・ファイルのエンドポイントと同じエンドポイント名を持つ既存のエンドポイントは、このオプションが |
|
いいえ |
|
エクスポート・ファイルの場所がサーバー上である場合は、このオプションを |
|
いいえ |
active |
インポート後にすべてのエンドポイントを有効にします |
|
いいえ |
16.4 データのエクスポート
hcfpexport
ユーティリティでは、メタデータをOracle Healthcareリポジトリからエクスポートします。オプションを指定しないと、リポジトリ全体がエクスポートされます。
注意:
ログイン・ユーザーによるデータのエクスポートを防止するためのセキュリティ・チェックまたは権限チェックは実行されません。
次の使用例では、他のオプションを指定しない場合、リポジトリ全体(ポリシー詳細を除く)が/tmp/export.zip
にエクスポートされます。
ant -f ant-hcfp-util.xml hcfpexport
表16-3に、このユーティリティのオプションを示します。
表16-3 hcfpexportユーティリティのオプション
オプション | 説明 | ドメイン | 必須 |
---|---|---|---|
exportfile |
エクスポートしたデータを格納するZIPファイルの場所 |
|
いいえ |
endpoint |
エンドポイントの名前 |
いいえ |
|
|
|
|
いいえ |
|
エクスポート・ファイルがOracle Healthcareと同じコンピュータ上にある場合は、 |
|
いいえ |
例 - ポリシーの詳細を含むリポジトリ全体を/tmp/export.zipにエクスポートする場合
ant -f ant-hcfp-util.xml hcfpexport -Dexportfile="/tmp/export.zip" -Dpolicies=true
例 - 詳細を含まないリポジトリ全体を同じサーバー上の/tmp/exportinserver.zipにエクスポートする場合
ant -f ant-hcfp-util.xml hcfpexport -Dexportfile="/tmp/exportinserver.zip" -Dlocalfile=true
例 - /tmp/export.zipへのエンドポイント許可のエクスポート
ant -f ant-hcfp-util.xml hcfpexport -Dexportfile="/tmp/export.zip" -Dendpoint=Admission
例 - /tmp/export.zipへの、エンドポイント許可と内部配信チャネルGeneric1およびGeneric2のエクスポート
ant -f ant-hcfp-util.xml hcfpexport -Dexportfile="/tmp/export.zip" -Dendpoint=Admission -DinternalChannel=GENERIC1,GENERIC2
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文字列または |
はい |
document |
ドキュメント・プロトコル名。 |
値: EDI_EDIFACT、EDI_X12 |
はい |
docrevision |
ドキュメント・リビジョン。 |
[-] |
はい |
doctype |
ドキュメント・タイプ。 |
[-] |
はい |
isrepetitive |
cron文字列を使用してバッチを作成するときに、反復的なバッチ処理を有効にします。 |
値: |
いいえ |
mode |
モード |
バッチを削除するには、 |
いいえ |
脚注1
バッチを作成するには、endpoint、batchtime、batchname、document、docrevision、doctypeの各オプションが必要です。バッチを削除するには、modeとbatchnameオプションのみが必要です。
注意:
コマンド行操作のcronジョブは、次のcron構文に従って作成する必要があります。
例 - バッチ処理操作の作成
このコマンドでは、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
例 - 複数のドキュメント・タイプに対するバッチの作成
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
例 - バッチ処理操作の削除
ant -f ant-hcfp-util.xml hcfpbatch -Dmode=deletebatch -Dbatchname=batch1234
例 - 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
注意:
ビジネス・メッセージが作成されていない場合、ワイヤ・メッセージのコマンドラインの再発行は動作しません。正しいコマンドはant -f ant-hcfp-util.xml hcfpresubmit -Dwiremsgid=<wire_message_id_1>,<wire_message_id_2>
です。ワイヤ・メッセージIDのリストは、B2B_WIRE_MESSAGE表のID列の値です。
表16-5に、このユーティリティのオプションを示します。
表16-5 hcfpresubmitユーティリティのオプション
オプション | 説明 | ドメイン | 必須 |
---|---|---|---|
direction |
メッセージの方向 |
INBOUND OUTBOUND |
いいえ |
msgsource |
メッセージ・ソース |
APPMSG (デフォルト) WIREMSG |
はい |
|
メッセージID |
複数のメッセージIDをカンマで区切って指定可能 |
|
|
ドキュメント・タイプ |
||
|
メッセージの状態 |
||
|
メッセージの |
二重引用符で囲んで指定する日付書式 dd-mm-yyyy hh:mm AM/PM 注意: 将来に日付にすることはできません。 |
|
|
メッセージの |
二重引用符で囲んで指定する日付書式 dd-mm-yyyy hh:mm AM/PM 注意: |
|
|
このオプションは、修正したファイル・パスを指定して、アウトバウンド・アプリケーション・メッセージを再発行する場合に適用可能です。 |
例 - メッセージ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 エンドポイントの停止時間のスケジューリング
次のユーティリティでは、エンドポイントの停止時間をスケジュール設定します。
ant -f ant-hcfp-util.xml hcfpschedule
表16-6に、このユーティリティのオプションを示します。
表16-6 hcfpscheduleユーティリティのオプション
オプション | 説明 | ドメイン | 必須 |
---|---|---|---|
|
スクリプトで停止時間がスケジュールされているか、されていないかを示します。 |
|
はい |
|
スケジュールを設定する停止時間の摘要名 |
[-] |
はい |
endpoint |
エンドポイント名 |
[-] |
はい ( |
fromdate |
停止時間を開始する日時。 |
二重引用符で囲んで指定する日付書式 dd/mm/yyyy hh:mm AM/PM |
いいえ |
|
停止時間を終了する日時。 |
二重引用符で囲んで指定する日付書式 dd/mm/yyyy hh:mm AM/PM |
いいえ |
|
すでに作成されているスケジュールを延長します。 |
|
いいえ |
次に、hcfpschedule
ユーティリティを使用してエンドポイントの停止時間をスケジューリングする例を示します。コマンドを1行で入力する必要はありません。
例 - 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"
例 - スケジュールが設定されているイベントのスケジュール解除
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 |
エンドポイントをアクティブにします |
|
はい |
例 - エンドポイントを非アクティブな状態からアクティブな状態に更新
ant -f ant-hcfp-util.xml hcfpupdateendpoint -Dendpoint=FileEndpoint -Dactive=true
16.9 エンドポイントの一時停止と再開
エンドポイントを一時停止するには、ANT ant-hcfp-util.xml
ビルド・ファイルの下でhcfppauseendpoint
ユーティリティを使用します。
表16-8に、このユーティリティのオプションを示します。
表16-8 hcfppauseendpointユーティリティのオプション
オプション | 説明 | ドメイン | 必須 |
---|---|---|---|
endpoint |
エンドポイントの名前 |
はい |
例 - エンドポイントの一時停止
ant -f ant-hcfp-util.xml hcfppauseendpoint -Dendpoint=FileEndpoint
エンドポイントを再開するには、ANT ant-hcfp-util.xml
ビルド・ファイルの下でhcfpresumeendpoint
ユーティリティを使用します。
表16-10に、このユーティリティのオプションを示します。
表16-9 hcfpresumeendpointユーティリティのオプション
オプション | 説明 | ドメイン | 必須 |
---|---|---|---|
endpoint |
エンドポイントの名前 |
はい |
例 - 一時停止したエンドポイントの再開
ant -f ant-hcfp-util.xml hcfpresumeendpoint -Dendpoint=FileEndpoint
16.10 エンドポイントの削除
このユーティリティでは、エンドポイントを削除します。
ant -f ant-hcfp-util.xml hcfpdeleteendpoint
表16-10 hcfpdeleteendpointユーティリティのオプション
オプション | 説明 | ドメイン | 必須 |
---|---|---|---|
endpoint |
エンドポイントの名前 |
はい |
非アクティブな状態からアクティブな状態のエンドポイントの削除
ant -f ant-hcfp-util.xml hcfpdeleteendpoint -Dendpoint=FileEndpoint
16.11 キーストアの更新
このユーティリティでは、キーストアの場所とパスワードを更新します。更新された場所とパスワードはOracle Healthcareコンソールで確認できます。
ant -f ant-hcfp-util.xml hcfpkeystoreupdate
表16-11 hcfpdeleteendpointユーティリティのオプション
オプション | 説明 | 必須 |
---|---|---|
keystorelocation |
キーストアの場所 |
はい |
|
キーストアのパスワード |
はい |
例 - キーストアの場所とパスワードの更新
ant -f ant-hcfp-util.xml hcfpkeystoreupdate -Dkeystorelocation="/tmp/acme.jks" -Dkeystorepassword="welcome"
キーストアの詳細は、『Oracle B2Bの使用』のキーストアの管理に関する項を参照してください。HealthcareではSSHIストライプを使用するため、URIは次のようになります。
kss://SSHI/Acme
Fusion Middlewareのセキュリティの一般的な情報については、『Oracle Platform Security Servicesによるアプリケーションの保護』を参照してください。