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

4.3.2 DB動作環境定義の作成

逐次差分反映機能において、コード変換エラーや文字あふれエラーなどが発生することがあります。また、データベースのロックの獲得に失敗することがあります。これらの現象が発生した場合の処理(異常終了する/代替文字に置き換えて処理を継続するなど)やデータベースのロックの獲得における待機時間などを、キーワードによりカスタマイズできます。これらのキーワードおよび指定値を記述したものを"DB動作環境定義"と呼びます。

DB動作環境定義に指定可能なキーワードを"表4.3 DB動作環境定義のキーワード"に示します。

DB動作環境定義を記述したファイルを"DB動作環境定義ファイル"と呼びます。
DB動作環境定義ファイルの指定方法および優先順位は、以下のとおりです。

  1. lxrtmdbコマンドの-dオプション(DB動作環境定義ファイル配置ディレクトリ名)

  2. DBサービス定義のSTOREGROUP定義文のENVFILEオペランド(DB動作環境定義ファイル名)

  3. 環境変数LXRTMENV(DB動作環境定義ファイル名)

DB動作環境定義ファイルはユーザディレクトリ配下に配置してください。製品のインストールディレクトリ配下には配置しないでください。

なお、DB動作環境定義ファイルで使用する文字コード系は、以下のとおりにしてください。


DB動作環境定義ファイルで文字コード系としてUTF-8を使用した場合、DB動作環境定義ファイルの先頭にUCSを識別するための"印"(しるし)を使わないでください。

表4.3 DB動作環境定義のキーワード

分類

キーワード

概要

出力メッセージ

MESSAGE_LEVEL ※

メッセージの出力レベル

EDIT_MESSAGE_LEVEL ※

データ編集時のメッセージ出力レベル

項目エラー時の動作

文字列

CHARACTER_CONVERT_ERROR ※

コード変換エラー発生時の動作

ALTERNATE_CHARACTER1 ※

コード変換エラー発生時の代替文字(Unicode以外)

UNICODE_ALTERNATE_CHARACTER1 ※

Unicodeのコード変換エラー発生時の代替文字

CHARACTER_OVERFLOW ※

文字属性データの文字あふれ時の動作

ALTERNATE_CHARACTER2 ※

文字属性データの文字あふれ時の代替文字(Unicode以外)

UNICODE_ALTERNATE_CHARACTER2

Unicodeの文字あふれ時の代替文字

NCHAR_SINGLEBYTE_ERROR ※

日本語文字列属性の1文字未満領域に対する動作

BLANK_TRUNCATION ※

可変長文字属性のデータ末尾の空白の格納方法

数値

NUMERIC_CONVERT_ERROR ※

浮動小数点属性データの桁あふれ時の動作

PACK_CONTROL ※

パック10進数属性データ異常時の動作

PACK_CORRECT

パック10進数属性データ異常時の動作

PACK_LOG_OUTPUT_STOP

パック10進数属性データ異常時におけるエラー情報の出力の扱い

(PACK_NOERRORキーワードから変更しました。 PACK_LOG_OUTPUT_STOPキーワードおよびPACK_NOERRORキーワードに有効な値を指定した場合、PACK_LOG_OUTPUT_STOPキーワードの値が有効となります。)

ZONE_CORRECT

ゾーン10進数属性データ異常時の動作

ZONE_LOG_OUTPUT_STOP

ゾーン10進数属性データ異常時におけるエラー情報の出力の扱い

(ZONE_NOERRORキーワードから変更しました。 ZONE_LOG_OUTPUT_STOPキーワードおよびZONE_NOERRORキーワードに有効な値を指定した場合、ZONE_LOG_OUTPUT_STOPキーワードの値が有効となります。)

その他

DATETIME_CORRECT

ゾーン10進数属性データを日時型に格納する場合の動作

DEFINE_UNMATCHED_ERROR

データ項目長エラー、データ属性エラー発生時の動作

ITEM_COMBINE_ERROR

項目結合エラー発生時の動作

NOT_NULL_ERROR

NOT NULL制約違反発生時の動作

データベース

SYMFO_SYSTEM_NAME ※

Symfoware/RDBのRDBシステム名

ORACLE_LOCK_RETRY_INTERVAL

Oracleデータベースのロックの獲得の待機時間

