TJNLを使用するためには、"図13.12 環境作成の流れ"に示す手順に従ってTJNLが動作するための環境を作成する必要があります。
ジャーナルの取得対象となるSQL Serverデータベースを作成します。作成方法については、SQL Serverのマニュアルを参照してください。既にSQL Serverデータベースが存在する場合、本操作は不要です。
なお、照合順序には「Japanese_」で始まる日本語の照合順序を指定してください。
SQL Serverを起動してください。詳細はSQL Serverのマニュアルを参照してください。
SQL Serverデータベースのジャーナルを取得するために、TJNL管理者用のユーザをSQL Serverに登録する必要があります。このユーザを「TJNLスーパバイザ」と呼びます。TJNLスーパバイザの登録をこれから説明する手順に従って実施したことがある場合には、本操作は不要です。
TJNLスーパバイザがSQL Serverデータベースへ接続するための認証方法は、"図13.13 Windows認証"と"図13.14 SQL Server認証"の2種類あります。
TJNLスーパバイザの登録は、TJNLが提供するSQLスクリプトとバッチファイルのひな型を複写し、環境にあわせて修正してから行います。その際、SQLスクリプトのファイル名は「.sql」で終わるようにしてください。また、バッチファイルとSQLスクリプトは同じフォルダに格納してください。
ひな型は以下のファイルで提供しています。
SQLスクリプト ------------------------------------------------------------------------------------------------ インストールフォルダ\TJNL\sample\sqlserver\TJNLGRANTWIN.sql ------------------------------------------------------------------------------------------------
バッチファイル ------------------------------------------------------------------------------------------------ インストールフォルダ\TJNL\sample\sqlserver\TJNLGRANTWIN.bat ------------------------------------------------------------------------------------------------
例として使用する"表13.8 データベースの構成"を以下に示します。
TJNLが提供するSQLスクリプトとバッチファイルを任意のフォルダ(例 C:\temp)に複写してください。
資源 | 名前 |
---|---|
コンピュータ名 | SERVER1 |
インスタンス名 | DBINSTANCE |
ユーザ名 | spvisor |
環境に合わせてひな型を修正します。修正に必要な値はSQL Serverの管理者に確認してください。
複数のTJNL環境を作成する際には、TJNL環境ごとにTJNLスーパバイザの登録を行う必要がありますので、ひな型をTJNL環境ごと複写して使用してください。
ひな型の修正内容について、以下に説明します。
既にSQL Serverに登録済みのアカウントをTJNLスーパバイザとする場合
既にSQL Serverに登録済みのアカウントをTJNLスーパバイザとする場合は、SQLスクリプトのうち、アカウントの登録部分をコメントにします。以下に修正の入力例を示します。斜体の部分が修正箇所です。
例.SQLスクリプトのアカウント登録部分をコメントにする
------------------------------------------------------------------------------------------------ CREATE LOGIN [%tjnlspv] FROM WINDOWS; (中略) EXEC master..sp_addsrvrolemember @loginame = N'%tjnlspv', @rolename = N'sysadmin'; ↓ -- CREATE LOGIN [%tjnlspv] FROM WINDOWS; (中略) EXEC master..sp_addsrvrolemember @loginame = N'SERVER1\spvisor', @rolename = N'sysadmin'; ------------------------------------------------------------------------------------------------
SQL ServerにTJNLスーパバイザのアカウントを新規に登録する場合
SQLスクリプトに設定されているTJNLスーパバイザのユーザ名を修正します。
ユーザ名は128文字以内の長さで指定してください。
ユーザ名に始め中括弧({)、終わり中括弧(})、始め小括弧(()、終わり小括弧())、または感嘆符(!)の文字を指定しないでください。
ユーザ名はコンピュータ名\ユーザ名、またはドメイン名\ユーザ名の形式で指定してください。
ユーザ名はコンピュータまたはドメインに既に存在するユーザ名を指定してください。
以下に修正の入力例を示します。斜体の部分が修正箇所です。
例.SQL ServerにTJNLスーパバイザを登録する
------------------------------------------------------------------------------------------------ CREATE LOGIN [%tjnlspv] FROM WINDOWS; (中略) EXEC master..sp_addsrvrolemember @loginame = N'%tjnlspv', @rolename = N'sysadmin'; ↓ CREATE LOGIN [SERVER1\spvisor] FROM WINDOWS; (中略) EXEC master..sp_addsrvrolemember @loginame = N'SERVER1\spvisor', @rolename = N'sysadmin'; ------------------------------------------------------------------------------------------------
ジャーナルを取得するインスタンス名を指定します。以下に修正の入力例を示します。
例.インスタンス名を変更する
------------------------------------------------------------------------------------------------ INSTANCE_NAME=SERVER\INSTANCE ↓ INSTANCE_NAME=SERVER1\DBINSTANCE ------------------------------------------------------------------------------------------------
既定のインスタンスの場合は、INSTANCE_NAMEにコンピュータ名のみ(SERVER1)を指定してください。
バッチファイルを実行して、TJNLスーパバイザを登録します。バッチファイルは、SQL Serverの管理者が実行してください。
以下に実行例を示します。
例.バッチファイルの実行例
------------------------------------------------------------------------------------------------ TJNLGRANTWIN.bat ------------------------------------------------------------------------------------------------
ひな型は以下のファイルで提供しています。
SQLスクリプト ------------------------------------------------------------------------------------------------ インストールフォルダ\TJNL\sample\sqlserver\TJNLGRANTSQL.sql ------------------------------------------------------------------------------------------------
バッチファイル ------------------------------------------------------------------------------------------------ インストールフォルダ\TJNL\sample\sqlserver\TJNLGRANTSQL.bat ------------------------------------------------------------------------------------------------
例として使用する"表13.9 データベースの構成"を以下に示します。
TJNLが提供するSQLスクリプトとバッチファイルを任意のフォルダ(例 C:\temp)に複写してください。
資源 | 名前 |
---|---|
コンピュータ名 | SERVER1 |
インスタンス名 | DBINSTANCE |
ユーザ名 | spvisor |
パスワード | spvpswd_001 |
環境に合わせてひな型を修正します。修正に必要な値はSQL Serverの管理者に確認してください。
複数のTJNL環境を作成する際には、TJNL環境ごとにTJNLスーパバイザの登録を行う必要がありますので、ひな型をTJNL環境ごと複写して使用してください。
ひな型の修正内容について、以下に説明します。
既にSQL Serverに登録済みのアカウントをTJNLスーパバイザとする場合
既にSQL Serverに登録済みのアカウントをTJNLスーパバイザとする場合は、SQLスクリプトのうち、アカウントの登録部分をコメントにします。以下に修正の入力例を示します。斜体の部分が修正箇所です。
例.SQLスクリプトのアカウント登録部分をコメントにする
------------------------------------------------------------------------------------------------ CREATE LOGIN [%tjnlspv] WITH PASSWORD = '%tspv001', CHECK_POLICY = ON; (中略) EXEC master..sp_addsrvrolemember @loginame = N'%tjnlspv', @rolename = N'sysadmin'; ↓ -- CREATE LOGIN [%tjnlspv] WITH PASSWORD = '%tspv001', CHECK_POLICY = ON; (中略) EXEC master..sp_addsrvrolemember @loginame = N'spvisor', @rolename = N'sysadmin'; ------------------------------------------------------------------------------------------------
SQL ServerにTJNLスーパバイザのアカウントを新規に登録する場合
SQLスクリプトに設定されているTJNLスーパバイザのユーザ名とパスワードを修正します。パスワードは、Windowsのパスワードポリシーを適用します。詳細はSQL Serverのマニュアルを参照してください。なお、パスワードの取り扱いには十分注意してください。
ユーザ名とパスワードは128文字以内の長さで指定してください。
ユーザ名とパスワードに始め角括弧([)、終わり角括弧(])、始め中括弧({)、終わり中括弧(})、始め小括弧(()、終わり小括弧())、コンマ(,)、セミコロン(;)、疑問符(?)、アスタリクス(*)、感嘆符(!)、またはアットマーク(@)の文字を指定しないでください。
以下に修正の入力例を示します。斜体の部分が修正箇所です。
例.SQL ServerにTJNLスーパバイザを登録
------------------------------------------------------------------------------------------------ CREATE LOGIN [%tjnlspv] WITH PASSWORD = '%tspv001', CHECK_POLICY = ON; (中略) EXEC master..sp_addsrvrolemember @loginame = N'%tjnlspv', @rolename = N'sysadmin'; ↓ CREATE LOGIN [spvisor] WITH PASSWORD = 'spvpswd_001', CHECK_POLICY = ON; (中略) EXEC master..sp_addsrvrolemember @loginame = N'spvisor', @rolename = N'sysadmin'; ------------------------------------------------------------------------------------------------
ジャーナルを取得するインスタンス名を指定します。以下に修正の入力例を示します。
例.インスタンス名を変更する
------------------------------------------------------------------------------------------------ INSTANCE_NAME=SERVER\INSTANCE ↓ INSTANCE_NAME=SERVER1\DBINSTANCE ------------------------------------------------------------------------------------------------
既定のインスタンスの場合は、INSTANCE_NAMEにコンピュータ名のみ(SERVER1)を指定してください。
バッチファイルを実行して、TJNLスーパバイザを登録します。バッチファイルは、SQL Serverの管理者が実行してください。
以下に実行例を示します。
例.バッチファイルの実行例
------------------------------------------------------------------------------------------------ TJNLGRANTSQL.bat ------------------------------------------------------------------------------------------------
TJNLを運用するTRMシステムの環境を作成します。TRMシステムの環境の作成方法は、"第17章 環境作成"を参照してください。
TRMシステムの環境を作成する際の環境定義ファイルには、以下の見積りに従った値に、ジャーナル提供側業務およびジャーナル利用側業務で必要となる値を加算した値を指定してください。ジャーナル提供側業務および、ジャーナル利用側業務で必要となる値の見積り方法は"第17章 環境作成"を参照してください。
以下に、TJNLが必要とする各指定値の見積り式を示します。
[MQDConfiguration]セクションに指定するキーワードの見積り式を、"表13.10 [MQDConfiguration]セクションに指定するキーワードの見積り式"に示します。
キーワード | 見積り式 |
---|---|
MessageBufferMaxSize | 80[MB]~1024[MB]の範囲で指定します。 |
[Transaction]セクションに指定するキーワードの見積り式を、"表13.11 [Transaction]セクションに指定するキーワードの見積り式"に示します。
キーワード | 見積り式 |
---|---|
Max_Size | 65536[KB]を指定します。 |
[SystemFile]セクションに指定するキーワードの見積り式を、"表13.12 [SystemFile]セクションに指定するキーワードの見積り式"に示します。
キーワード | 見積り式 |
---|---|
SystemFile2_Size | ( ( 取得定義サイズの総和 × 2 ) + 1つの取得定義サイズは以下の見積り式に従って求めます。 1つの配付定義サイズは以下の値です。 |
[DiskQueue]セクションに指定するキーワードの見積り式を、"表13.13 [DiskQueue]セクションに指定するキーワードの見積り式"に示します。
キーワード | 見積り式 |
---|---|
Size | 各メッセージキューに蓄積する利用ジャーナル量の総和 + (配付対象メッセージキュー数 × 16[KB]) + 100[KB] 1つのメッセージキューに蓄積する利用ジャーナル量は以下の見積り式に従って求めます。 蓄積ジャーナル量は以下の見積り式に従って求めます。 1利用ジャーナル量は以下の見積り式に従って求めます。 |
注1) 他システムへ転送する場合は、転送の遅延時間を考慮してください。また、メッセージキューから利用ジャーナルを直接取り出す場合は、取出し業務の遅延時間を考慮してください。
注2) 取得対象列のデータ属性に基づいたデータ長に4バイト加算した値。列のデータ属性に基づいたデータ長は、"B.2.3 SQL Serverと定義の対応関係"を参照してください。
TRM環境定義ファイルの記述例を"表13.14 環境定義ファイルの記述例"に示します。
[MQDConfiguration] # TRM環境情報 QueueMax = 100 MessageBufferMaxSize = 80 # 80Mバイト [Transaction] # トランザクション管理ファイル情報 TransactionFile = d:\trmdev2\transactionfile Max_Size = 65536 # 65536Kバイト [SystemFile] # システム制御用ファイル情報 SystemFile1 = d:\trmdev2\systemfile1 SystemFile2 = d:\trmdev2\systemfile2 SystemFile2_Size = 8000 # 8Mバイト [QueueIndex] # メッセージキュー管理ファイル情報 File = d:\trmdev2\queueindex [DiskQueue] # ディスク型メッセージキューの情報 File = d:\trmdev2\diskqueuefile Size = 1000000 # 1Gバイト |
TJNLの環境を作成するためには、事前にTRMを起動しておく必要があります。TRMの起動方法の詳細は、"18.1.1 TRMの起動"を参照してください。
TJNLの環境作成について説明します。
TJNLの環境定義では、TJNLの動作環境として以下の情報を定義します。
連携するRDBMSに関する情報
TJNLに関する情報
ジャーナル取得ファイルに関する情報
TJNLの環境定義を格納するファイルをTJNL環境定義ファイルと呼びます。TJNL環境定義ファイルは、ユーザが任意の通常ファイル上にテキストファイルとして作成します。
TJNL環境定義ファイルは、メモ帳などの編集ツールを使用して作成してください。TJNL環境定義の記述方法の詳細については、"13.4.4 環境定義の記述"を参照してください。
TJNL環境の作成は、tjnlsetupコマンドを使用して行います。tjnlsetupコマンドの詳細は、"13.10.3.1 tjnlsetup(TJNL環境を作成する)"を参照してください。
なお、同一サーバ上に複数のインスタンスが存在する場合、TJNLの環境定義に指定されているインスタンスと連携します。
SQL Server認証の場合、TJNLの環境作成時には、TJNLスーパバイザのユーザ名とパスワードを確認するための問合せが行われます。
以下にtjnlsetupコマンドの入力例を示します。
------------------------------------------------ tjnlsetup -f c:\tjnl\def\TJNLenv.def ------------------------------------------------
TJNLの環境を作成した後に、環境定義の変更やジャーナル取得ファイルの追加が行えます。環境定義の変更やジャーナル取得ファイルの追加についての詳細は、"13.9 保守"を参照してください。
利用ジャーナルを配付するメッセージキューを作成します。メッセージキューの作成方法は、"18.1.2 メッセージキューの作成"を参照してください。