5.3.2 反映環境定義
- 〈この項の構成〉
(1) 機能
反映処理を稼働するために必要な情報を定義します。複数のデータ連動識別子をデータ連動の対象とする場合,反映処理はデータ連動識別子ごとに稼働するため,反映環境定義もデータ連動識別子ごとに必要になります。
(2) 形式
set qufile001="反映情報キューファイル名"
set qufile002="反映情報キューファイル名"
〔 …〔 set qufile008="反映情報キューファイル名" 〕〕
set queuesize=反映情報キューファイルサイズ
〔 set reffile="反映定義ファイル名" 〕
set statsfile="反映ステータスファイル名"
set statssize=反映ステータスファイルサイズ
set unreffile1="未反映情報ファイル名(プライマリ)"
set unreffile2="未反映情報ファイル名(セカンダリ)"
〔 set unreffilesz=未反映情報ファイルサイズ 〕
〔 set startmode={ trn|tbl|spd }〕
〔 set restartmode= initial|continue 〕
〔 set breaktime=hh:mm 〕
〔 set breakmode= trn|tbl 〕
〔 set eventtrn=トランザクション単位反映イベントコード 〕
〔 set eventtbl=表単位反映イベントコード 〕
〔 set eventretrn=トランザクション単位反映再起動イベントコード 〕
〔 set eventretbl=表単位反映再起動イベントコード 〕
〔 set eventspd=反映処理停止イベントコード 〕
〔 set eventcntreset=反映処理数リセットイベントコード 〕
〔 set defmerge= true|false 〕
〔 set cmtintvl=反映処理コミット間隔 〕
〔 set trncmtintvl=トランザクション単位反映方式での反映処理コミット間隔 〕
〔 set tblcmtintvl=表単位反映方式での反映処理コミット間隔 〕
〔 set tblcheck= true|false 〕
set defshmsize=定義情報格納用共有メモリサイズ
〔 set ebcdic_type={ eck78|ekk78|eck83|ekk83 }〕
〔 set shiftspace_cnv= multi|single 〕
〔 set undefcode_cnv= multi|single 〕
〔 set ref_data_backspace= suppress|nosuppress 〕
〔 set skip_sqlcode=SQLCODE〔,SQLCODE 〕… 〕※1
〔 set skip_mvcelmwarn= true|false 〕※2
〔 set sqlerr_skip_info={ output|msgoutput|sqloutput|nooutput }〕
〔 set extract_init= check|nocheck 〕
〔 set db_connect_retry_number=DBコネクトリトライ回数 〕
〔 set db_connect_retry_interval=DBコネクトリトライ間隔 〕
〔 set skip_codecnv_error= true|false 〕
〔 set int_trc_getl=稼働トレース取得範囲 〕
〔 set device01=Datareplicatorファイルシステム領域名〔〔,割り当てファイル種別〕…〕
〔 set device02=Datareplicatorファイルシステム領域名〔〔,割り当てファイル種別〕…〕
〔 …〔 set device09=Datareplicatorファイルシステム領域名〔〔,割り当てファイル種別〕…〕〕〕〕〕
〔 set ujcodekind= rcv|sam 〕
〔 set discintvl=disconnect発行間隔 〕
〔 set ref_wait_interval=反映プロセスの反映情報キューファイル読み込み間隔 〕
〔 set commit_wait_time=COMMIT発行間隔 〕
〔 set mapping_key_check=not_null_unique|unique|none 〕※1
〔 set control_trigger=execute|not_execute 〕※2
〔 set control_reference_trigger=execute|not_execute 〕※2
〔 set check_pending=use|nouse 〕※2
〔 set reflect_delay_limit_time=反映滞留時間しきい値 〕
〔 set sql_lockerr_retrynum=排他エラー発生時のトランザクションリトライ回数 〕
〔 set xa_recovery_retry_count=トランザクション回復要求のリトライ回数 〕※2
〔 set xa_recovery_retry_interval=トランザクション回復要求のリトライ間隔 〕※2
〔 set reflect_trn_max_sqlnum=反映トランザクション内最大更新SQL数 〕
- 注※1
-
Datareplicator Extensionを使用する場合は,オペランドの設定内容がDatareplicatorと異なります。
- 注※2
-
Datareplicator Extensionを使用する場合は,指定しても無視されます。
(3) オペランドの説明
Datareplicator Extensionを使用する場合に,設定内容が異なる点について説明します。
-
skip_sqlcode=SQLCODE〔,SQLCODE〕…
- UNIX版Oracleとデータ連動する場合
-
UNIX版Oracleとデータ連動する場合は,SQLCODEではなくOracleエラーコードを指定します。Oracleエラーコードは最大32個指定できます。
Oracleとデータ連動する場合のSQLプロセスは,OCIインタフェースを使用しているので,反映処理中にエラーが発生した場合は,ORA_xxxxxの形式のエラーとなります。
このオペランドのOracleエラーコードは,ORA_xxxxxのxxxxx部分だけを指定します。Oracleエラーコードは,1〜32767までとし,それ以外の値を指定した場合は動作を保証できません。
次に主なエラーとそのエラーに対応するOracleエラーコードを示します。
エラー内容
Oracleエラーコード
備考
INSERT時にマッピングキーに対する一意性制約違反が発生しました。
1
−
UPDATE及びDELETE時に該当する行がありません。
1403
Oracleには該当するエラーがないので,1403にエラーコードがマッピングされています。
デッドロックが発生しました。
60
−
- Windows版Oracleとデータ連動する場合
-
ODBCドライバを使用してWindows版Oracleとデータ連動する場合,ODBC関数のSQLError()のネイティブエラーコードから取得したSQLCODEを指定します。指定するSQLCODEについては,使用しているDBMSのマニュアルを参照してください。
ただし,UPDATE及びDELETE時に該当する行がないというエラーをスキップしたい場合は,SQLCODEに100を指定してください。ODBCには該当するエラーがないので,100にエラーコードがマッピングされています。
-
mapping_key_check= not_null_unique|unique|none
マッピングキー列に対するユニークチェックを行うときの条件を指定します。ここで指定する値は,反映定義のcheck句を省略した場合の仮定値になります。したがって,反映定義にcheck句を指定した場合,check句の指定が優先されます。
- not_null_unique
-
反映対象表に対して,表5-7の内容を満たす一意性が保証されていること,及び一意性が保証されている列がNOT NULL属性であることを確認します。
- unique
-
反映対象表に対して,表5-7の内容を満たす一意性が保証されていることを確認します。NULL値に関するチェックは行わないため,完全なデータの一意性は抽出側DBを更新するユーザプログラムなどで保証する必要があります。
- none
-
チェックを行いません。データの一意性は抽出側DBを更新するユーザプログラムなどで保証する必要があります。
- 注
-
反映対象表が反映側システムにあるかどうかをチェックしない場合,このオペランドの指定値に関係なくマッピングキーのチェックは行いません。反映対象表が反映側システムにあるかどうかのチェックに関しては,反映環境定義のtblcheckオペランドの指定に従います。
ユニークチェックの内容について次の表に示します。
チェック項目 |
チェック内容 |
---|---|
一意性の有無 |
次のどちらかによって一意性が保証されていること。
|
一意性保証列 |
マッピングキー構成列だけであること。 |