SQLSERVER_LOCK_RETRY_INTERVAL

SQL Serverデータベースのロックの獲得の待機時間

SQLSERVER_USE_DELIMITED_IDENTIFIERS

SQL Serverデータベースの識別子の扱い

SQLSERVER_CASE_SENSITIVITY

SQL Serverデータベースの大文字/小文字の扱い

RETRY_COUNT

逐次差分反映処理のリトライ回数

RETRY_INTERVAL

逐次差分反映処理のリトライ間隔

データベースへのリモート接続
(ローカル接続の場合は指定不要)

CONNECT_TYPE

データベースへの接続方式

REMOTE_RECONNECT_COUNT

再接続のリトライ回数

REMOTE_RECONNECT_INTERVAL

再接続のリトライ間隔

SYMFO_SQL_SERVER_NAME

Symfoware/RDBのSQLサーバ名

SYMFO_REMOTE_TYPE

Symfoware/RDBへの接続方式

エラーロギング機能

LOGMODE

エラーログ情報採取時の動作モード

LOGSIZE

エラーログ管理ファイルの最大サイズ

LOGDIR

エラーログ管理ファイルを格納するディレクトリ名

LOG_OUTPUT_REDUNDANT_DATA_OPERATION

冗長なデータ操作情報を示すエラーログの出力の扱い

運用

TRANSACTIONID_CONV_MODE

トランザクション識別子の変換モード

STOP_JNLCHECKPOINT_NAME

逐次差分反映処理の停止を指示するジャーナルチェックポイント名

CHKOUT_INCOMPLETE_TRNMSG

メッセージキュー上の先頭メッセージにトランザクション途中のデータを検出した場合の動作

※:LinkexpressのDB動作環境定義と共通のキーワードです。キーワードの詳細については、Linkexpressのマニュアルを参照してください。

UNICODE_ALTERNATE_CHARACTER2キーワード

[内容]

Unicode系を出力コードとする場合の文字あふれ発生時の不完全文字に対する代替文字を指定します。

[形式]

1バイトおよび2バイトの代替文字を記述します。本キーワードを省略した場合、それぞれ1バイト系は"_"(半角アンダースコア)、2バイト系は"φ"(ファイ)に対応するコードが採用されます。

UNICODE_ALTERNATE_CHARACTER2:TYPE:XX:TTBB
または
UNICODE_ALTERNATE_CHARACTER2:TYPE:XX:YYYY

UTF-8の場合

"TYPE:XX:TTBB"の形式で指定します。
"TYPE"には"utf8"を指定します。
"XX"には0x00~0x7fの範囲を16進で指定します。
"TT"には0xc2~0xdfの範囲を16進で指定します。
"BB"には0x80~0xbfの範囲を16進で指定します。

UTF-16の場合

"TYPE:XX:YYYY"の形式で指定します。
"TYPE"には"utf16"を指定します。
"XX"には0x00~0x7fまでの"点(cell)"のみを16進で指定します。
"YYYY"には、0x0080~0x07ffを文字コードの"区(row)"、"点(cell)"の順に指定します。

本キーワードで指定したTYPEとDBサービス定義のSTOREGROUP定義文のOUT_UNICODE_TYPEオペランドで指定したUnicodeのデータ形式が異なる場合、データが使用しているUnicodeの形式(OUT_UNICODE_TYPEオペランド)に対応する文字に変換して使用します。たとえば、本キーワードでの指定が"utf8:5e:c2a3"でOUT_UNICODE_TYPEオペランドが"utf16-ms"の場合、"5e"を"005e"に、"c2a3"を"00a3"に変換します。

[記述例]

UNICODE_ALTERNATE_CHARACTER2:utf16:5e:00a3

PACK_CORRECTキーワード

[内容]

パック10進数属性データ異常時の動作を指定します。
本キーワードが対象とする異常とPACK_CONTROLキーワードが対象とする異常の違いについて"図4.2 PACK_CORRECTキーワードとPACK_CONTROLキーワードの違い"に示します。

図4.2 PACK_CORRECTキーワードとPACK_CONTROLキーワードの違い

[形式]

PACK_CORRECT:動作種別

動作種別

OFF:異常終了します(省略値)。
ON:代替値(0)を設定し、処理を継続します。

[記述例]

