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

11.3.4 環境定義の記述

TJNL環境定義ファイルについて説明します。

なお、環境定義ファイルの記述規約は、TRM環境定義と同様です。TRM環境定義の記述規約については、"C.1 定義記述規約"を参照してください。

11.3.4.1 ジャーナル取得ファイル容量の見積り

取得したジャーナルを一時的に格納するジャーナル取得ファイル容量の見積りを行います。ジャーナル取得ファイルは、Symfoware/RDBのデータベースとして作成されます。
ジャーナル取得ファイル容量の見積り式を、"表11.7 ジャーナル取得ファイル容量の見積り"に示します。
なお、運用中にジャーナル取得ファイル容量が不足した場合は、ジャーナルを取得するアプリケーションで発行したSQL文がSQLSTATE=40702で異常終了します。そのため、十分な容量を確保してください。

表11.7 ジャーナル取得ファイル容量の見積り

格納ジャーナル量(注) × 1.5 + 8[MB]

注) 格納ジャーナル量は、1日分以上のジャーナルが格納できる値を設定してください。ジャーナル取得ファイルの容量不足にならないように見積りを実施してください。

詳細な見積りについては、"B.3.1 ジャーナル取得ファイルの容量(Symfoware/RDB連携)"を参照してください。

11.3.4.2 1トランザクションあたりの最大ジャーナル格納域サイズの見積り

ジャーナルを取得するアプリケーションが、1つのトランザクションで取得できるジャーナル量の最大値を見積ります。1トランザクションあたりの最大ジャーナル格納域サイズの見積り式を、"表11.8 1トランザクションあたりの最大ジャーナル格納域サイズの見積り"に示します。

なお、運用中に1つのトランザクションで取得できるジャーナル量の最大値を超えた場合は、ジャーナルを取得するアプリケーションで発行したSQL文がSQLSTATE=77000で異常終了します。そのため、十分な量を確保してください。

表11.8 1トランザクションあたりの最大ジャーナル格納域サイズの見積り

トランザクション内で更新するレコード件数 × 1件の更新で取得するジャーナルの量

トランザクション内で更新するレコード件数は、発行するSQL文によって以下の考慮が必要です。

  • INSERT文の場合は、INSERT文の発行回数に相当します。

  • UPDATE文およびDELETE文の場合は、1回のSQL文発行で複数のレコードが更新されることがあります。また、該当するデータが存在しない場合、更新するレコード件数は0となります。

  • UPDATE文に対するジャーナルの取得方法を、INSERTとDELETEの情報に分割して取得するように指定している場合は、更新されるレコード件数の2倍のレコード件数になります。UPDATE文に対するジャーナルの取得方法の詳細は"11.3.4.4 記述内容の説明"を参照してください。

1件の更新で取得するジャーナルの量は、以下の見積り式に従って求めます。
  更新したテーブル内で取得対象として定義されている列の長さの合計 +
          更新したテーブル内で取得対象として定義されている列数 × 2 + 500[バイト]

11.3.4.3 記述形式

TJNL環境定義ファイルの記述形式を、"表11.9 TJNL環境定義の記述形式"に示します。

表11.9 TJNL環境定義の記述形式


[DBMSInformation]
  RDBMS = 連携するRDBMSの種類

[TJNLDefinition]
  StartType = TJNLを起動する際に連動して起動する機能
  MaxBuffSize = 1トランザクションあたりの最大ジャーナル格納域サイズ
  UpdateLogType = UPDATE文に対するジャーナルの取得方法
  Retry = 配付処理のエラー発生時のリトライ方法

[OSInformation]
  Code = OSのコード系

[DBInformation]
  File = ジャーナル取得ファイルのデータベーススペースを作成するローデバイス名
  DBName = ジャーナル取得ファイルのデータベース名


[DBMSInformation]
  RDBMS = 連携するRDBMSの種類

[TJNLDefinition]
  StartType = TJNLを起動する際に連動して起動する機能
  MaxBuffSize = 1トランザクションあたりの最大ジャーナル格納域サイズ
  UpdateLogType = UPDATE文に対するジャーナルの取得方法
  Retry = 配付処理のエラー発生時のリトライ方法

