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

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

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

<この項の構成>
(1) データ連動リソースの一覧
(2) 更新情報の保存
(3) データ連動リソースについての注意
(4) トリガの作成
(5) エラー処理

(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_SORTIDXDEQUEUE性能向上のための抽出順序管理テーブルに対するインデクス
シーケンス番号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には,次に示す値が入ります。
変数備考
nnnn1~4096
XXXINSINSERT用トリガを意味します。
UPDUPDATE用トリガを意味します。
DELDELETE用トリガを意味します。

(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メッセージが出力され,抽出処理はエラー終了します。
注※
エラー処理の過程で,エラーが発生するまでに作成したすべてのデータ連動用トリガを削除するとともに,抽出定義プリプロセスファイルを使用できないようにします。