Data Guard
手順 3 サービス・アプリケーションの追加 サービス・アプリケーションの追加 サービス・アプリケーションの追加 サービス・アプリケーションの追加
サービス定義を次のように追加します。
srvctl add service -d ORADB -s ERP -r RAC01,RAC02 -a RAC03,RAC04 srvctl add service -d ORADB -s CRM -r RAC03,RAC04 -a RAC01,RAC02 srvctl add service -d ORADB -s SELF_SERVICE -r RAC01,RAC02,RAC03,RAC04 srvctl add service -d ORADB -s HOT_BATCH -r RAC01 -a RAC02,RAC03,RAC04 srvctl add service -d ORADB -s STD_BATCH -r RAC01,RAC02,RAC03,RAC04
関連項目 関連項目関連項目
関連項目: SRVCTLコマンドのリストと例は、『Oracle Real Application
Clusters管理』の付録B「サーバー制御ユーティリティ(SRCVCTL)のリ
ファレンス」を参照してください。
サービスの使用方法 サービスの使用方法 サービスの使用方法 サービスの使用方法
この例では、構成したサービスをアプリケーションが使用するために、Oracle Net Services の構成ファイルおよびその他のアプリケーション関連のリソースを設定する方法を示しま す。
クライアント・アプリケーションでのサービスの使用方法 クライアント・アプリケーションでのサービスの使用方法 クライアント・アプリケーションでのサービスの使用方法 クライアント・アプリケーションでのサービスの使用方法
アプリケーションおよび中間層の接続プールは、TNS接続データを使用してサービスを選択 します。選択したサービスは、SRVCTLまたはDBCAでadd serviceを使用して作成さ れたサービスと一致する必要があります。V$ACTIVE_SERVICESビューに問い合せ、現在 実行中のサービスを確認できます。
クライアントとの通信に仮想アドレスを使用すると、停止中のノードに対して発行された接
続とSQL文によるTCP/IPタイムアウトが発生しないことが保証されます。使用するシス
テムでクラスタ・エイリアスが提供されている場合は、接続のみにそのクラスタ・エイリア スを使用します。ただし、アドレスとしてホスト名を使用しないでください。次の例のアド レス・リストでは、仮想IPアドレスまたはクラスタ・エイリアスが使用されています。
ERP サービスに対する サービスに対する サービスに対する サービスに対する TNS 接続の記述 接続の記述 接続の記述 接続の記述
TNS Connection Description for ERP Service ERP= (DESCRIPTION=
(ADDRESS_LIST=
(LOAD_BALANCE=yes)
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) )
(CONNECT_DATA=(SERVICE_NAME=ERP)))
また、クラスタ・エイリアスをサポートするプラットフォームの場合は、TNSエイリアスを 次のように簡素化できます。
ERP=(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=clusalias)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))
サービスの使用方法
TAF BASIC を使用する を使用する を使用する を使用する ERP サービスに対する サービスに対する サービスに対する サービスに対する TNS 接続の記述 接続の記述 接続の記述 接続の記述
ERP= (DESCRIPTION=
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP))
(FAILOVER_MODE=(BACKUP=ERP)(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY
=5)) )
TAF 事前接続を使用する 事前接続を使用する 事前接続を使用する 事前接続を使用する ERP サービスに対する サービスに対する サービスに対する サービスに対する TNS 接続の記述 接続の記述 接続の記述 接続の記述
ERP= (DESCRIPTION=
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP))
(FAILOVER_MODE=
(BACKUP=ERP_PRECONNECT)(TYPE=SESSION)(METHOD=PRECONNECT)(RETRIES=180)(DELAY =5)) )
ERP_PRECONNECT = (DESCRIPTION=
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP_PRECONNECT))
(FAILOVER_MODE=
(BACKUP=ERP)(TYPE=SESSION)(METHOD=BASIC)(RETRIES=180)(DELAY =5)) )
ERP サービスに対する サービスに対する サービスに対する サービスに対する Thick JDBC 接続の記述 接続の記述 接続の記述 接続の記述
url="jdbc:oracle:oci:@TNS_ALIAS"
url="jdbc:oracle:oci:@(DESCRIPTION=
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))"
url="jdbc:oracle:oci:@(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=clusalias)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))"
ERP サービスに対する サービスに対する サービスに対する サービスに対する Thin JDBC 接続の記述 接続の記述 接続の記述 接続の記述
url="jdbc:oracle:thin:@(DESCRIPTION=
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))"
url="jdbc:oracle:thin:@(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=clusalias)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))"
サービスに対するリスナー構成 サービスに対するリスナー構成 サービスに対するリスナー構成 サービスに対するリスナー構成
すべてのリスナーがすべてのサービスとそれを実行するインスタンスを認識できるように、
REMOTE_LISTENERS初期化パラメータを使用してリスナーを相互登録する必要がありま す。リスナーは、サーバー・サイドのロード・バランシングを使用しますが、その際、接続 に対するセッション・カウントに基づいてロード・バランシングを実行するオプションがあ ります。リスナーは、VIPおよびクラスタ・エイリアス(使用可能な場合)をリスニングし ている必要があります。リスナーはホスト名でリスニングしないでください。ホスト名をリ スニングすると、VIPが所有ノードに自動的に復帰した時点でセッションが切断されます。
サービスの使用方法
サンプル サンプル サンプル
サンプル listener.ora のエントリ のエントリ のエントリ のエントリ
各クラスタ・ノードの各リスナーには、ノードのVIP名(またはアドレス)を指すアドレス 指定とホストの物理IPアドレス(またはホスト名)を指す二重のアドレス指定が必要です。
# Listener name definition for host clusnode-1 (see Table A-2 for details):
#
LISTENER_CLUSNODE-1 =
(ADDRESS = (PROTOCOL = TCP)(HOST = clusnode-1vip)(PORT = 1521)) SID_LIST_LISTENER_CLUSNODE-1 =
(SID_LIST = (SID_DESC =
(SID_NAME = PLSExtProc) (ORACLE_HOME = $ORACLE_HOME) (PROGRAM = extproc)
) )
サンプル・リモート・リスナーのエントリ サンプル・リモート・リスナーのエントリ サンプル・リモート・リスナーのエントリ サンプル・リモート・リスナーのエントリ
# TNS alias entry maps to REMOTE_LISTENER initialization parameter:
LISTENERS_ORADB=
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)))
Oracle インスタンスのパラメータ インスタンスのパラメータ インスタンスのパラメータ インスタンスのパラメータ
LOCAL_LISTENER、REMOTE_LISTENERおよびACTIVE_INSTANCE_COUNT初期化パラ メータの値が、サービスでVIPを使用するための有効な値であることを確認する必要があり ます。リスナー定義値が、「クライアント・アプリケーションでのサービスの使用方法」の 項で定義されたものと一致する必要があります。次のガイドラインに従って正しい値を設定 します。
local_listener=LISTENER_CLUSNODE-1 -- TNS entry listing the virtual IP address for -- node CLUSNODE-1
remote_listener=LISTENERS_ORADB -- TNS entry listing the virtual IP addresses -- used by database ORADB
ACTIVE_INSTANCE_COUNTパラメータがデフォルト値になっていることを確認してくださ い。このパラメータは設定しません。
ワークロード管理のための手動構成 ワークロード管理のための手動構成 ワークロード管理のための手動構成 ワークロード管理のための手動構成
次に示す4つの手順は、ワークロード、DBMS_SCHEDULER.CREATE_JOBの実行時間、リ ソース消費量、待機イベントなどの管理が可能なサービスの構成方法を示しています。最初 の2つの手順は、自動ワークロード・リポジトリ(AWR)のサーバー・サイド・サービス のサービスの優先順位およびジョブ・クラスの構成に必要です。手順3および4では、サー ビス・パフォーマンスのしきい値を定義し、サービス内のモジュールおよびアクションの測 定を可能にします。