[DBInformation]
  File = ジャーナル取得ファイルのデータベーススペースを作成するファイル名とサイズ
  DBName = ジャーナル取得ファイルのデータベース名

11.3.4.4 記述内容の説明

a) DBMSInformationセクション

連携するRDBMSに関する情報を記述します。ただし、Symfoware/RDBと連携するTJNL環境を作成する場合は本セクションを省略することができます。本セクションで指定するRDBMSの情報は、本セクションを省略した場合も含めて、環境を作成した後は変更できません。記述内容を"表11.10 [DBMSInformation]セクションの記述内容"に示します。

表11.10 [DBMSInformation]セクションの記述内容

キーワード

省略

記述方法

記述内容の説明

RDBMS

以下の値を指定します。

SYMFOWARE:Symfoware/RDBの更新ジャーナルを取得する(省略値)

なお、値の大文字と小文字は区別されません。

TJNLがジャーナル取得を行うRDBMSの種類を指定します。

b) TJNLDefinitionセクション

TJNLに関する情報を記述します。本セクションで指定した内容は、環境を作成した後に変更することができます。詳細は、"11.8 保守"を参照してください。記述内容を"表11.11 [TJNLDefinition]セクションの記述内容"に示します。

表11.11 [TJNLDefinition]セクションの記述内容

キーワード

省略

記述方法

記述内容の説明

StartType

以下のいずれかの値を指定します。

ALL:基本機能、ジャーナル取得機能、ジャーナル配付機能を起動する(省略値)
BASE:基本機能のみを起動する
LOGGET:基本機能、ジャーナル取得機能を起動する
LOGPUT:基本機能、ジャーナル配付機能を起動する

なお、値の大文字と小文字は区別されません。

TJNLを起動する際に連動して起動する機能を指定します。

本キーワードで連動起動を指定していない機能は、TJNLが起動した後にtjnlstrコマンドを使用して起動する必要があります。tjnlstrコマンドの詳細は、"11.9.3.13 tjnlstr(TJNLの一部の機能を起動する)"を参照してください。

MaxBuffSize

30[KB]~2[GB]の数値で指定します。
単位として、"K"、"M"、"G"が指定できます。単位が指定されていない場合は、[MB]単位での指定となります。
省略値は2[MB]です。

なお、単位の大文字と小文字は区別されません。

1トランザクションあたりの最大ジャーナル格納域サイズを指定します。
これにより1つのトランザクションで取得できるジャーナルの量が決まります。

本キーワードに指定する値の見積り式は、"11.3.4.2 1トランザクションあたりの最大ジャーナル格納域サイズの見積り"を参照してください。

ジャーナル格納域は、本キーワードに指定した値に達するまで、必要に応じて徐々に獲得されます。
1つのトランザクションで取得できるジャーナルの量についての詳細は"11.5.3.4 トランザクション内で取得できるジャーナルの量"を参照してください

UpdateLogType

以下のいずれかの値を指定します。

DIVIDE:DELETEとINSERTの情報に分割して取得する(省略値)
NOTDIVIDE:UPDATEの情報として取得する

なお、値の大文字と小文字は区別されません。

UPDATE文に対するジャーナルの取得方法を指定します。
UPDATE文に対するジャーナルの取得方法の詳細は、"11.5.3.3 UPDATE文のジャーナル形式"を参照してください。

Retry

以下のいずれかの形式で指定します。

"0":リトライを行わない(省略値)
"リトライ回数:リトライ間隔":リトライ間隔(分)おきにリトライ回数分リトライを行う
"UNLIMITED:リトライ間隔":リトライ間隔(分)おきに無制限にリトライを行う

なお、リトライ回数は1~3600の数値で、リトライ間隔は1~60の数値で指定します。
また、値の大文字と小文字は区別されません。

利用ジャーナルを配付するメッセージキューの空き容量が不足した場合など、配付処理のエラー発生時のリトライ方法を指定します。

c) OSInformationセクション

OSに関する情報を記述します。記述内容を"表11.12 [OSInformation]セクションの記述内容"に示します。