# correct error pack data and continue
PACK_CORRECT:ON


PACK_LOG_OUTPUT_STOPキーワード

[内容]

パック10進数属性データ異常時におけるエラー情報の出力の扱いを指定します。
本キーワードは、PACK_CORRECTキーワードに"ON"を指定し、かつ、LOGMODEキーワードを指定した場合のみ有効になります。

[形式]

PACK_LOG_OUTPUT_STOP:動作種別

動作種別

OFF:パック10進数属性データのエラーログ情報を出力します(省略値)。
ON:パック10進数属性データのエラーログ情報の出力を抑止します。

[記述例]

# not output error log(pack)
PACK_LOG_OUTPUT_STOP:ON


ZONE_CORRECTキーワード

[内容]

ゾーン10進数属性データ異常時の動作を指定します。

[形式]

ZONE_CORRECT:動作種別

動作種別

OFF:異常終了します(省略値)。
ON:代替値(0)を設定し、処理を継続します。

[記述例]

# correct error zone data and continue
ZONE_CORRECT:ON


ZONE_LOG_OUTPUT_STOPキーワード

[内容]

ゾーン10進数属性データ異常時におけるエラー情報の出力の扱いを指定します。
本キーワードは、ZONE_CORRECTキーワードに"ON"を指定し、かつ、LOGMODEキーワードを指定した場合のみ有効になります。

[形式]

ZONE_LOG_OUTPUT_STOP:動作種別

動作種別

OFF:ゾーン10進数属性データのエラーログ情報を出力します(省略値)。
ON:ゾーン10進数属性データのエラーログ情報の出力を抑止します。

[記述例]

# not output error log(zone)
ZONE_LOG_OUTPUT_STOP:ON


DATETIME_CORRECTキーワード

[内容]

ゾーン10進数属性データを日時型に格納する場合の動作を指定します。負の値を絶対値に補正して処理を継続する場合に使用します。

[形式]

DATETIME_CORRECT:動作種別

動作種別

OFF:異常終了します(省略値)。
ON:負の値を絶対値に補正して、処理を継続します。

[記述例]

# correct minus datetime data(year)
DATETIME_CORRECT:ON


DEFINE_UNMATCHED_ERRORキーワード

[内容]

データ項目長エラー、データ属性エラー発生時の動作を指定します。

[形式]

DEFINE_UNMATCHED_ERROR:動作種別

動作種別

EXIT:異常終了します(省略値)。
SKIP:エラーが発生したデータの格納を迂回し、処理を継続します。

[記述例]

# DEFINE_UNMATCHED_ERROR
DEFINE_UNMATCHED_ERROR:SKIP


ITEM_COMBINE_ERRORキーワード

[内容]

項目結合エラー発生時の動作を指定します。

[形式]

ITEM_COMBINE_ERROR:動作種別

動作種別

EXIT:異常終了します(省略値)。
SKIP:エラーが発生したデータの格納を迂回し、処理を継続します。

[記述例]

# ITEM_COMBINE_ERROR
ITEM_COMBINE_ERROR:SKIP


NOT_NULL_ERRORキーワード

[内容]

NOT NULL制約違反発生時の動作を指定します。

[形式]

NOT_NULL_ERROR:動作種別

動作種別

EXIT:異常終了します(省略値)。
SKIP:エラーが発生したデータの格納を迂回し、処理を継続します。

[記述例]

# NOT_NULL_ERROR
NOT_NULL_ERROR:SKIP


ORACLE_LOCK_RETRY_INTERVALキーワード

[内容]

Oracleデータベースのロックの獲得の待機時間を指定します。
待機時間を超えた場合は、逐次差分反映処理のデータベースのトランザクションをリトライします。
待機時間を0~32767(秒)の範囲で指定します。
0(秒)を指定した場合は、ロックを獲得するまで待機します。
本キーワード省略時は、10(秒)となります。

[形式]

ORACLE_LOCK_RETRY_INTERVAL:待機時間

待機時間

0~32767の範囲の値を10進数で指定してください。

[注意]

ロックの待機をしている状態では、lxrtmdbコマンドで逐次差分反映処理を終了できません。
この状態でlxrtmdbコマンドを投入した場合、コマンドは受け付けられますが、ロックの獲得、または待機時間を超えるまで逐次差分反映処理は終了しません。

