プライマリ・コンテンツに移動
Oracle® Real Application Clustersインストレーション・ガイド
11g リリース2 (11.2) for Linux and UNIX Systems
B56272-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

7 Oracle Real Application Clusters用にインストールされた構成の理解

この章では、Oracle Real Application Clusters(Oracle RAC)用にインストールされた構成について説明します。この章の内容は次のとおりです。

7.1 Oracle RACに構成された環境の理解

Oracle Net Configuration Assistant(NetCA)およびDatabase Configuration Assistant(DBCA)は、Oracle RACデータベースの作成およびOracle Enterprise Manager検出に必要な要件を満たすように環境を構成します。


注意:

構成ファイルは、クラスタ・データベースの各ノードに作成されます。

Oracle RACのインストールの完了後は、ホスト名を変更しないようにしてください(ドメイン修飾の追加または削除を含む)。ホスト名はOracle Clusterwareのインストール中に作成され、データベース・プロセスで広範に使用されます。ホスト名が変更されているノードは、クラスタから削除して新しい名前で追加しなおす必要があります。

7.2 クラスタ・ノードでのタイムゾーン設定の理解

Oracle RACでは、すべてのクラスタ・ノードのタイムゾーン設定が同じである必要があります。Oracle Clusterwareインストール中に、インストール・プロセスは、Oracle Universal Installer(OUI)が実行されるノードでグリッド・インストール所有者のタイムゾーン設定を確認し、そのタイムゾーン値をOracle Clusterwareが管理するすべてのプロセスのデフォルトのタイムゾーン設定として、すべてのノードで使用します。このデフォルト設定は、データベース、Oracle ASMおよびその他の管理対象プロセスで使用されます。ただし、SQL*Plusでインスタンスを起動する場合、Oracle RACが使用するタイムゾーン値がOracle Clusterwareタイムゾーンと同じであることを確認する必要があります。コマンドsrvctl setenv database -T 'TZ=time zoneを実行すると、Oracle Clusterwareがデータベースに使用するタイムゾーンを変更できます。

7.3 Oracle RAC用のoratabファイル構成

Oracleは、oratab構成ファイルに各Oracle RACデータベースのエントリを作成します。oratabファイルは、インストール時にroot.shスクリプトによって作成され、データベースの作成時または削除時にDatabase Configuration Assistantによって更新されます。oratabファイルのエントリも、データベースをまだ実行したことのないノード上で初めて起動したときDatabase Agentによって自動的に作成されます。Oracle ASM Agentは、Oracle ASMのoratabエントリを作成します。

Oracle Enterprise Managerは、サービス検出時にoratabファイルを使用してOracle RACデータベースの名前を確認します。また、システムの再起動時にそのデータベースを自動的に起動するかどうかも確認します。

データベースのエントリの構文は、次のとおりです。

$DB_UNIQUE_NAME:$ORACLE_HOME:N