表11.12 [OSInformation]セクションの記述内容

キーワード

省略

記述方法

記述内容の説明

Code

以下のいずれかの値を指定します。

EUC:OSの文字コードがEUCの場合に指定します(Solaris 10以前のサーバの省略値)

UTF8:OSの文字コードがUTF8の場合に指定します(Solaris 11以降のサーバとLinuxサーバの省略値。Solaris 10以前は指定不可)

SJIS:OSの文字コードがSJISの場合に指定します

なお、値の大文字と小文字は区別されません。

TJNLが導入されているSolaris/LinuxサーバのOSの文字コードを指定します。

d) DBInformationセクション

ジャーナル取得ファイルに関する情報を記述します。ジャーナル取得ファイルはSymfoware/RDBのデータベースとして、本セクションで指定したファイル、データベース名で作成します。環境を作成した後に、ジャーナル取得ファイルのデータベーススペースを追加することができます。詳細は、"11.8 保守"を参照してください。記述内容を"表11.13 [DBInformation]セクションの記述内容"に示します。

表11.13 [DBInformation]セクションの記述内容

キーワード

省略

記述方法

記述内容の説明

File

不可


絶対パスでローデバイスを指定します。

ローデバイスは、5[MB]以上の容量が必要です。容量の最大値はSymfoware/RDBの定量制限に準じます。

ジャーナル取得ファイルのデータベーススペースを作成するローデバイス名を指定します。

指定可能なローデバイスはSymfoware/RDBのマニュアルを参照してください。
複数のローデバイスを指定する場合は、本キーワードを複数記述してください。ジャーナル取得ファイル容量の見積りは、"11.3.4.1 ジャーナル取得ファイル容量の見積り"を参照してください。


以下の形式で指定します。

"ファイル名:サイズ"

ファイルは絶対パスで指定します。(注)
NTFS(ローカルディスク上)のファイルのみ指定ができます。
サイズは5[MB]以上の[MB]単位の数値で指定します。容量の最大値はSymfoware/RDBの定量制限に準じます。

ジャーナル取得ファイルのデータベーススペースを作成するNTFSのファイルのファイル名とサイズを指定します。

複数のファイルを指定する場合は、本キーワードを複数記述してください。
ジャーナル取得ファイル容量の見積りは、"11.3.4.1 ジャーナル取得ファイル容量の見積り"を参照してください。

DBName

英字で始まる18文字以内の英数字とアンダースコアで指定します。
省略値は"MQDJDB_TRMシステム名"です。

ジャーナル取得ファイルのデータベース名を指定します。

注) ショートファイル名(8.3形式)は指定しないでください。

11.3.4.5 記述例

TJNL環境定義の記述例を"表11.14 TJNL環境定義の記述例"に示します。

表11.14 TJNL環境定義の記述例

[DBMSInformation]
  RDBMS = SYMFOWARE                  # ジャーナル取得対象のRDBMSの種類

[TJNLDefinition]
  StartType = ALL                    # すべての機能を連動起動
  MaxBuffSize = 100M                 # 1トランザクションあたりの
                                     # 最大ジャーナル格納域サイズ
  UpdateLogType = DIVIDE             # DELETEとINSERTの情報として取得
  Retry = 60:1                       # 1分おきに60回リトライを行う

[OSInformation]
  Code = EUC                         # EUCのシステムで動作

[DBInformation]
  File = /dev/rdsk/c1t2d0s4        # ジャーナル取得ファイルのローデバイス名

[DBMSInformation]
  RDBMS = SYMFOWARE                  # ジャーナル取得対象のRDBMSの種類

[TJNLDefinition]
  StartType = ALL                    # すべての機能を連動起動
  MaxBuffSize = 100M                 # 1トランザクションあたりの
                                     # 最大ジャーナル格納域サイズ
  UpdateLogType = DIVIDE             # DELETEとINSERTの情報として取得
  Retry = 60:1                       # 1分おきに60回リトライを行う

[DBInformation]
  File = c:\tjnl\systemfile\tjnl.db:1024   # ファイル名とサイズ1024MB