[記述例]

ORACLE_LOCK_RETRY_INTERVAL:10


SQLSERVER_LOCK_RETRY_INTERVALキーワード

[内容]

SQL Serverデータベースのロックの待機時間を指定します。
待機時間を超えた場合は、逐次差分反映処理のデータベースのトランザクションをリトライします。
待機時間を-1~32767(秒)の範囲で指定します。
0(秒)を指定した場合は、ロックの獲得待ちを行わず、すぐにリトライします。
-1(秒)を指定した場合は、ロックを獲得するまで待機します。
本キーワード省略時は、10(秒)となります。

[形式]

SQLSERVER_LOCK_RETRY_INTERVAL:待機時間

待機時間

-1~32767の範囲の値を10進数で指定してください。

[注意]

ロックの待機をしている状態では、lxrtmdbコマンドで逐次差分反映処理を終了できません。
この状態でlxrtmdbコマンドを投入した場合、コマンドは受け付けられますが、ロックの獲得、または待機時間を超えるまで逐次差分反映処理は終了しません。

[記述例]

SQLSERVER_LOCK_RETRY_INTERVAL:10


SQLSERVER_USE_DELIMITED_IDENTIFIERSキーワード

[内容]

SQL Serverデータベースにおいて、標準ではない識別子を有効とするかどうかを指定します。
たとえば、"AAA-B"や"1月"は、標準では許されていません。これらの識別子を有効とする場合、"ON"を指定してください。

[形式]

SQLSERVER_USE_DELIMITED_IDENTIFIERS:動作種別

動作種別

OFF:無効とします(省略値)。
ON:有効とします。

[記述例]

SQLSERVER_USE_DELIMITED_IDENTIFIERS:ON


SQLSERVER_CASE_SENSITIVITYキーワード

[内容]

SQL Serverデータベースにおいて、大文字/小文字を区別するインスタンスを利用するかどうかを指定します。
"ON"を指定した場合、DBサービス定義のデータベースに関する値(データベース名、スキーマ名、表名、列名)は、格納先データベースに定義されている内容と大文字/小文字を含めて一致している必要があります。

[形式]

SQLSERVER_CASE_SENSITIVITY:動作種別

動作種別

OFF:大文字/小文字を区別するインスタンスを利用しません(省略値)。
ON:大文字/小文字を区別するインスタンスを利用します。

[注意]

データベースにアクセスするためのパスワードの扱いについては、SQL Serverのバージョンによって異なります。詳細については、SQL Serverのマニュアルを参照してください。

[記述例]

SQLSERVER_CASE_SENSITIVITY:ON


RETRY_COUNTキーワード

[内容]

逐次差分反映処理において、データベースの占有待ちが発生した場合にトランザクションのリトライを行う回数を指定します。
リトライ回数を0~9999(回)の範囲で指定します。
0(回)を指定した場合には、データベースの占有待ちが解消されるまでリトライを繰り返します。
本キーワード省略時は、0(回)となります。

[形式]

RETRY_COUNT:リトライ回数

リトライ回数

0~9999の範囲の値を10進数で指定してください。

[記述例]

RETRY_COUNT:99


RETRY_INTERVALキーワード

[内容]

逐次差分反映処理において、データベースの占有待ちが発生した場合にトランザクションのリトライを行う間隔を指定します。
リトライ間隔を、0.1秒単位で1~600の範囲(0.1~60秒)で指定します。
本キーワード省略時は、0.5(秒)となります。

[形式]

RETRY_INTERVAL:リトライ間隔

リトライ間隔

1~600の範囲の値を10進数で指定してください。

[記述例]

RETRY_INTERVAL:10


CONNECT_TYPEキーワード

[内容]

データベースへの接続方式を指定します。
本キーワード省略時は、ローカルデータベースに接続します。

[形式]

CONNECT_TYPE:接続方式

接続方式

LOCAL:ローカルデータベースに接続します(省略値)。
REMOTE:リモートデータベースに接続します。

[記述例]

CONNECT_TYPE:REMOTE


REMOTE_RECONNECT_COUNTキーワード

[内容]

リモートデータベースへの接続後に切断された場合における、接続のリトライ回数を指定します。
リトライ回数を0~999(回)の範囲で指定します。
なお、本キーワードは、CONNECT_TYPEキーワードに"REMOTE"を指定した場合に有効となります。
0を指定した場合は、再接続を行いません。
本キーワード省略時は10(回)となります。