コロン(:)はフィールドの終了記号として使用されます。改行は、エントリの終了を示します。シャープ記号(#)で始まる行はコメントです。Oracle RACデータベースのすべてのインスタンスは同じDB_UNIQUE_NAMEを持ちますが、各インスタンスにはそれぞれ専用のORACLE_SIDがあるため、oratabファイルの$DB_UNIQUE_NAME環境変数をデータベース・エントリとして使用します。

Oracle RACデータベースの$DB_UNIQUE_NAME識別子は企業内で一意である必要があります。$ORACLE_HOMEは、データベースへのディレクトリ・パス、Nは、システムの再起動時にデータベースを起動しないことを示します。たとえば、データベース名salesのエントリは、次のとおりです。

sales:/u01/app/oracle/sales:N

7.4 Database Configuration Assistantで作成したデータベース・コンポーネント

この項では、DBCAによって作成されたデータベース・コンポーネントについて説明します。内容は次のとおりです。

7.4.1 表領域およびデータ・ファイル

シングル・インスタンスおよびクラスタ・データベースの両方の環境では、Oracle Databaseは表領域という小さな論理領域に分割されています。各表領域は、共有記憶域にある1つ以上のデータ・ファイルに対応しています。表7-1に、Oracle RACデータベースで使用する表領域名、およびその表領域に含まれるデータの種類を示します。

表7-1 Oracle Real Application Clustersデータベースで使用する表領域名

表領域名 内容

SYSTEM

データベースに必要な表、ビューおよびストアド・プロシージャの定義を含む、データ・ディクショナリで構成されます。この表領域内の情報は自動的にメンテナンスされます。

SYSAUX

補助システム表領域で、DRSYS(Oracle Text用のデータを含む)、CWMLITE(OLAPスキーマを含む)、XDB(XML機能用)、ODM(Oracle Data Mining用)、TOOLS(Oracle Enterprise Manager表を含む)、INDEXEXAMPLEおよびOEM-REPO表領域を含みます。

USERS

アプリケーション・データで構成されます。表を作成しデータを入力するにつれて、この領域にデータが書き込まれます。

TEMP

SQL文の処理時に作成された一時表および索引が含まれます。非常に大規模な表に対するANALYZE COMPUTE STATISTICSのように大量のソートが必要なSQL文、あるいはGROUP BYORDER BYまたはDISTINCTを含むSQL文を実行する場合に、この表領域の拡張が必要な場合があります。

UNDOTBSn

DBCAが自動UNDO管理用に作成する、インスタンスごとのUNDO表領域が含まれます。

RBS

自動UNDO管理を使用しない場合、Oracle Databaseはロールバック・セグメント用にRBS表領域を使用します。


OUIで事前構成済データベース構成オプションを使用する場合、これらの表領域名は変更できません。ただし、詳細なデータベース作成方法を使用する場合は、表領域名を変更できます。

前述のとおり、各表領域には1つ以上のデータ・ファイルがあります。事前定義済データベース構成オプションによって作成されるデータ・ファイル名は、記憶域タイプ(Oracle ASM、ファイル・システムなど)によって異なります。

7.4.2 制御ファイル

データベースは、共有記憶域に格納されている2つの制御ファイルを使用して設定されています。

7.4.3 REDOログ・ファイル

各インスタンスは、共有記憶域に格納されている2つ以上のREDOログ・ファイルを使用して設定されています。ファイル・システムを使用する場合、これらのファイルは共有ファイル・システムのファイルです。Oracle ASMを使用する場合、これらのファイルは、Oracle ASMディスク・グループに格納されます。

事前構成済データベース構成オプションによって作成されるREDOログ・ファイルのファイル名は、記憶域タイプによって異なります。クラスタ・ファイル・システムを使用していない場合は、ブロック・デバイス名またはRAWデバイス名を入力する必要があります。

7.5 Oracle RACでのUNDO表領域の管理

Oracle Databaseは、UNDO表領域に、ロールバック情報やUNDO情報を格納します。UNDO表領域を管理するには、自動UNDO管理を使用することをお薦めします。自動UNDO管理は、手動UNDO管理より簡単に管理できる、自動化されたUNDO表領域管理モードです。

Oracle ASMおよびOracle Managed Filesを自動UNDO管理とともに使用する場合、初めて起動されたインスタンスはUNDO表領域を持ちませんが、別のインスタンスによって自動的に作成されたそのインスタンス用のUNDO表領域を持つことになります。これは、REDOログについても同じです。


関連項目:

UNDO表領域の管理については、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

7.6 初期化パラメータ・ファイル

Oracle Databaseの初期化パラメータの保存には、サーバー・パラメータ・ファイル(SPFILE)を使用することをお薦めします。Oracle ASM SPFILEを含む、Oracle ASMのすべてのSPFILEを保存することをお薦めします。SPFILEは共有記憶域に置いて、クラスタ・データベースのすべてのインスタンスがこのパラメータ・ファイルにアクセスできるようにする必要があります。


関連項目:

パラメータ・ファイルの作成および使用については、第5章「Oracle Real Application Clusters環境でのサーバー・パラメータ・ファイルの構成」を参照してください。

7.7 Oracle Databaseのデフォルトの監査方針および初期化パラメータ

Oracle Databaseでは、ベースラインとなるデータベース監査方針がインストールされます。この方針は、Oracle Databaseデータベースの表に格納されているアクセス制御構成情報、Oracle Catalogに格納されている情報(ロールバック・セグメント、表領域など)、システム権限の使用、およびOracle Label Securityの構成に適用されます。


関連項目:

データベース監査方針の詳細は、『Oracle Database Vault管理者ガイド』を参照してください。

7.8 サービス登録関連パラメータの理解

Oracle RACデータベースは、接続時ロード・バランシング機能とフェイルオーバー機能に重要なメリットを提供します。スタンドアロンのOracle Databaseは、ローカル・ディスパッチャ間で接続を分散することでロード・バランシングを実現します。

Oracle RACデータベースは、Oracle ClusterwareのSCAN(単一クライアント・アクセス名)によってロード・バランシングを拡大し、クラスタ・データベースのすべてのインスタンスにわたって接続を平均化します。

Oracle RACのロード・バランシング機能については、次の項を参照してください。

7.8.1 単一クライアント・アクセス名(SCAN)とロード・バランシングについての理解

単一クライアント・アクセス名(SCAN)は完全修飾名(ホスト名+ドメイン)で、SCANに割り当てられたすべてのアドレスに解決するように構成されています。アドレスは、DNSサーバー上またはGNS構成のクラスタ内で、ラウンドロビンDNSによって解決します。SCANリスナーはクラスタ内の任意のノードで実行できます。

Oracle Database 11g リリース2以降のインスタンスは、リモート・リスナーとしてはSCANリスナーにのみ登録されます。アップグレードしたデータベースは、リモート・リスナーとしてSCANリスナーに登録されるとともに、引き続きすべてのノード・リスナーにも登録されています。

SCANは、クラスタ・ノード上ではなく、クラスタ上で動作します。SCANは、クライアント構成が特定のデータベースを実行するノードに依存する必要がないように、データベースに位置の独立性を提供します。たとえば、クラスタにポリシー管理型のサーバー・プールを構成した場合、サーバー・プールにどのノードが割り当てられているかにかかわらず、SCANによってサーバー・プールのデータベースに接続できます。

SCANはノードの仮想IP(VIP)アドレスと同様に機能します。しかし、SCANはクラスタ内の任意のノードで動作するSCAN VIPに解決されるため、ノードの仮想IPアドレスとは異なり、クラスタでノードが追加または削除されてもSCANに接続するクライアントには仮想IPアドレスの更新は必要ありません。SCANアドレスはクラスタ内のノード・アドレスではなくクラスタに解決されるため、SCANアドレス構成に影響を与えることなく、クラスタでノードを追加または削除できます。

Oracle Grid Infrastructureのインストールでは、SCANを解決するために割り当てられるIPアドレスと同数のSCANリスナーが作成されます。高可用性とスケーラビリティのため、SCANは3つのアドレスに解決することをお薦めします。SCANを3つのアドレスに解決する場合は、3つのSCANリスナーが作成されます。

Oracle RACはノードVIPアドレスを使用したフェイルオーバーを提供します。これは、同じデータベース・サービスに対するクライアント接続要求を管理するために、複数のノードで複数のリスナーを構成することで実現します。ノードで障害が発生すると、VIPへのサービス接続は動作可能なノードに透過的に再接続されるため、VIPを介して接続するクライアントに障害を迅速に通知できます。アプリケーションおよびクライアントが透過的アプリケーション・フェイルオーバー・オプションを使用して構成されている場合、そのクライアントは動作可能なノードに再接続されます。Oracle Clusterwareはクライアント・アプリケーションの要求を、SCANから、サービスを提供するインスタンスの中で負荷が最も低いインスタンスのVIPへとルーティングします。

Oracle Database 11g リリース2より前のOracle DatabaseリリースのIPアドレスを使用するように構成されたクライアントは、既存の接続アドレスを引き続き使用できるため、SCANを使用する必要はありません。以前のバージョンのOracle DatabaseをアップグレードするとSCANリスナーに登録されるため、クライアントがSCANを使用してそのデータベースに接続できるようになります。データベースはinit.oraファイルのリモート・リスナー・パラメータを通じてSCANリスナーに登録されます。REMOTE_LISTENERパラメータは、SCAN:PORTに設定する必要があります。SCANをHOST=SCANとして設定した単一のアドレスを持つTNSNAMES別名には設定しないでください。


関連項目:

SCANおよびその構成の詳細は、Oracle Grid Infrastructureのインストレーション・ガイドを参照してください。

7.8.2 ロード・バランシング、フェイルオーバー、高可用性についての理解

接続時ロード・バランシング機能とフェイルオーバー機能では、クラスタ・データベース内の冗長なリソースが活用できるため、可用性が向上します。

データベース・エージェント(以前のracgimon)は、初期化パラメータのLOCAL_LISTENERを自動的に構成します。この設定を変える必要はありません。SQLコマンドALTER SYSTEM SET REMOTE_LISTENERを使用して、REMOTE_LISTENERにSCANポートとSCANを設定してください。SCANポートを変更する場合は、REMOTE_LISTENER構成を変更する必要があります。

LOCAL_LISTENERパラメータはローカル・リスナーを識別し、REMOTE_LISTENERパラメータはリスナーのグローバル・リストを識別します。REMOTE_LISTENERパラメータは常にSCANアドレスに設定されます。たとえば、クラスタの名前がmyclusterで、ドメインがexample.comの場合、SCANアドレスはmyscan.mycluster.example.com:1521のようになります。

DBCAがデフォルトで構成するのは、専用サーバーを使用する環境のみです。ただし、DBCAの使用時に共有サーバー・オプションを選択すると、Oracleは共有サーバーを構成します。この場合、Oracle Databaseは専用サーバーと共有サーバーの両方のプロセスを使用します。共有サーバーが構成されると、DISPATCHERSパラメータは、次の例に示すように指定されます。

DISPATCHERS="(protocol=tcp)"

DISPATCHERS初期化パラメータのLISTENER属性が前述の例のように指定されていない場合、PMONプロセスは、すべてのディスパッチャに関する情報を、LOCAL_LISTENERパラメータとREMOTE_LISTENERパラメータで指定されているリスナーに登録します。

ただし、LISTENER属性が指定されている場合、PMONプロセスはディスパッチャ情報を、そのLISTENER属性に指定されているリスナーに登録します。この場合は、LISTENER属性の設定によって、指定したディスパッチャのREMOTE_LISTENERの設定値が、次の例に示すように変更されます。

DISPATCHERS="(protocol=tcp)(listener=listeners_db_name)"

注意:

前述の例およびこの章で使用しているdb_nameという表記は、DBCAのプロンプトで入力したデータベース名(またはOracle SID)、またはCREATE DATABASE文のDATABASEキーワードに対して作成したエントリを表します。


関連項目:

インスタンス間登録、共有サーバーと専用サーバーの構成、および接続時ロード・バランシングの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

7.9 リスナー・ファイル(listener.ora)の構成

次の項で説明するとおり、listener.oraファイルの2種類のリスナーを構成できます。

7.9.1 グリッド・ネーミング・サービス(GNS)とリスナー

グリッド・ネーミング・サービス(GNS)を有効にした場合、リスナーを手動で構成する必要はありません。GNS構成では、クラスタに1つのGNSデーモンが割り当てられます。GNSによって管理されるクラスタ・ドメインへのサービス要求はGNSの仮想IPアドレスにルーティングされ、そこで要求はGNSデーモンへとルーティングされます。

GNSデーモンは登録をリスニングします。SCAN仮想IPは、使用が開始された際に自身のアドレスをGNSに登録します。GNSは、DNSからSCANの要求を受信すると、登録されたアドレスをDNSに戻します。

7.9.2 ローカル・リスナーについて

Oracle Databaseの作成時、LOCAL_LISTENERパラメータは、データベースのローカル・リスナーを指すように自動的に構成されます。Database AgentはLOCAL_LISTENERパラメータに、TNS別名が不要な接続記述子を設定します。

LOCAL_LISTENERには手動で値を設定できます。しかし、このパラメータは設定せず、Database Agentが自動的に維持できるようにすることをお薦めします。

たとえば、データベースを作成した後に、2つ目のリスナー(ポート2012をリスニングする)を追加する必要がある場合は、次のコマンドを使用してデータベースを両方のリスナーに起動時に登録します。

> alter system set local_listener='(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.61)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.61)(PORT=2012))))' 
scope=BOTH SID='OCRL1';

関連項目:

リスナーの概要と構成の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

tnsnames.oraファイルは、パス$ORACLE_HOME/network/adminにあります。デフォルトでは、tnsnames.oraファイルは、Oracle Grid InfrastructureホームのパスGrid_home/network/adminから読み取られます。

リスナーの対応付けにtnsnames.oraファイルのエントリは必要ありません。REMOTE_LISTENERは、DBCAによって、SCANの名前とポートを参照するように構成されます。tnsnames.oraのエントリは不要です。

次に、Oracle RAC 11g リリース2(11.2)のtnsnames.oraファイルの例を示します。

# tnsnames.ora Network Configuration file:
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle Configuration tools
RACDB =
   (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = myscan.mycluster.example.com)(PORT = 1521)
)
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = RACDB)
      )
    )

