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

12.4.3 環境作成の説明

TJNLを使用するためには、"図12.12 環境作成の流れ"に示す手順に従ってTJNLが動作するための環境を作成する必要があります。

図12.12 環境作成の流れ

12.4.3.1 Oracleデータベースの作成

ジャーナルの取得対象となるOracleデータベースを作成します。作成方法については、Oracleのマニュアルを参照してください。既にOracleデータベースが存在する場合、本操作は不要です。

12.4.3.2 Oracleデータベースの起動

Oracleデータベースを起動してください。詳細はOracleのマニュアルを参照してください。

12.4.3.3 TJNLスーパバイザの登録

Oracleデータベースのジャーナルを取得するために、TJNL管理者用のユーザをOracleデータベースに登録する必要があります。このユーザを「TJNLスーパバイザ」と呼びます。TJNLスーパバイザの登録をこれから説明する手順に従って実施したことがある場合には、本操作は不要です。

TJNLスーパバイザの登録は、TJNLが提供するSQLスクリプトとシェルスクリプト(Windowsではバッチファイル)のひな型を複写し修正して行います。その際、SQLスクリプトのファイル名は「.sql」で終わるようにしてください。また、シェルスクリプト(Windowsではバッチファイル)とSQLスクリプトは同じディレクトリに格納してください。

12.4.3.3.1 ひな型を修正する

ひな型は以下のファイルで提供しています。


SQLスクリプト
------------------------------------------------------------
/opt/FJSVtjnl/sample/oracle/TJNLGRANT.sql
------------------------------------------------------------
シェルスクリプト
------------------------------------------------------------
/opt/FJSVtjnl/sample/oracle/TJNLGRANT.sh
------------------------------------------------------------

SQLスクリプト
------------------------------------------------------------
インストールフォルダ\TJNL\sample\oracle\TJNLGRANT.sql
------------------------------------------------------------
バッチファイル
------------------------------------------------------------
インストールフォルダ\TJNL\sample\oracle\TJNLGRANT.bat
------------------------------------------------------------

ひな型は以下の内容に設定されています。

注)Oracleの命名規則に違反しており、このままでは登録できません。

環境に合わせてひな型を複写して修正します。修正に必要な値はOracleデータベースの管理者に確認してください。

複数のTJNL環境を作成する際には、TJNL環境ごとにTJNLスーパバイザの登録を行う必要がありますので、ひな型をTJNL環境ごと複写して使用してください。

ひな型の修正内容について、以下に説明します。

SQLスクリプトを修正する

既にOracleデータベースに登録済みのアカウントをTJNLスーパバイザとする場合

既にOracleデータベースに登録済みのアカウントをTJNLスーパバイザとする場合は、SQLスクリプトのうち、アカウントの登録部分をコメントにします。以下に修正の入力例を示します。

例.SQLスクリプトのアカウント登録部分をコメントにする

-----------------------------------------------------------------------------
    CREATE USER %tjnlspv IDENTIFIED BY %tspv001;
        ↓
    -- CREATE USER %tjnlspv IDENTIFIED BY %tspv001;
-----------------------------------------------------------------------------
TJNLスーパバイザのアカウントを新規に登録する場合

SQLスクリプトに設定されているTJNLスーパバイザのユーザ名とパスワードを修正します。ユーザ名とパスワードは30バイト以内の長さで指定してください。ユーザ名とパスワードをダブルクォーテーションで囲んだ場合は、ダブルクォーテーションも含めて30バイト以内の長さで指定してください。以下に修正の入力例を示します。斜体の部分が修正箇所です。

例.TJNLスーパバイザのユーザ名がspvisor、パスワードがspvpswdの場合

---------------------------------------------------------------
     CREATE USER %tjnlspv IDENTIFIED BY %tspv001;
     (中略)
     GRANT  CREATE    SESSION,
     (中略)
            DBA       TO  %tjnlspv;
        ↓
     CREATE USER spvisor IDENTIFIED BY spvpswd;
     (中略)
     GRANT  CREATE    SESSION,
     (中略)
            DBA       TO  spvisor;
