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

30.1.2 Oracle

Oracleのリモートデータベースを使用する場合の、システム構成、TROの設定およびデータベースの設定について説明します。
Oracleの設定などについては、Oracleのマニュアルを参照してください。

30.1.2.1 サポート範囲

DBサーバ

DBサーバ側には、Oracle Databaseをインストールします。
連携することができるバージョンについては、インストールガイドを参照してください。

DBクライアント

DBクライアント側には、Oracle Database Clientをインストールします。インストールタイプは、Instant Client、管理者、ランタイムが使用できます。
Oracle Database Clientのバージョンに合わせて、本製品の"Oracleのバージョンレベルのエントリ操作"を行う必要があります。Oracle Database Clientのバージョンが11gR2の場合の例を以下に示します。

SolarisサーバまたはLinuxサーバの場合

/opt/FJSVlnktr/bin/lxrtmoralnk.sh 11.2.0

Windowsサーバの場合

lxrtmoralnk 1120

バージョンエントリの詳細については、本製品のインストールガイドを参照してください。

DBクライアント側のバージョンは、DBサーバ側のデータベースへの接続をサポートしているものにする必要があります。詳細はOracleのマニュアルを参照してください。

認証

認証の種類は以下のとおりです。

  • データベースの認証機構

30.1.2.2 システム構成

システム構成を以下に示します。

図30.4 Oracle(リモートデータベース)のシステム構成(TRO)

グローバルサーバからJournalTransferを通じてデータを受信してTRMのメッセージキューに格納します。
DBクライアント側でローカル・ネット・サービスなど(例:netca)により、ネット・サービス名を設定します。TRO側でそのネット・サービス名を設定することにより、Oracleクライアント(Oracle Database Client)を通じてDBサーバにデータを格納します。

表30.6 Oracle(リモートデータベース)の構成例

対象

名前または値

データベースサーバ
(Net Configuration Assistantで指定するホスト名)

sv1

リスナーが使用するポート

1521/tcp

サービス名

ORCL

ネット・サービス名

DB1

30.1.2.3 DBサーバの設定

DBサーバ側のデータベースの設定を行います。データベース・インスタンスおよびリスナーを構築し、環境変数などを設定します。また、リモート接続を受け付けるために以下を起動します。

詳細については、Oracleのマニュアルを参照してください。

プロファイル・パラメータ(sqlnet.oraファイル)の設定

プロファイル・パラメータ(sqlnet.oraファイル)を設定してください。

SQLNET.EXPIRE_TIME

SQLNET.EXPIRE_TIMEの例を以下に示します。

SQLNET.EXPIRE_TIME=10

ネットワークの切断などによってデータベースから切断されたあとに再接続が完了すると、RT14203メッセージが出力されます。しかし、Oracleの内部で接続情報が残っていると、再接続が完了したにもかかわらず、逐次差分反映処理が進まないことがあります。
SQLNET.EXPIRE_TIMEを指定することにより、この現象を軽減できます。この値を設定しているにも関わらず現象が頻発する場合は、値を小さくすることを推奨します。また、データベースを再起動すると、内部の接続情報は初期化されるため、データベースを再起動することを推奨します。

30.1.2.4 DBクライアントの設定

DBクライアント側のデータベースの設定を行います。詳細については、Oracleのマニュアルを参照してください。

ネット・サービス名の設定

ローカル・ネット・サービスなど(例:Net Configuration Assistant)により、ネット・サービス名を設定します。設定した内容はローカル・ネーミング・パラメータ(tnsnames.oraファイル)に反映されます。
tnsnames.oraファイルの例を以下に示します。ここでは"DB1"がネット・サービス名となります。

  DB1 =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = sv1)(PORT = 1521))
      )
      (CONNECT_DATA =
        (SERVICE_NAME = ORCL)
      )
    )

Oracleのコマンドなど(例:sqlplusコマンド)により、目的のデータベースに接続できることを確認してください。

FAILOVER_MODEパラメタについて

FAILOVER_MODEパラメータを設定しないでください。

FAILOVER_MODEパラメータを設定した場合、逐次差分反映処理が異常終了することがあります。また、DB動作環境定義キーワードで指定した再接続のリトライが、データベースから切断されたときに行われません。
他のアプリケーションでFAILOVER_MODEパラメータが必要な場合は、ネット・サービス名を分けてください。(例:"DB1"ではFAILOVER_MODEなし、"DB2"ではFAILOVER_MODEあり、DATABASEオペランドには"DB1"を指定、他のアプリケーションでは"DB2"を指定)