7.9.3 複数のリスナーについて

DBCAがノードで複数のリスナーを検出した場合、リスナーのリストが表示されます。データベースに登録するリスナーを1つまたはすべて選択できます。


注意:

lsnrctlコマンドを使用して11g リリース2(11.2)のローカル・リスナーおよびSCANリスナーを管理するには、ORACLE_HOME環境変数にOracle Grid Infrastructureホーム(Gridホーム)のパスを設定します。以前のリリースで使用していたOracleホームの位置からlsnrctlコマンドを使用しないでください。この位置は新しいリリースでは使用できません。

7.9.4 Oracle Databaseによるリスナー・ファイル(listener.ora)の使用

サービスは、ローカル・リスナーおよびSCANリスナーに自身のロードを登録して、セッションを調整します。クライアントはSCANリスナーによって、特定のサービスのインスタンスを実行する、負荷が最も低いノードへとリダイレクトされます。リスナーはクライアントをディスパッチャ・プロセスにリダイレクトするか(データベースが共有サーバー用に構成されていた場合)、またはクライアントを専用サーバー・プロセスにリダイレクトします。ローカル・リスナーは、データベース接続要求と、外部プロシージャ、XDB要求などのデータベース接続以外の要求に応答するように構成されています。

リスナー・エージェントはエンドポイントをリスナーで動的に更新します。Oracle Database 11g リリース2のインストールでは、listener.oraファイルにIPCキーおよび次の情報のみが含まれるようになりました。