---------------------------------------------------------------

なお、上記の例ではアカウントの英大文字と英小文字は区別されません。アカウントをダブルクォーテーションで囲んだ場合に英大文字と英小文字が区別されます。アカウントの英大文字と英小文字を区別したい場合の修正の入力例を以下に示します。

例.TJNLスーパバイザのユーザ名がSpVisorで英大文字と英小文字を区別する、かつ、パスワードがspvpswdの場合

---------------------------------------------------------------
     CREATE USER %tjnlspv IDENTIFIED BY %tspv001;
     (中略)
     GRANT  CREATE    SESSION,
     (中略)
            DBA       TO  %tjnlspv;
        ↓
     CREATE USER "SpVisor" IDENTIFIED BY spvpswd;
     (中略)
     GRANT  CREATE    SESSION,
     (中略)
            DBA       TO  "SpVisor";
---------------------------------------------------------------

シェルスクリプトを修正する

ORACLE_HOMEを修正する

シェルスクリプトに設定されているORACLE_HOMEを修正します。以下に修正の入力例を示します。

例.ORACLE_HOMEが/app/db/oracle/product/11.2.0の場合

---------------------------------------------------------------
   ORACLE_HOME=/opt/oracle/product/11.2.0
        ↓
   ORACLE_HOME=/app/db/oracle/product/11.2.0
---------------------------------------------------------------
ORACLE_SIDを修正する

ジャーナルを取得するOracleデータベースのシステム識別子を指定します。

シェルスクリプトに設定されているORACLE_SIDを修正します。以下に修正の入力例を示します。

例.ORACLE_SIDがORADB1の場合

---------------------------------------------------------------
   ORACLE_SID=TJNL1
        ↓
   ORACLE_SID=ORADB1
---------------------------------------------------------------
ORACLEデータベース管理者のユーザ名とパスワードを修正する

TJNLスーパバイザの登録時にOracleデータベースに接続するためのユーザアカウントを指定します。新しいユーザの作成を許可されたアカウントを指定する必要があります。

シェルスクリプトに設定されているデータベース管理者のユーザ名とパスワードを修正します。以下に修正の入力例を示します。

例.データベース管理者のユーザ名がdbmanager、パスワードがpswdの場合

---------------------------------------------------------------
   SYSTEM_ID=system
   SYSTEM_PASS=manager
        ↓
   SYSTEM_ID=dbmanager
   SYSTEM_PASS=pswd
---------------------------------------------------------------
SQLスクリプトのファイル名を修正する

ひな型を複写してSQLスクリプトのファイル名を変更した場合は、シェルスクリプトに設定されているSQLスクリプトのファイル名を修正します。以下に修正の入力例を示します。

例.SQLスクリプトのファイル名がTJNLGRANT2.sqlの場合

-----------------------------------------------------------------------------
   $ORACLE_HOME/bin/sqlplus $SYSTEM_ID/$SYSTEM_PASS @TJNLGRANT.sql
        ↓
   $ORACLE_HOME/bin/sqlplus $SYSTEM_ID/$SYSTEM_PASS @TJNLGRANT2.sql
-----------------------------------------------------------------------------

バッチファイルを修正する

ORACLE_HOMEを修正する

バッチファイルに設定されているORACLE_HOMEを修正します。以下に修正の入力例を示します。

例.ORACLE_HOMEがd:\oracle\product\11.2.0の場合

---------------------------------------------------------------
   set ORACLE_HOME=c:\oracle\product\11.2.0
        ↓
   set ORACLE_HOME=d:\oracle\product\11.2.0
---------------------------------------------------------------
ORACLE_SIDを修正する

TJNLを使用してジャーナルを取得するOracleデータベースのシステム識別子を指定します。

バッチファイルに設定されているORACLE_SIDを修正します。以下に修正の入力例を示します。

例.ORACLE_SIDがORADB1の場合

---------------------------------------------------------------
   set ORACLE_SID=TJNL1
        ↓
   set ORACLE_SID=ORADB1
---------------------------------------------------------------
ORACLEデータベース管理者のユーザ名とパスワードを修正する

