ページの先頭行へ戻る
Linkexpress Transactional Replication option V5.0L60 説明書
FUJITSU Software

12.1.3 ジャーナル取得機能

ジャーナル取得機能は、アプリケーションがOracleのデータベースを更新したデータをジャーナルとしてジャーナル取得ファイルに取得する機能です。

ジャーナルはデータベース更新時にトランザクション単位に取得され、時系列が保証されています。ジャーナルの取得対象と利用ジャーナルのデータ形式は取得定義で指定します。

なお、ジャーナルはTJNLが環境作成時にOracleに登録するトリガーで取得します。

ジャーナル取得機能について説明します。

12.1.3.1 ジャーナル取得対象の指定

ジャーナルを取得する対象となるデータベースは取得定義で指定します。ジャーナルの取得対象として、以下の指定が行えます。

なお、ジャーナルの取得対象となるSQL文は、更新系SQL文(INSERT、UPDATE、DELETE)です。

ジャーナル取得対象の指定方法

列単位での指定

ジャーナルの取得対象を列単位で指定できます。これにより、更新データが必要な列のジャーナルだけをテーブルの更新データから容易に抽出できます。

サポートするデータ型はOracle組込みデータ型です。サポートするデータ型の詳細は"表12.1 TJNLにおけるOracleデータベースのデータ型のサポート可否"を参照してください。

複数テーブルの指定

1つの取得定義に複数の異なるテーブルの列を指定することができます。これにより、異なるテーブルの更新情報を容易に1つの利用ジャーナルとしてまとめられます。

ジャーナルの取得対象の指定例を"図12.2 ジャーナル取得対象の指定例"に示します。

図12.2 ジャーナル取得対象の指定例

この例では、個人受注-担当テーブルおよび製品受注-家電テーブルからジャーナルを取得する列を選択し、1つの利用ジャーナルとなるように定義しています。

UPDATE時の注意事項

主キーとなる列を含む集合更新をしないでください。このような集合更新を行うと複数行分のジャーナルが取得されるため、ジャーナル利用側業務にて、データベースに正しく反映されないことがあります。
また、取得定義で指定していない列を更新してもジャーナルが取得されます。

12.1.3.2 システム取得項目の指定

取得したジャーナルに対して、更新時間やトランザクション状態などの更新データ以外の情報を取得できます。これらの情報は、システム取得項目と呼び、TJNLが自動的に取得します。システム取得項目は、取得定義で指定し、必要に応じた項目を選択できます。システム取得項目の詳細は、"14.1.2.5 システム取得項目"を参照してください。

12.1.3.3 更新データと利用ジャーナルの関係

取得定義によって、ジャーナルの取得対象を更新したデータと利用ジャーナルの関係が決まります。これらの関係を、"図12.3 更新データと利用ジャーナルの関係"に示します。

図12.3 更新データと利用ジャーナルの関係

この図では、1つのトランザクションの処理でデータベース内の異なるテーブルを更新する場合を例にしています。ここでは、同じ形式で内容の異なるジャーナルが、1つのトランザクションの処理で合計3回取得されます。

12.1.3.4 ジャーナルの取得契機

ジャーナル取得機能の運用を開始した後にジャーナルを取得できます。ジャーナル取得機能の運用を開始する前にデータベースを更新した場合は、ジャーナルは取得されません。ジャーナルは、データベースを更新するトランザクションが正常終了したときにジャーナル取得ファイルに格納されます。