この章では、SQLスクリプトを使用して、B2Bビジネス・メッセージをアーカイブおよびリストアする方法について説明します。
この章の内容は次のとおりです。
設計時データのインポートおよびエクスポートの詳細は、「データのインポートおよびエクスポート」を参照してください。
Oracle B2Bでは、Oracle Data Pumpが使用されます。これは、OracleデータベースでB2Bランタイム・インスタンス・データをアーカイブするために高速なバルク・データおよびメタデータの移動を実現するOracle Database 11gの機能です。
開始日、終了日およびメッセージの状態に基づいて、ビジネス・メッセージをアーカイブ(オプションでパージ)するための基準を指定できます。対象のビジネス・メッセージは、アーカイブおよびパージ・アクティビティの同期に使用されるB2Bランタイム表の列JOB_ID
でマークされます。B2BはJOB_ID
を使用して、Data Pump PL/SQL APIを起動します。これにより、ビジネス・メッセージのアーカイブ時に、関連付けられている表もすべてアーカイブされます。また、Data Pumpを使用してランタイム・データをOracle B2B (Oracle Metadata Serviceリポジトリ)にインポートし、B2Bレポートを通してこのデータにアクセスすることで、アーカイブされたビジネス・メッセージをリストアすることもできます。
Oracle以外のデータベースの場合は、外部のデータベース・アーカイブ・ツールを使用して、ランタイム・データをエクスポートおよびインポートできます。
ビジネス・メッセージをアーカイブするには、アーカイブ・ディレクトリおよび権限を設定してから、アーカイブ・プロシージャを実行します。プロシージャには、アーカイブされた行をパージするオプションがあります。
アーカイブ・ディレクトリおよび権限を設定するには
データベースが実行されているコンピュータで、アーカイブ・ファイル用のディレクトリを作成します。次に例を示します。
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を使用する前に、アーカイブ・ディレクトリおよび権限を設定します。
ビジネス・メッセージをリストアするには、インポート・ディレクトリおよび権限を設定してから、リストア・プロシージャを実行します。
インポート・ディレクトリおよび権限を設定するには
データベースが実行されている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を使用する前に、インポート・ディレクトリおよび権限を設定します。
注意:
あるメジャー・リリース(11.1.1.7.0など)から別のメジャー・リリース(12.1.3.0.0など)へのRTデータのアーカイブおよびリストアはサポートされません。