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

13.9.4 TJNLの定義の修正

データベースや業務を変更した場合、定義を追加・変更・削除する必要があります。

TJNLの定義の修正について説明します。

13.9.4.1 修正の説明

定義の修正を行う手順を、"図13.36 定義修正の手順"に示します。

図13.36 定義修正の手順

13.9.4.1.1 定義ファイルの作成

修正した定義内容を記述した定義ファイルを作成します。以下に定義ファイルの作成方法を説明します。

定義を追加する場合

取得定義の追加

取得定義を追加する場合、追加する取得定義を記述した取得定義ファイルを新しく作成します。取得定義ファイルの作成方法の詳細は、"13.5.4.1 取得定義の作成"を参照してください。

なお、以下のキーワードの値が既に存在する取得定義と一致する場合、該当する定義の追加は行われません。

  • LOGFMTキーワードに指定された取得定義名

配付定義の追加

配付定義を追加する場合、追加する配付定義を記述した配付定義ファイルを新しく作成します。配付定義ファイルの作成方法の詳細は、"13.5.5.1 配付定義の作成"を参照してください。

なお、以下のキーワードの値が既に存在する配付定義と一致する場合、該当する定義の追加は行われません。

  • Nameキーワードに指定されたメッセージキュー名

定義を変更する場合

取得定義の変更

取得定義を変更する場合、変更する取得定義を記述した取得定義ファイルを作成します。取得定義の変更では、既に存在する取得定義のうち、以下のキーワードの値が一致する定義を、指定された取得定義で上書きします。ただし、既に存在する取得定義と以下のキーワードの値が一致する定義が存在しない場合、該当する定義の変更は行われません。

  • LOGFMTキーワードに指定された取得定義名

定義の変更では、指定された取得定義で既存の定義が上書きされます。したがって、値を変更しないキーワードについての記述も必要です。また、キーワードを省略した場合の値が登録されている値と異なるキーワードについても注意が必要です。

このため、取得定義ファイルは取得定義の表示機能を使用し、表示結果をリダイレクションで一般ファイルに出力して作成することを推奨します。取得定義の表示は、tjnlprtfmtdefコマンドを使用して行います。tjnlprtfmtdefコマンドの詳細は"13.10.3.7 tjnlprtfmtdef(取得定義を表示する)"を参照してください。

以下にtjnlprtfmtdefコマンドの入力例を示します。

--------------------------------------------------
    tjnlprtfmtdef -c -d > c:\tjnl\def\FMTmod.def
--------------------------------------------------
配付定義の変更

配付定義を変更する場合、変更する配付定義を記述した配付定義ファイルを作成します。配付定義の変更では、既に存在する配付定義のうち、以下のキーワードの値が一致する定義を、指定された配付定義で上書きします。ただし、既に存在する配付定義と以下のキーワードの値が一致する定義が存在しない場合、該当する定義の変更は行われません。

  • Nameキーワードに指定されたメッセージキュー名

定義の変更では、指定された配付定義で既存の定義が上書きされます。したがって、値を変更しないキーワードについての記述も必要です。また、キーワードを省略した場合の値が登録されている値と異なるキーワードについても注意が必要です。

このため、配付定義ファイルは配付定義の表示機能を使用し、表示結果をリダイレクションで一般ファイルに出力して作成することを推奨します。配付定義の表示は、tjnlprtdefコマンドを使用して行います。tjnlprtdefコマンドの詳細は"13.10.3.9 tjnlprtdef(配付定義を表示する)"を参照してください。

以下にtjnlprtdefコマンドの入力例を示します。

--------------------------------------------------
    tjnlprtdef -c -d > c:\tjnl\def\PUTmod.def
--------------------------------------------------

定義を削除する場合

取得定義の削除

取得定義を削除する場合、削除する取得定義を記述した取得定義ファイルを作成します。取得定義の削除では、既に存在する取得定義のうち、以下のキーワードの値が一致する定義を削除します。

  • LOGFMTキーワードに指定された取得定義名

配付定義の削除

配付定義を削除する場合、削除する配付定義を記述した配付定義ファイルを作成します。配付定義の削除では、既に存在する配付定義のうち、以下のキーワードの値が一致する定義を削除します。

  • Nameキーワードに指定されたメッセージキュー名

13.9.4.1.2 定義の登録

修正した定義の登録方法について説明します。

定義を追加する場合

取得定義の追加

取得定義の追加は、tjnlfmtdefコマンドを使用して行います。tjnlfmtdefコマンドの入力例を以下に示します。

