ヘッダーをスキップ
Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイド
11g リリース1(11.1.1)
B61381-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

20 データのアーカイブおよびリストアのスクリプト

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

項目は次のとおりです。

設計時データのインポートとエクスポートについては、第10章「データのインポートとエクスポート」を参照してください。

20.1 B2Bビジネス・メッセージのアーカイブおよびリストアの概要

Oracle B2Bは、Oracle Database 11g の機能である、バルク・データとメタデータの高速な移動を実現するOracle Data Pumpを使用して、B2Bランタイム・インスタンス・データをOracleデータベースにアーカイブします。脚注1

ビジネス・メッセージをアーカイブ(オプションでパージも可能)するための基準を、開始日、終了日およびメッセージの状態によって指定できます。対象のビジネス・メッセージは、B2Bランタイム・テーブルの列JOB_ID(アーカイブの同期とアクティビティのパージに使用)にマークが付けられます。B2Bは、JOB_IDを使用してデータ・ポンプPL/SQL APIを起動します。したがって、ビジネス・メッセージをアーカイブすると、関連するすべてのテーブルもアーカイブされます。 アーカイブしたビジネス・メッセージは、データ・ポンプを使用してランタイム・データをOracle B2B(Oracle Metadata Serviceリポジトリ)にインポートし、B2Bレポートを介してアクセスすることによってリストアすることもできます。

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

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

アーカイブ・ディレクトリと権限を設定する手順は、次のとおりです。

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

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

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

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

    SQL> create or replace B2B_EXPORT_DIR as '/tmp/archive'
    
  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);
    

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

    表20-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です。


20.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)
    

    「レポート」タブを使用して、インポートしたデータを検索して表示します。



脚注のキャプション

脚注1: Oracle以外のデータベースの場合は、ランタイム・データのエクスポートとインポートに外部データベースのアーカイブ・ツールを使用できます。