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

30.2.1 Oracle RAC

Oracle Real Application Clusters(以下"Oracle RAC"と表記します) を使用したシステム構成、TROの設定、およびデータベースの設定について説明します。なお、Oracle Databaseのバージョンは11gR2を前提に説明します。
Oracle RACの構築方法については、Oracleのマニュアルを参照してください。

30.2.1.1 サポート範囲

DBサーバ

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

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.2.1.2 システム構成

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

図30.8 Oracle RACの構成(TRO)

DBサーバ

Oracle RACは複数のノード(サーバ)から構成されます。個々のノードでは、リスナーおよびインスタンスが動作し、共用ディスク上のデータにアクセスします。
DBクライアントからの接続要求は、SCAN(Single Client Access Name)が受け付けます。SCANは3個のSCANリスナーから構成されており、個々のSCANリスナーはIPアドレスを持っています。DBクライアントからは、SCANを代表する名前(SCAN名)をホスト名とする1台のDBサーバとして見えます。
1個の接続要求はいずれかのSCANリスナーが受け付け、いずれかのノードに振り分けます。たとえば、SCAN2が要求を受け付けて、1番目のノードに振り分けます。別の接続要求に対しては、別のルートで振り分けられる可能性があります。
また、名前解決を行うためのGNS(Grid Naming Service)が動作しており、SCAN名から実際に要求を受け付けるSCANのIPアドレスに変換します。
SCANおよびGNSについては、Oracleのマニュアルを参照してください。

DBクライアント

DNSサーバのIPアドレスをOS(例:hostsファイル)に登録しておきます。
ネット・サービスなどによりネット・サービス名(SCAN名/ポート番号/サービス名の組み合わせ)を定義しておきます。
TROのDBサービス定義にネット・サービス名を指定することにより、Oracleクライアントを通してDBサーバにデータを格納します。

DNSサーバ/DHCPサーバ

DNSおよびDHCPの役割を持つサーバを用意します。
DNSには、DNSのネットワークドメイン配下となるGNSサブドメインを登録します。DBクライアントからSCAN名について名前解決の要求を受けると、GNSからIPアドレスを取得してDBクライアントに返却します。
また、DHCPとして割り当てる範囲のIPアドレス(DBサーバ内で使用する仮想IPアドレス)を用意します。

ネットワークの構成例

2ノード、GNSを使用するネットワークの構成例を以下に示します。なお、ここでは、各ノードをそれぞれ"ノード1"、"ノード2"と表現します。

表30.12 GNS構成におけるネットワーク構成の例

ノード/サーバ

タイプ

名前

IPアドレス

名前解決

ノード1

パブリック

lrac1.linktro.com

192.168.0.11

DNS

仮想

DHCP割り当て

GNS

プライベート

lrac1priv.linktro.com

192.168.1.11

DNS

ノード2

パブリック

lrac2.linktro.com

192.168.0.12

DNS

仮想

DHCP割り当て

GNS

プライベート

lrac2priv.linktro.com

192.168.1.12

DNS

SCAN

仮想

scan.grid.linktro.com

DHCP割り当て

GNS

GNS

gns-vip.linktro.com

192.168.0.3

DNS

DNS/DHCP

dns.linktro.com

192.168.0.2

DNSサーバのIPアドレスを、DBサーバを構成する各ノードおよびDBクライアントに登録します。SCANおよび各IPアドレスの名前解決はGNSにより行われます。
ネットワークとしてパブリックネットワークとプライベートネットワークが必要です。詳細については、Oracleのマニュアルを参照してください。

なお、GNSやSCANリスナーを使用しない運用もできます。詳細については、Oracleのマニュアルを参照してください。

30.2.1.3 DNSサーバ/DHCPサーバの設定

DNSサーバおよびDHCPサーバを構築します。DNSサーバおよびDHCPサーバを同一サーバに構築する例を以下に説明します。

DNSサーバ

固定IPアドレスを登録します。DNSのホスト名が"dns.linktro.com"、DNSのIPアドレスが"192.168.0.2"の場合の例を以下に示します。

表30.13 DNSサーバに登録するホスト名とIPアドレスの例

サーバ

名前

IPアドレス

GNS

gns-vip.linktro.com

192.168.0.3

ノード1(パブリック)

lrac1.linktro.com

192.168.0.11

ノード1(プライベート)

lrac1priv.linktro.com

192.168.1.11

ノード2(パブリック)

lrac2.linktro.com

192.168.0.12

ノード2(プライベート)

lrac2priv.linktro.com

192.168.1.12

DNSのネットワークドメイン配下となるGNSサブドメインを登録します。
DNSのネットワークドメインが"linktro.com"の場合の例を以下に示します。

grid.linktro.com

GNSサブドメイン配下の名前に対してGNSサーバに名前解決を依頼するように設定します。

DNSの構築方法の詳細については、各OSのマニュアルを参照してください。

DHCPサーバ

DHCPサーバから動的に割り当てるIPアドレスの範囲を登録します。
登録するIPアドレスの範囲の例を以下に示します。