(ADDRESS = (PROTOCOL=TCP)(HOST=)(PORT=1521))

この情報は、ローカル・ノードのHOSTエンドポイントを暗黙的に参照します。listener.oraファイルは、すべてのノードで同じです。

Oracle RACをインストールする前の、Oracle Grid Infrastructureのインストール中、Oracle Net Configuration AssistantはGridホームにLISTENERと呼ばれるデフォルトのリスナーを作成して起動します。このリスナーは、デフォルトのプロトコル・リスニング・アドレスで構成されます。このリスナーは、インストール中に指定した1つのプロトコル・アドレスに送信された接続要求に応答するように構成されます。

Oracle RACのインストール中に、Oracle RACデータベースはOracle Clusterwareリスナーを使用して、Oracle RACデータベースに関するサービス情報を構成します。Oracle Database 11g リリース2(11.2)では、データベース・サービスによって、サービス名、インスタンス名、負荷情報などがリスナーに自動的に登録されます。この機能はサービス登録と呼ばれ、listener.oraファイルの構成は必要ありません。リスナーを作成すると、Oracle Net Configuration Assistantがリスナーを起動します。

インストール後は、srvctlコマンドまたはNetCAを使用してリスナーを変更できます。listener.oraファイルを手動で編集する必要はありません。