FAILOVER_MODEパラメータについては、Oracleのマニュアルを参照してください。

プロファイル・パラメータ(sqlnet.oraファイル)の設定

プロファイル・パラメータ(sqlnet.oraファイル)を設定してください。

SQLNET.RECV_TIMEOUT

SQLNET.RECV_TIMEOUTの例を以下に示します。

SQLNET.RECV_TIMEOUT=3

RT14102メッセージでのデータベースシステムのメッセージとしてORA-12535またはORA-12609が頻発する場合は、この値を大きくしてください。

Oracle Database ClientのインストールタイプがInstantClientの場合、tnsnames.oraファイルおよびsqlnet.oraファイルを作成し、そのファイルが存在するディレクトリを、環境変数TNS_ADMINに指定する必要があります。
Oracle Database Clientのインストールタイプが管理者またはランタイムの場合、それぞれのファイルはデフォルトのディレクトリに存在します。デフォルトのディレクトリに存在するファイルを使用する場合、環境変数TNS_ADMINは不要です。

30.1.2.5 環境変数の設定

DBクライアント側でTROに必要な環境変数を設定します。詳細については、"4.3.1 環境変数の設定"を参照してください。

30.1.2.6 DB動作環境定義の作成

DBクライアント側でDB動作環境定義キーワードを指定します。
リモート接続に関するDB動作環境定義キーワードは以下のとおりです。

表30.7 Oracleのリモート接続に関連するDB動作環境定義キーワード

キーワード

概要

CONNECT_TYPE

接続方式を指定します。

ORACLE_LOCK_RETRY_INTERVAL

Oracleデータベースのロックの獲得の待機時間を指定します。
リモート接続では1以上を指定してください。

REMOTE_RECONNECT_COUNT

切断された場合の、再接続のリトライを行う回数を指定します。

REMOTE_RECONNECT_INTERVAL

再接続のリトライを行う間隔を指定します。

例を以下に示します。

CONNECT_TYPE:REMOTE
ORACLE_LOCK_RETRY_INTERVAL:10
REMOTE_RECONNECT_COUNT:20
REMOTE_RECONNECT_INTERVAL:60

また、他のDB動作環境定義キーワードも必要に応じて指定してください。
詳細については、"4.3.2 DB動作環境定義の作成"を参照してください。

30.1.2.7 DBサービス定義の作成

DBクライアント側でDBサービス定義を作成します。
DBサービス定義を設定します。DBサービス定義の文法については、"第8章 DBサービス定義"を参照してください。

ローカル接続とリモート接続では、STOREGROUP定義文のDATABASEオペランドに指定する内容が異なります。

ローカル接続

ローカル接続の場合は、Oracleインスタンス識別子を指定します。

例を以下に示します。

DATABASE = ORCL

リモート接続

指定方法は2種類あります。

ネット・サービス名を使う方法

DBクライアントの設定により作成したtnsnames.oraファイルで示すネット・サービス名を指定します。
例を以下に示します。

DATABASE = DB1

ホスト名を使う方法

DBサーバのホスト名、ポート番号、サービス名を直接指定します。
例を以下に示します。

DATABASE = sv1:1521/ORCL

なお、DBサーバのホスト名やサービス名にドメイン名(".~.com"など)を含むことにより128バイトを超える場合、この指定は使えません。ネット・サービス名を使用してください。

30.1.2.8 逐次差分反映の開始

DBクライアント側で逐次差分反映を開始します。
逐次差分反映の開始は、lxrtmdbコマンドにより行います。詳細については、"7.3.4 lxrtmdbコマンド"を参照してください。
リモート接続では、データベースの認証機構のみ使用可能であるため、lxrtmdbコマンドには-uオプションを指定する必要があります。

例を以下に示します。

lxrtmdb -s DBSVC1 -r STRGRP1 -o -u user1/passwd1

30.1.2.9 注意事項

リモート接続における注意事項を説明します。

ファイアウォール

DBサーバ側でファイアウォールを運用している場合、DBサーバとDBクライアントの通信に使用するポートを許可するよう、DBサーバ側に設定します。リスナーで使用するポートを許可してください。
デフォルトの場合、ポートは以下となります。

1521/tcp