--------------------------------------------------
    tjnlfmtdef -a -f c:\tjnl\def\FMTadd.def
--------------------------------------------------

定義の追加を行うことにより、指定された定義ファイルに記述されている定義が登録されます。ただし、以下のキーワードの値が既に登録されている定義、または反映されて有効となっている定義と一致する場合、該当する定義の追加は行われません。

  • LOGFMTキーワードに指定された取得定義名

配付定義の追加

配付定義の追加は、tjnldefコマンドを使用して行います。tjnldefコマンドの入力例を以下に示します。

--------------------------------------------------
    tjnldef -a -f c:\tjnl\def\PUTadd.def
--------------------------------------------------

定義の追加を行うことにより、指定された定義ファイルに記述されている定義が登録されます。ただし、以下のキーワードの値が既に登録されている定義、または反映されて有効となっている定義と一致する場合、該当する定義の追加は行われません。

  • Nameキーワードに指定されたメッセージキュー名

"図13.37 配付定義の追加例"に配付定義を追加する例を示します。

図13.37 配付定義の追加例

定義を変更する場合

取得定義の変更

取得定義の変更は、tjnlfmtdefコマンドを使用して行います。tjnlfmtdefコマンドの入力例を以下に示します。

--------------------------------------------------
    tjnlfmtdef -m -f c:\tjnl\def\FMTmod.def
--------------------------------------------------

定義の変更を行うことにより、指定された定義ファイルに記述されている定義が登録されます。定義の変更では、既に登録されている定義、または反映されて有効となっている定義のうち、以下のキーワードの値が一致する定義を、指定された定義で上書きします。また、以下のキーワードの値が一致する定義が存在しない場合、該当する定義の変更は行われません。

  • LOGFMTキーワードに指定された取得定義名

配付定義の変更

配付定義の変更は、tjnldefコマンドを使用して行います。tjnldefコマンドの入力例を以下に示します。

--------------------------------------------------
    tjnldef -m -f c:\tjnl\def\PUTmod.def
--------------------------------------------------

定義の変更を行うことにより、指定された定義ファイルに記述されている定義が登録されます。定義の変更では、既に登録されている定義、または反映されて有効となっている定義のうち、以下のキーワードの値が一致する定義を、指定された定義で上書きします。また、以下のキーワードの値が一致する定義が存在しない場合、該当する定義の変更は行われません。

  • Nameキーワードに指定されたメッセージキュー名

"図13.38 配付定義の変更例"に配付定義を変更する例を示します。

図13.38 配付定義の変更例

定義を削除する場合

取得定義の削除

取得定義の削除は、tjnlfmtdefコマンドを使用して行います。tjnlfmtdefコマンドの入力例を以下に示します。

--------------------------------------------------
    tjnlfmtdef -d -f c:\tjnl\def\FMTdel.def
--------------------------------------------------

定義の削除を行うことにより、指定された定義ファイルに記述されている定義が定義反映時に削除される定義として登録されます。定義の削除では、既に登録されている定義、または反映されて有効となっている定義のうち、以下のキーワードの値が一致する定義を削除します。また、以下のキーワードの値が一致する定義が存在しない場合、該当する定義の削除は行われません。

  • LOGFMTキーワードに指定された取得定義名

配付定義の削除

配付定義の削除は、tjnldefコマンドを使用して行います。tjnldefコマンドの入力例を以下に示します。

--------------------------------------------------
    tjnldef -d -f c:\tjnl\def\PUTdel.def
--------------------------------------------------

定義の削除を行うことにより、指定された定義ファイルに記述されている定義が定義反映時に削除される定義として登録されます。定義の削除では、既に登録されている定義、または反映されて有効となっている定義のうち、以下のキーワードの値が一致する定義を削除します。また、以下のキーワードの値が一致する定義が存在しない場合、該当する定義の削除は行われません。

  • Nameキーワードに指定されたメッセージキュー名

"図13.39 配付定義の削除例"に配付定義を削除する例を示します。

図13.39 配付定義の削除例

13.9.4.1.3 修正した定義の反映

修正を行い、登録したTJNLの定義を有効にするためには、定義を反映する必要があります。定義の反映の詳細は、"13.5.6 定義の反映"を参照してください。

ただし、SQL Serverのテーブル定義を変更し、配付されていないジャーナルがジャーナル取得ファイルに存在する場合は、以下の手順に従って定義の反映を行う必要があります。

  a. 定義反映を行わずにジャーナル配付機能のみを起動してすべてのジャーナルを配付する
  b. 定義反映オプションを指定して、TJNLを再起動する