node1という名前のノードのエントリを持つlistener.oraファイルの例を次に示します。

LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_
SCAN1))))               # line added by Agent
LISTENER_NODE1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC) (KEY=LISTENER))))
          # line added by Agent
# listener.ora.mycluster Network Configuration File:
/u01/app/oracle/11.2.0/dbhome_1/network/admin/listener.ora.mycluster
# Generated by Oracle configuration tools.
 
LISTENER_NODE1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
 
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_NODE1=ON              # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN2=ON              # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON              # line added by Agen

7.9.4.1 リスナー登録およびPMON検出

Oracleインスタンスの起動後にリスナーが起動し、リスナーがサービス登録用に表示されると、次のOracle Databaseプロセス・モニター(PMON)検出ルーチンが起動されるまで登録は行われません。デフォルトでは、PMON検出ルーチンは60秒間隔で実行されます。

60秒の遅延を変更するには、SQL文ALTER SYSTEM REGISTERを使用します。この文によって、PMONプロセスはすぐにサービスを登録します。

リスナーの起動直後にこの文を実行するスクリプトを作成することをお薦めします。リスナーが起動され、インスタンスがすでに登録されている場合、またはリスナーが停止している場合にこの文を実行しても、何も処理されません。


関連項目:

リスナーおよびlistener.oraファイルの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

