この章では、SQLスクリプトを使用して、B2Bビジネス・メッセージをアーカイブおよびリストアする方法について説明します。
この章には次のトピックが含まれます:
設計時データのインポートおよびエクスポートの詳細は、第7章 データのインポートおよびエクスポートを参照してください。
Oracle B2Bでは、バルク・データおよびメタデータの高速移動を実現する、Oracle Database 11gの機能であるOracle Data Pumpを使用して、OracleデータベースのB2Bランタイム・インスタンス・データをアーカイブできます。脚注 1
開始日、終了日およびメッセージの状態に基づいて、ビジネス・メッセージをアーカイブ(オプションでパージ)するための基準を指定できます。対象のビジネス・メッセージは、アーカイブおよびパージ・アクティビティの同期に使用されるB2Bランタイム表の列JOB_ID
でマークされます。B2BはJOB_ID
を使用して、Data Pump PL/SQL APIを起動します。これにより、ビジネス・メッセージのアーカイブ時に、関連付けられている表もすべてアーカイブされます。また、Data Pumpを使用してランタイム・データをOracle B2B (Oracle Metadata Serviceリポジトリ)にインポートし、B2Bレポートを通してこのデータにアクセスすることで、アーカイブされたビジネス・メッセージをリストアすることもできます。
ビジネス・メッセージをアーカイブするには、アーカイブ・ディレクトリおよび権限を設定してから、アーカイブ・プロシージャを実行します。プロシージャには、アーカイブされた行をパージするオプションがあります。
アーカイブ・ディレクトリおよび権限を設定するには
データベースが実行されているコンピュータで、アーカイブ・ファイル用のディレクトリを作成します。たとえば、
mkdir /tmp/archive
データベース・プロセスで書込みができるように、このディレクトリに権限を付与します。たとえば、
chmod 777 /tmp/archive
sysdba
でデータベースにログインします。
sqlplus /as sysdba
B2B_EXPORT_DIR
を設定します。
SQL> create or replace directory B2B_EXPORT_DIR as '/tmp/import'
SOAスキーマ・ユーザー(b2b_soainfra
など)にエクスポート用の権限を付与します。
SQL> grant read, write on directory B2B_EXPORT_DIR to b2b_soainfra; SQL> grant exp_full_database to b2b_soainfra;
パージ・オプションを指定してアーカイブするには
次のPL/SQL APIを使用する前に、アーカイブ・ディレクトリおよび権限を設定します。
SOAスキーマ・ユーザーとしてログインします。
$ sqlplus b2b_soainfra/password
アーカイブ・プロシージャを実行します。次に例を示します。
SQL> exec b2b_archive_procedure('21-JAN-2008','28-JAN-2008','MSG_COMPLETE','JAN.dmp','N');
プロシージャのシグネチャは次のとおりです
b2b_archive_procedure(fromDate, toDate, messageState, fileName, should_purge);
表23-1に、b2b_archive_procedure
APIのパラメータを示します。
表23-1 b2b_archive_procedureのパラメータ
パラメータ | 例 | 説明 |
---|---|---|
|
21-JAN-2008 |
アーカイブの開始日、 |
|
28-JAN-2008 |
アーカイブの終了日、 |
|
MSG_COMPLETE |
ビジネス・メッセージの状態。通常、 |
|
JAN.dmp |
データベースによって作成されるアーカイブ・ファイルの名前。この名前のファイルがアーカイブ・ディレクトリに存在していないことを確認してください。 |
|
N |
|
ビジネス・メッセージをリストアするには、インポート・ディレクトリおよび権限を設定してから、リストア・プロシージャを実行します。
インポート・ディレクトリおよび権限を設定するには
データベースが実行されているPCで、インポート・ファイル用のディレクトリを作成します。
mkdir /tmp/import
データベース・プロセスで読取りができるように、このディレクトリに権限を付与します。
chmod 777 /tmp/import
sysdba
でデータベースにログインします。
sqlplus /as sysdba
B2B_IMPORT_DIR
を設定します。
SQL> create or replace B2B_IMPORT_DIR as '/tmp/import'
SOAスキーマ・ユーザー(b2b_soainfra
)にインポート用の権限を付与します。
SQL> grant read, write on directory B2B_IMPORT_DIR to b2b_soainfra; SQL> grant imp_full_database to b2b_soainfra;
ビジネス・メッセージをリストアするには
次のPL/SQL APIを使用する前に、インポート・ディレクトリおよび権限を設定します。
SOAインフラ・スキーマ・ユーザーとしてログインします。
$ sqlplus soa_infra_user/password
インポート・プロシージャを実行します。次に例を示します。
SQL> exec b2b_restore_procedure('JAN.dmp');
プロシージャのシグネチャは次のとおりです
b2b_restore_procedure(fileName)
インポートされたデータを検索および表示するには、「レポート」タブを使用します。
脚注の説明
脚注 1: Oracle以外のデータベースの場合は、外部のデータベース・アーカイブ・ツールを使用して、ランタイム・データをエクスポートおよびインポートできます。