TJNLスーパバイザの登録時にOracleデータベースに接続するためのユーザアカウントを指定します。新しいユーザの作成を許可されたアカウントを指定する必要があります。

バッチファイルに設定されているデータベース管理者のユーザ名とパスワードを修正します。以下に修正の入力例を示します。

例.データベース管理者のユーザ名がdbmanagerの場合

---------------------------------------------------------------
   set SYSTEM_ID=system
   set SYSTEM_PASS=manager
        ↓
   set SYSTEM_ID=dbmanager
   set SYSTEM_PASS=pswd
---------------------------------------------------------------
SQLスクリプトのファイル名を修正する

ひな型を複写してSQLスクリプトのファイル名を変更した場合は、バッチファイルに設定されているSQLスクリプトのファイル名を修正します。以下に修正の入力例を示します。

例.SQLスクリプトのファイル名がTJNLGRANT2.sqlの場合

------------------------------------------------------------------------------------------
   %ORACLE_HOME%\bin\sqlplus %SYSTEM_ID%/%SYSTEM_PASS% @TJNLGRANT.sql
        ↓
   %ORACLE_HOME%\bin\sqlplus %SYSTEM_ID%/%SYSTEM_PASS% @TJNLGRANT2.sql
------------------------------------------------------------------------------------------
12.4.3.3.2 TJNLスーパバイザを登録する

シェルスクリプト(Windowsではバッチファイル)を実行して、TJNLスーパバイザを登録します。修正したシェルスクリプト(Windowsではバッチファイル)とSQLスクリプトを同じディレクトリに格納しておきます。

以下に入力例を示します。

例.シェルスクリプトの実行例


---------------------------------------------------------------
   ./TJNLGRANT.sh
---------------------------------------------------------------

---------------------------------------------------------------
   TJNLGRANT.bat
---------------------------------------------------------------

12.4.3.4 TRM環境の作成

TJNLを運用するTRMシステムの環境を作成します。TRMシステムの環境の作成方法は、"第17章 環境作成"を参照してください。


なおLinuxサーバの場合、TRM利用者グループを指定したTRMシステムの環境を作成してください。

TRMシステムの環境を作成する際の環境定義ファイルには、以下の見積りに従った値に、ジャーナル提供側業務およびジャーナル利用側業務で必要となる値を加算した値を指定してください。ジャーナル提供側業務および、ジャーナル利用側業務で必要となる値の見積り方法は"第17章 環境作成"を参照してください。

以下に、TJNLが必要とする各指定値の見積り式を示します。

a) MQDConfigurationセクション

[MQDConfiguration]セクションに指定するキーワードの見積り式を、"表12.13 [MQDConfiguration]セクションに指定するキーワードの見積り式"に示します。

表12.13 [MQDConfiguration]セクションに指定するキーワードの見積り式

キーワード

見積り式

MessageBufferMaxSize

80[MB]~1024[MB]の範囲で指定します。

b)Transactionセクション

[Transaction]セクションに指定するキーワードの見積り式を、"表12.14 [Transaction]セクションに指定するキーワードの見積り式"に示します。

表12.14 [Transaction]セクションに指定するキーワードの見積り式

キーワード

見積り式

Max_Size

65536[KB]を指定します。

c) SystemFileセクション

[SystemFile]セクションに指定するキーワードの見積り式を、"表12.15 [SystemFile]セクションに指定するキーワードの見積り式"に示します。

表12.15 [SystemFile]セクションに指定するキーワードの見積り式

キーワード

見積り式

SystemFile2_Size

( ( 取得定義サイズの総和 × 2 ) +
  ( 配付定義サイズの総和 × 2 ) + 3072[KB] ) × 1.5

1つの取得定義サイズは以下の見積り式に従って求めます。
  (取得対象列数 × 0.1[KB]) +
    (取得対象システム取得項目数 × 0.1[KB]) +
    (取得対象ジャーナル・チェックポイント数 × 0.1[KB]) + 1.4[KB]

1つの配付定義サイズは以下の値です。
  0.3[KB]

d) DiskQueueセクション