7.10 ネット・サービス名(tnsnames.oraファイル)

tnsnames.oraファイルは、ネット・サービス名を持つ各ノードに作成されます。接続識別子は、接続記述子にマップされる識別子です。接続記述子には、次の情報が含まれます。

  • プロトコル・アドレスを介するリスナーの位置を含む、サービスへのネットワーク・ルート

  • Oracle DatabaseのSERVICE_NAME


    注意:

    指定できるサービス名は1つのみであるため、tnsnames.oraファイルで使用するSERVICE_NAMEパラメータは1つです。データベース初期化ファイルにはSERVICE_NAMESパラメータもあります。SERVICE_NAMESパラメータにはデフォルトで、初期化パラメータファイルのDB_NAMEDB_DOMAINパラメータからなるグローバル・データベース名が設定されています。

Oracle Clusterware 11gリリース2以上では、Database Configuration Agent(DBCA)はLOCAL_LISTENERパラメータを設定しなくなりました。コマンドALTER SYSTEM SET LOCAL_LISTENERを使用してLOCAL_LISTENERパラメータを手動で設定することによって、LOCAL_LISTENERパラメータを明示的に設定しないかぎり、データベースを起動するOracle ClusterwareエージェントがLOCAL_LISTENERパラメータを動的に設定します。Listener_aliasエントリは、tnsnames.oraファイルに必要なくなりました。

たとえば、データベースを作成した後に、2つ目のリスナー(ポート2012をリスニングする)を追加する必要がある場合は、次のコマンドを使用してデータベースを両方のリスナーに起動時に登録します。

> alter system set local_listener='(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.61)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.61)(PORT=2012))))' 
scope=BOTH SID='OCRL1';

