プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle B2Bユーザーズ・ガイド
12c (12.2.1.1.0)
E79339-01
目次へ移動
目次
索引へ移動
索引

前
前へ
次
次へ

25 データをアーカイブおよびリストアするためのスクリプト

この章では、SQLスクリプトを使用して、B2Bビジネス・メッセージをアーカイブおよびリストアする方法について説明します。

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

設計時データのインポートおよびエクスポートの詳細は、「データのインポートおよびエクスポート」を参照してください。

25.1 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以外のデータベースの場合は、外部のデータベース・アーカイブ・ツールを使用して、ランタイム・データをエクスポートおよびインポートできます。

25.2 B2Bビジネス・メッセージのアーカイブ

ビジネス・メッセージをアーカイブするには、アーカイブ・ディレクトリおよび権限を設定してから、アーカイブ・プロシージャを実行します。プロシージャには、アーカイブされた行をパージするオプションがあります。

アーカイブ・ディレクトリおよび権限を設定するには

  1. データベースが実行されているコンピュータで、アーカイブ・ファイル用のディレクトリを作成します。次に例を示します。

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

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

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

    SQL> create or replace directory B2B_EXPORT_DIR as '/tmp/import'
    
  5. 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を使用する前に、アーカイブ・ディレクトリおよび権限を設定します。

  1. SOAスキーマ・ユーザーとしてログインします。
    $ sqlplus b2b_soainfra/password
    
  2. アーカイブ・プロシージャを実行します。次に例を示します。
    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);
    

    表25-1に、b2b_archive_procedure APIのパラメータを示します。

    表25-1 b2b_archive_procedureのパラメータ

    パラメータ 説明

    fromDate

    21-JAN-2008

    アーカイブの開始日、DD-MON-YYYY

    toDate

    28-JAN-2008

    アーカイブの終了日、DD-MON-YYYY

    messageState

    MSG_COMPLETE

    ビジネス・メッセージの状態。通常、MSG_COMPLETE状態のメッセージがアーカイブされます。指定可能なその他の状態は、MSG_INVALID、MSG_CONTINUE_PROCESS、MSG_COLLAB_WAIT、MSG_PROCESS_ACK、MSG_SEND_ACK、MSG_WAIT_ACK、MSG_ERROR、MSG_WAIT_TRANSMIT、MSG_SEND_EXP、MSG_PROCESS_EXP、MSG_ABORTED、MSG_TRANSMITFAILED、MSG_WAIT_FA、MSG_SEND_FA、MSG_WAIT_BATCHです。

    fileName

    JAN.dmp

    データベースによって作成されるアーカイブ・ファイルの名前。この名前のファイルがアーカイブ・ディレクトリに存在していないことを確認してください。

    should_purge

    N

    Yを指定すると、アーカイブされた行が削除されます。デフォルトはNです。

25.3 B2Bビジネス・メッセージのリストア

ビジネス・メッセージをリストアするには、インポート・ディレクトリおよび権限を設定してから、リストア・プロシージャを実行します。

インポート・ディレクトリおよび権限を設定するには

  1. データベースが実行されているPCで、インポート・ファイル用のディレクトリを作成します。

    mkdir /tmp/import
    
  2. データベース・プロセスで読取りができるように、このディレクトリに権限を付与します。

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

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

    SQL> create or replace B2B_IMPORT_DIR as '/tmp/import'
    
  5. 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を使用する前に、インポート・ディレクトリおよび権限を設定します。

  1. SOAインフラ・スキーマ・ユーザーとしてログインします。
    $ sqlplus soa_infra_user/password
    
  2. インポート・プロシージャを実行します。次に例を示します。
    SQL> exec b2b_restore_procedure('JAN.dmp');
    

    プロシージャのシグネチャは次のとおりです

    b2b_restore_procedure(fileName)
    

    インポートされたデータを検索および表示するには、「レポート」タブを使用します。

注意:

あるメジャー・リリース(11.1.1.7.0など)から別のメジャー・リリース(12.1.3.0.0など)へのRTデータのアーカイブおよびリストアはサポートされません。