[DiskQueue]セクションに指定するキーワードの見積り式を、"表12.16 [DiskQueue]セクションに指定するキーワードの見積り式"に示します。

表12.16 [DiskQueue]セクションに指定するキーワードの見積り式

キーワード

見積り式

Size

各メッセージキューに蓄積する利用ジャーナル量の総和 + (配付対象メッセージキュー数 × 16[KB]) + 100[KB]

1つのメッセージキューに蓄積する利用ジャーナル量は以下の見積り式に従って求めます。
  蓄積ジャーナル量(注1) × 1.5

蓄積ジャーナル量は以下の見積り式に従って求めます。
  1利用ジャーナル量 × 蓄積メッセージ数

1利用ジャーナル量は以下の見積り式に従って求めます。
  1.1[KB] + 取得対象列のデータ長(注2)の総和

注1) 他システムへ転送する場合は、転送の遅延時間を考慮してください。また、メッセージキューから利用ジャーナルを直接取り出す場合は、取出し業務の遅延時間を考慮してください。
注2) 取得対象列のデータ属性に基づいたデータ長に4バイト加算した値。列のデータ属性に基づいたデータ長は、"B.2.2 Oracleと定義の対応関係"を参照してください。

TRM環境定義ファイルの記述例を"表12.17 環境定義ファイルの記述例"に示します。

表12.17 環境定義ファイルの記述例

[MQDConfiguration]                        # TRM環境情報
  QueueMax = 100
  MessageBufferMaxSize = 80               # 80Mバイト

[Transaction]                             # トランザクション管理ファイル情報
  TransactionFile = /trmdev2/tranfile
  Max_Size = 65536                        # 65536Kバイト

[SystemFile]                              # システム制御用ファイル情報
  SystemFile1 = /trmdev2/systemfile1
  SystemFile2 = /trmdev2/systemfile2
  SystemFile2_Size = 8000                 # 8Mバイト

[QueueIndex]                              # メッセージキュー管理ファイル情報
  File = /trmdev2/indexfile

[DiskQueue]                               # ディスク型メッセージキューの情報
  File = /trmdev2/diskfile
  Size = 1000000                          # 1Gバイト

[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バイト

12.4.3.5 TRMの起動

TJNLの環境を作成するためには、事前にTRMを起動しておく必要があります。TRMの起動方法の詳細は、"18.1.1 TRMの起動"を参照してください。

12.4.3.6 TJNL環境定義の作成

TJNLの環境定義では、TJNLの動作環境として以下の情報を定義します。

TJNLの環境定義を格納するファイルをTJNL環境定義ファイルと呼びます。TJNL環境定義ファイルは、ユーザが任意の通常ファイル上にテキストファイルとして作成します。

TJNL環境定義ファイルは、viコマンドなど(Windowsではメモ帳など)の編集ツールを使用して作成してください。TJNL環境定義の記述方法の詳細については、"12.4.4 環境定義の記述"を参照してください。

12.4.3.7 TJNL環境の作成

TJNL環境の作成は、tjnlsetupコマンドを使用して行います。TJNLの環境作成時には、TJNLスーパバイザのユーザ名とパスワードを確認するための問合せが行われます。tjnlsetupコマンドの詳細は、"12.10.3.1 tjnlsetup(TJNL環境を作成する)"を参照してください。

なお、同一サーバ上に複数のOracleインスタンスが存在する場合、TJNLの環境定義に指定されているOracleインスタンスと連携します。

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


------------------------------------------------
tjnlsetup -f /tjnl/def/TJNLenv.def
------------------------------------------------


------------------------------------------------
tjnlsetup -f c:\tjnl\def\TJNLenv.def
------------------------------------------------

TJNLの環境を作成した後に、環境定義の変更やジャーナル取得ファイルの追加が行えます。環境定義の変更やジャーナル取得ファイルの追加についての詳細は、"12.9 保守"を参照してください。

12.4.3.8 メッセージキューの作成

利用ジャーナルを配付するメッセージキューを作成します。メッセージキューの作成方法は、"18.1.2 メッセージキューの作成"を参照してください。