関連項目:

『Oracle Database管理者ガイド』

REMOTE_LISTENERパラメータについては、Oracle ClusterwareはEZ接続構文scanname:scanportを使用するため、tnsnames.oraファイルのREMOTE_LISTENERパラメータのエントリは不要になります。

DBCAは、次の項で説明するように、接続用のネット・サービス名を作成します。

ネット・サービス名の詳細は、次の項を参照してください。

7.10.1 データベース接続用のネット・サービス名

データベースのインスタンスに接続するクライアントは、そのデータベースのSCAN名を使用します。このエントリによって、Oracle Enterprise Managerは、Oracle RACデータベースを検出できます。

クラスタに対して3つのSCANアドレスが構成され、サーバーに割り当てられます。選択したアドレスに障害がある場合は、SCAN名への接続要求が次のアドレスにフェイルオーバーされます。したがって、インスタンスに障害が発生しても、クライアントは別のインスタンスを使用して接続を維持できます。

次の例では、クライアントはmyscan.mycluster.example.comを使用して、ターゲット・データベースmycluster.example.comに接続します。

mycluster.example.com =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = host=myscan.mycluster.example.com)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = myApp)
    )
  

このデータベースの簡易接続アドレスは、次のようになります。

myscan.mycluster.example.com/mycluster.example.com

7.10.2 インスタンス接続用のネット・サービス名

データベースの特定のインスタンスに接続するクライアントは、そのインスタンスのSCAN名を使用します。このエントリを使用すると、たとえば、Oracle Enterprise Managerでは、クラスタ内のインスタンスを検出できます。これらのエントリは、インスタンスの起動および停止にも使用されます。

次の例では、Oracle Enterprise Managerはmyscan.mycluster.example.comを使用して、node1上のmycluster1という名前のインスタンスに接続します。

mycluster1.example.com=
 (description= 
  (address=(protocol=tcp)(host=myscan.mycluster.example.com)(port=1521))
  (connect_data= 
    (service_name=mycluster.example.com)
    (instance_name=mycluster1)))

7.10.3 tnsnames.oraファイルの例

この例は、事前構成済データベース構成のインストール時に作成されるサンプルのtnsnames.oraファイルです。

# tnsnames.ora Network Configuration File: /u01/app/oracle/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
 
sales =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myscan.mycluster.example.com)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = myApp)
    )
  

関連項目:

tnsnames.oraファイルの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

7.11 Net Servicesプロファイル(sqlnet.oraファイル)

Oracle Universal Installerによって、データベースのインストール後にOracle Net Configuration Assistantが起動され、Net Servicesプロファイル(sqlnet.oraファイル)が構成されます。

デフォルトでは、sqlnet.oraファイルは次のディレクトリに格納されます。

$ORACLE_HOME/network/admin

このディレクトリには、インストール時に生成されるデフォルトのsqlnet.oraファイルの他に、sampleディレクトリにサンプルsqlnet.oraファイルも格納されています。

インストール時、Oracle Net Configuration Assistantによって、sqlnet.oraファイルに次のエントリが作成されます。ここで、Oracle_baseは、Oracle RACインストール所有者のOracleベース・ディレクトリです。

NAMES.DIRECTORY_PATH=(TNSNAMES, EZCONNECT)
ADR_BASE =Oracle_base

NAMES.DIRECTORY_PATHパラメータは、接続識別子を接続記述子に解決するために使用するネーミング・メソッドの優先順序を指定します。

簡易接続ネーミング・メソッドを使用すると、TCP/IP環境でtnsnames.oraファイル内をサービス名で検索する必要がなくなります。簡易接続では、クライアントはホスト名と、オプションのポートおよびサービス名で構成される単純なTCP/IPアドレスの接続文字列を使用します。このメソッドを使用する場合、ネーミングまたはディレクトリ・システムは必要ありません。


関連項目:

sqlnet.oraファイルの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。