Hitachi

HiRDB データ連動拡張機能 HiRDB Datareplicator Extension Version 10


3.1.7 データ連動リソースの作成

他社DBMSからHiRDBへデータ連動する場合,データ連動リソース管理ユーザに対してデータ連動に必要なリソースを作成する必要があります。

データ連動リソース管理ユーザについては,「2.7 データ連動リソース管理ユーザの登録(UNIX)」又は「2.14 データ連動リソース管理ユーザの登録(Windows)」を参照してください。

〈この項の構成〉

(1) データ連動リソースの一覧

Oracleの場合のデータ連動リソースの一覧を次の表に示します。

表3‒2 Oracleの場合のデータ連動リソースの一覧

リソース種別

リソース名

使用目的

割り当て数

初期作成/再作成のタイミング

オブジェクト型

RPL_EXT_MSGTYPE

キューテーブルに格納するメッセージのデータ型

1

抽出環境初期化時

(hdestartOコマンド(-iオプションを指定)の延長)

キューテーブル

RPL_EXT_QUEUE

各抽出表トリガからの更新情報格納用キュー

キューテーブル表

(アドバンストキューテーブル)

RPL_EXT_QUEUETBL

各抽出表トリガからの更新情報格納用キュー表

抽出同期管理テーブル

RPL_EXT_SYNCTBL

抽出同期処理異常終了時の回復情報格納

抽出順序管理テーブル

RPL_EXT_SORTTBL

同一行に対する更新順序保証のためのソート情報格納

抽出順序管理テーブル用インデクス

RPL_EXT_SORTIDX

DEQUEUE性能向上のための抽出順序管理テーブルに対するインデクス

シーケンス番号

RPL_EXT_SEQ

更新順序保証のためのシーケンス番号

データ連動用トリガ

RPL_EXT_TRGxxxx

(xxxx:1〜4096)

抽出表からの更新情報取得及びキュー格納

抽出表と同数

抽出定義プリプロセスファイルの作成時

(hdeprepOコマンドの延長)

削除のタイミングは,どのリソースも,DROP USER…CASCADEを実行してデータ連動リソース管理ユーザを削除したときです。

SQL Serverの場合のデータ連動リソースの一覧を次の表に示します。

表3‒3 SQL Serverの場合のデータ連動リソースの一覧

リソース種別

リソース名

使用目的

割り当て数

初期作成/再作成のタイミング

キューテーブル

RPL_EXT_QUEUETBL

各抽出表トリガからの更新情報格納用キュー

1

抽出環境初期化時(hdestartSコマンド(-iオプションを指定)の延長)

抽出同期管理テーブル

RPL_EXT_SYNCTBL

抽出同期処理異常終了時の回復情報格納

1

リソースオペランドテーブル

RPL_EXT_RESOPDTBL

抽出システム定義のsqls_msgkeeptimeの値保証のため

1

データ連動用トリガ

RPL_EXT_TRGnnnn_XXX

抽出表からの更新情報取得及びキューテーブル格納

抽出表の数×3

抽出定義プリプロセスファイルの作成時(hdeprepSコマンドの延長)

注※

nnnn及びXXXには,次に示す値が入ります。

変数

備考

nnnn

1〜4096

XXX

INS

INSERT用トリガを意味します。

UPD

UPDATE用トリガを意味します。

DEL

DELETE用トリガを意味します。

(2) 更新情報の保存

抽出データ不正などの障害が発生した時に,他社DBMSと抽出側Datareplicator Extensionのどちらに問題があるかを判断できるように,キューテーブルから更新情報を取り出した後もキューテーブル内に更新情報を保存できます。保存期間は,抽出システム定義のoracle_msgkeeptime(Oracleの場合)オペランド,又はsqls_msgkeeptime(SQL Serverの場合)で指定できます。

oracle_msgkeeptimeオペランドの詳細については「5.1.1 抽出システム定義」を,sqls_msgkeeptimeオペランドの詳細については「5.2.1 抽出システム定義」を参照してください。

(3) データ連動リソースについての注意

次の場合は,データ連動の動作及び抽出側と反映側の整合性を基本的に保証できません。

ただし,トリガについては,抽出対象表の運用の一環として,ユーザ責任でトリガを削除できます。抽出対象表の運用については,Oracleの場合は「6.2.1 抽出対象表の運用」を,SQL Serverの場合は「6.4.1 抽出対象表の運用」参照してください。

(4) トリガの作成

トランザクション処理中にトリガを再作成することでトランザクションの一貫性が不正となるのを防ぐため,データ連動用トリガの作成は,抽出対象表に対する共用排他を取得し,排他取得が成功した場合にだけ実行します。排他取得に失敗した場合は,抽出定義プリプロセスファイルを作成するコマンド(hdeprepX)をエラー停止します。

また,トリガを作成していない状態で抽出処理が起動するのを防ぐため,トリガ作成中にエラーが発生した場合は,エラーが発生するまでに作成したすべてのデータ連動用トリガを削除するとともに,抽出定義プリプロセスファイルを使用できないようにします。

(5) エラー処理

データ連動リソースの作成時に起こるエラー内容及びエラーに対する対処方法を次に示します。

エラー内容

対処方法

オブジェクト型作成エラー

エラーの原因を取り除いた後,再度,抽出環境を初期化してください。

キューテーブル作成エラー

抽出同期管理テーブル作成エラー

トリガ作成エラー

エラーの原因を取り除いた後,再度,抽出定義プリプロセスファイルを作成してください。

その他の他社DBMS操作エラー

エラーの原因を取り除いた後,再度,抽出環境を初期化するか抽出定義プリプロセスファイルを作成してください。

上記のエラーが発生した場合,KFRB00060-Eメッセージが出力され,抽出処理はエラー終了します。

注※

エラー処理の過程で,エラーが発生するまでに作成したすべてのデータ連動用トリガを削除するとともに,抽出定義プリプロセスファイルを使用できないようにします。