[形式]

REMOTE_RECONNECT_COUNT:再接続のリトライ回数

リトライ回数

0~999の範囲で指定してください。

[記述例]

REMOTE_RECONNECT_COUNT:30


REMOTE_RECONNECT_INTERVALキーワード

[内容]

リモートデータベースへの接続後に切断された場合における、再接続のリトライ間隔を指定します。
リトライ間隔を1~600(秒)の範囲で指定します。
なお、本キーワードは、CONNECT_TYPEキーワードに"REMOTE"およびREMOTE_RECONNECT_COUNTキーワードに1以上を指定した場合に有効となります。
本キーワード省略時は30(秒)となります。

[形式]

REMOTE_RECONNECT_INTERVAL:再接続のリトライ間隔

リトライ間隔

1~600の範囲で指定してください。

[記述例]

REMOTE_RECONNECT_INTERVAL:15


SYMFO_SQL_SERVER_NAMEキーワード

[内容]

Symfoware/RDBのデータベースへのリモート接続におけるSQLサーバ名を指定します。
なお、本キーワードは、CONNECT_TYPEキーワードに"REMOTE"を指定した場合に有効となります。
また、本キーワードが有効な場合、ローカル接続における接続対象のRDBシステムを示すSYMFO_SYSTEM_NAMEキーワードは無効となります。

[形式]

SYMFO_SQL_SERVER_NAME:SQLサーバ名

SQLサーバ名

クライアント用の動作環境ファイルやAPC動作環境定義ファイルで定義したSQLサーバ名を指定します。

[記述例]

SYMFO_SQL_SERVER_NAME:SQLSV1


SYMFO_REMOTE_TYPEキーワード

[内容]

Symfoware/RDBのデータベースへのリモート接続における、接続方式を指定します。
なお、本キーワードは、CONNECT_TYPEキーワードに"REMOTE"を指定した場合に有効となります。
本キーワード省略時は"RDB2_TCP"となります。

[形式]

SYMFO_REMOTE_TYPE:Symfoware/RDBへの接続方式

Symfoware/RDBへの接続方式

RDB2_TCP:RDB2_TCPで接続します(省略値)。
CONNECTION_MANAGER:Connection Managerで接続します。

[記述例]

SYMFO_REMOTE_TYPE:RDB2_TCP


LOGMODEキーワード

[内容]

本キーワードを指定した場合、エラーログ管理ファイル満杯時の動作モードに従ってエラーログ情報を採取します。本キーワード省略時は、エラーログ情報を採取しません。

"エラーログ情報"および"エラーログ管理ファイル"については、"第9章 エラーロギング機能"を参照してください。

[形式]

LOGMODE:エラーログ管理ファイル満杯時の動作モード

エラーログ管理ファイル満杯時の動作モード

エラーログ管理ファイルのサイズが最大に達した場合の逐次差分反映処理の動作を指定します。

EXIT:エラーメッセージを出力し、逐次差分反映処理を終了します。エラーログ情報採取中に何らかのエラーが発生し、エラーログ情報が出力できない場合にも逐次差分反映処理を終了します。

CONTINUE:警告メッセージを出力し、逐次差分反映処理を継続します。以降のエラーログ情報はlxrtmlogctlコマンドでエラーログ情報を退避または初期化するまで出力しません。エラーログ情報採取中に何らかのエラーが発生し、エラーログ情報が出力できない場合にも以降のエラーログ情報出力は行わず、逐次差分反映処理を継続します。

[記述例]

# exit when error log is full
LOGMODE:EXIT


LOGSIZEキーワード

[内容]

エラーログ情報採取時のエラーログ管理ファイルごとの最大サイズを指定します。エラーログ管理ファイルのサイズが本キーワードに指定した値を超えた場合は、LOGMODEキーワードで指定したモードに従います。
最大サイズを1~100(メガバイト)の範囲で指定します。

"エラーログ情報"および"エラーログ管理ファイル"については、"第9章 エラーロギング機能"を参照してください。

[形式]

LOGSIZE:エラーログ管理ファイルごとの最大サイズ

エラーログ管理ファイルの最大サイズ