192.168.0.21~192.168.0.254

DHCPサーバの構築方法の詳細については、各OSのマニュアルを参照してください。

30.2.1.4 DBサーバの設定

Oracle RACの構築

Oracle RACを構築する前に、各ノードにDNSサーバを登録します。
その後、Oracle RACを構築し、Oracle RACを構成する各プロセスを起動します。
デフォルトでは、Oracle RACが構築された状態で各ノードを起動すると、各プロセスが自動的に起動します。詳細については、Oracleのマニュアルを参照してください。

Database Configuration Assistantで入力するおもな情報の例を以下に示します。その他の情報については、Oracleのマニュアルを参照してください。

表30.14 Oracle RACの構築時に入力する情報の例

画面

入力/選択内容

インストールオプション

クラスタ用のGrid Infrastructureのインストールおよび構成

インストールタイプ

拡張インストール

Gridプラグ・アンド・プレイの情報

"表30.15 Gridプラグ・アンド・プレイの情報の例"を参照

クラスタノードの構成

ホスト名:lrac1.linktro.com、lrac2.linktro.com
仮想IP名:AUTO

ネットワーク・インタフェースの使用方法の指定

eth0/192.168.0.0/パブリック
eth1/192.168.1.0/プライベート

表30.15 Gridプラグ・アンド・プレイの情報の例

項目

入力/選択内容

クラスタ名

lrac-cluster

SCAN名

scan.grid.linktro.com

SCANポート

1521

GNSの構成

チェックする

GNSサブドメイン

grid.linktro.com

GNS VIPアドレス

192.168.0.3

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

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

SQLNET.EXPIRE_TIME

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

SQLNET.EXPIRE_TIME=10

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

30.2.1.5 DBクライアントの設定

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

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

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

  DB1 =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = scan.grid.linktro.com)(PORT = 1521))
      )
      (CONNECT_DATA =
        (SERVICE_NAME = ORCL)
      )
    )

また、ネット・サービス名の定義で指定されているホスト名を解決するため、DNSサーバを登録します。DNSサーバの登録方法については、各OSのマニュアルを参照してください。

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.2.1.6 環境変数の設定

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

30.2.1.7 DB動作環境定義の作成

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

表30.16 Oracle RACに関連する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.2.1.8 DBサービス定義の作成

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

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

ローカル接続

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

例を以下に示します。

DATABASE = ORCL

リモート接続

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

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

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

DATABASE = DB1

ホスト名を使う方法

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

DATABASE = scan.grid.linktro.com:1521/ORCL

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

30.2.1.9 逐次差分反映の開始

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

例を以下に示します。

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

30.2.1.10 注意事項

Oracle RACにおける注意事項を説明します。

ファイアウォール

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

1521/tcp

30.2.1.11 GNSを使用しない構成

GNSを使用せずにSCANを使用する場合の構成について説明します。

GNSを使用する場合との違いは、以下のとおりです。

逐次差分反映を開始する前に、以下が動作することを確認してください。

sqlplus ユーザ/パスワード@ネット・サービス名

DBサービス定義のDATABASEオペランドには、ネット・サービス名を指定します。

Oracle RACの構築方法については、Oracleのマニュアルを参照してください。

30.2.1.12 SCANを使用しない構成

SCANを使用しない構成について説明します。
この構成は、以下の場合に使います。

GNSおよびSCANを使用する場合との違いは、以下のとおりです。

逐次差分反映を開始する前に、以下が動作することを確認してください。

sqlplus ユーザ/パスワード@ネット・サービス名

DBサービス定義のDATABASEオペランドには、ネット・サービス名を指定します。

Oracle RACの構築方法については、Oracleのマニュアルを参照してください。

30.2.1.13 運用待機型との組み合わせ

"第6部 クラスタシステム"で示す運用待機型クラスタシステムとOracle RACの組み合わせについて説明します。
この構成の概要は今のとおりです。

図30.9 運用待機型クラスタシステムとOracle RACを組み合わせた構成

DBサーバ

Oracle RACを構築します。

DBクライアント

運用待機型クラスタシステムを構築します。
ローカルデータベースを使用するクラスタ構成(詳細は"第6部 クラスタシステム"を参照)と比較すると、データベースがDBサーバに移動した形になります。
DBクライアント側ではいずれかのノードが運用中となります。

PRIMECLUSTERとの組み合わせ

DBクライアント側をPRIMECLUSTERで構築します。
ローカルデータベースへ接続するPRIMECLUSTERの構成との違いは、以下のとおりです。

ローカルデータベースでの構成については、"28.2.1.8.5 クラスタアプリケーションの設定"を参照してください。

フェールオーバー クラスタリングとの組み合わせ

DBクライアント側をフェールオーバー クラスタリングで構築します。
ローカルデータベースへ接続するフェールオーバー クラスタリングの構成との違いは、以下のとおりです。

ローカルデータベースでの構成については、"28.4.1.6.2 リソースの登録"を参照してください。