エラーログ管理ファイルの最大サイズを1~100(メガバイト)の範囲で指定します。省略値は10メガバイトです。

[注意]

エラーログ管理ファイルには、編集エラーログ管理ファイルと格納エラーログ管理ファイルがあります。本キーワードではファイル1つあたりの最大サイズを指定してください。

1回のエラーで採取されるエラーログ情報のサイズによっては、本キーワードに指定したサイズを超えてエラーログ情報が出力されることがあります。エラーログ管理ファイルを格納するディレクトリには、1メガバイト程度あらかじめ余裕をもってディスクを割り当ててください。

[記述例]

LOGSIZE:10


LOGDIRキーワード

[内容]

エラーログ管理ファイルを格納するディレクトリ名を指定します。ディレクトリ名は230バイト以内の絶対パスで指定します。
本キーワードを省略した場合は、以下のディレクトリ配下にエラーログ管理ファイルを格納します。

  • /var/tmp/FJSVlnktr/log

  • インストールフォルダ\TRO\log

エラーログ管理ファイルについては、"第9章 エラーロギング機能"を参照してください。

[形式]

LOGDIR:エラーログ管理ファイルを格納するディレクトリ名

エラーログ管理ファイルを格納するディレクトリ名

エラーログ管理ファイルを格納するディレクトリ名を230バイト以内で指定します。存在しないディレクトリを指定した場合、作成します。

[注意]

本ディレクトリ配下に出力されたエラーログ管理ファイルを直接参照/更新しないでください。直接参照/更新した場合、逐次差分反映処理の性能が劣化したり、逐次差分反映処理が停止する可能性があります。参照する場合は、エラーログ情報をlxrtmlogctlコマンドを使用して退避し、退避したファイルを参照してください。
ネットワークドライブ上のディレクトリは指定できません。

[記述例]

LOGDIR:d:\log


LOG_OUTPUT_REDUNDANT_DATA_OPERATIONキーワード

[内容]

冗長なデータ操作情報を示すログの出力の扱いを指定します。
本キーワードは、LOGMODEキーワードを指定した場合に有効になります。

[形式]

LOG_OUTPUT_REDUNDANT_DATA_OPERATION:動作種別

動作種別

OFF:冗長なデータ操作情報を示すログを出力しません(省略値)。
ON:冗長なデータ操作情報を示すログを出力します。

[記述例]

LOG_OUTPUT_REDUNDANT_DATA_OPERATION:ON


TRANSACTIONID_CONV_MODEキーワード

[内容]

システム取得項目のトランザクション識別子(TJNLTRNID)の変換モードを指定します。トランザクション識別子については"TJNL使用手引書"または"A.1.1 ジャーナル利用定義の規定"を参照してください。

[形式]

TRANSACTIONID_CONV_MODE:トランザクション識別子の変換モード

トランザクション識別子(バイナリ8バイト)の変換モード

CHARCONV:トランザクション識別子を16バイトの文字列に変換します。なお、バイナリデータのa~fは英大文字に変換します。
NOCONV:トランザクション識別子の変換を行いません(省略値)。

[記述例]

TRANSACTIONID_CONV_MODE:CHARCONV


STOP_JNLCHECKPOINT_NAMEキーワード

[内容]

逐次差分反映処理を終了するジャーナルチェックポイント名を指定します。本キーワードに指定したジャーナルチェックポイントを受信すると、RT70023メッセージを出力し、逐次差分反映処理は終了します。

[形式]

STOP_JNLCHECKPOINT_NAME:終了ジャーナルチェックポイント名

終了ジャーナルチェックポイント名

32文字以内の英大文字、数字、"@"または"_"の組み合わせで指定します。

[記述例]

STOP_JNLCHECKPOINT_NAME:STOPJCHKPT


CHKOUT_INCOMPLETE_TRNMSGキーワード

[内容]

メッセージキュー上の先頭メッセージにトランザクション途中のデータを検出した場合の動作を指定します。

[形式]

CHKOUT_INCOMPLETE_TRNMSG:動作種別

動作種別

OFF:メッセージを処理します(省略値)。
ON:メッセージを処理せず異常終了します。

[記述例]

# CHKOUT_INCOMPLETE_TRNMSG
CHKOUT_INCOMPLETE_TRNMSG:ON