Oracle Database Oracle ClusterwareおよびOracle Real Application Clustersインストレーション・ガイド 10g リリース2(10.2) for AIX Based Systems B25017-03 |
|
この章では、Oracle Real Application Clusters(RAC)用にインストールされた構成について説明します。この章の内容は次のとおりです。
Oracle Netコンフィギュレーション・アシスタント(NETCA)およびデータベース・コンフィギュレーション・アシスタント(DBCA)は、Oracle Real Application Clustersデータベースの作成およびOracle Enterprise Manager検出に必要な要件を満たすように環境を構成します。
DBCAは、作成するクラスタ・データベースの構成情報を格納するために、Oracle Cluster Registry(OCR)を使用します。OCRは、クラスタ・ファイル・システム環境内で共有されます。クラスタ・ファイル・システムを使用していない場合は、このファイルを共有RAWデバイスにする必要があります。OCRは、Oracle Universal Installer(OUI)によって、Oracle Clusterwareのインストール時に自動的に初期化されます。
Oracleは、oratab
構成ファイルに各RACデータベースのエントリを作成します。Oracle Enterprise Managerは、サービス検出時に、このファイルを使用してRACデータベースの名前を確認します。また、再起動時にそのデータベースを自動的に起動するかどうかも確認します。データベースのエントリの構文は、次のとおりです。
db_unique_name:$ORACLE_HOME:N
db_unique_name
変数は、RACデータベースのデータベース名、$ORACLE_HOME
は、データベースへのディレクトリ・パス、N
は、システムの再起動時にデータベースを起動しないことを示します。たとえば、データベース名db
のエントリは、次のとおりです。
db:/private/system/db:N
この項では、DBCAによって作成されたデータベース・コンポーネントについて説明します。内容は次のとおりです。
シングル・インスタンスおよびクラスタ・データベースの両方の環境では、Oracleデータベースは表領域という小さな論理領域に分割されています。各表領域は、ディスクに格納されている1つ以上のデータ・ファイルに対応しています。表9-1に、RACデータベースで使用する表領域名、およびその表領域に含まれるデータの種類を示します。
Oracle Universal Installerで事前構成済データベース構成オプションを使用する場合、これらの表領域名は変更できません。ただし、詳細なデータベース作成方法を使用する場合は、表領域名を変更できます。
前述のとおり、各表領域には1つ以上のデータ・ファイルがあります。事前定義済データベース構成オプションによって作成されるデータ・ファイル名は、記憶域タイプ(ASM、OFS、RAWデバイスなど)によって異なります。
アドバンスト・データベース構成オプションを使用して、異なるシンボリック・リンク名を指定できます。
データベースは、共有記憶域に格納されている2つの制御ファイルを使用して設定されています。
各インスタンスは、共有記憶域に格納されている2つ以上のREDOログ・ファイルを使用して設定されています。クラスタ・ファイル・システムを使用する場合、これらのファイルは共有ファイル・システムのファイルです。クラスタ・ファイル・システムを使用しない場合、これらのファイルはRAWデバイスです。ASMを使用する場合、これらのファイルは、ASMディスク・グループに格納されます。
事前構成済データベース構成オプションによって作成されるREDOログ・ファイルのファイル名は、記憶域タイプによって異なります。クラスタ・ファイル・システムを使用していない場合は、RAWデバイス名を入力する必要があります。
RAWデバイスを使用している場合に詳細なデータベース作成を行うには、「データベース記憶域」ページでREDOログ・ファイルを指定し、デフォルトのファイル名を正しいRAWデバイス名またはシンボリック・リンク名に置き換えます。
Oracleデータベースは、UNDO表領域に、ロールバック情報やUNDO情報を格納します。UNDO表領域を管理するには、自動UNDO管理を使用することをお薦めします。自動UNDO管理は、手動UNDO管理より簡単に管理できる、自動化されたUNDO表領域管理モードです。
サーバー・パラメータ・ファイル(SPFILE)を使用することをお薦めします。このファイルは、共有ディスクのサーバーにあり、クラスタ・データベースのすべてのインスタンスは、このパラメータ・ファイルにアクセスできます。
RACの主要な2つのメリットは、接続時ロード・バランシング機能とフェイルオーバー機能です。RACでは、シングル・インスタンスのOracleデータベースのロード・バランシング機能(接続がローカル・ディスパッチャ間で分散される)が拡張され、1つのクラスタ・データベース内のすべてのインスタンス間で接続数が平衡化されます。さらに、RACのフェイルオーバー機能は、複数のノード上で複数のリスナーを構成し、同じデータベース・サービスに対するクライアント接続要求を管理します。接続時ロード・バランシング機能とフェイルオーバー機能では、クラスタ・データベース内の冗長なリソースが活用できるため、可用性が向上します。ただし、これらの機能にはインスタンス間登録が必要です。
RACでのインスタンス間登録が発生するのは、インスタンスのプロセス・モニター(PMON)が、ローカル・リスナーおよび他のすべてのリスナーに登録された場合です。この場合、クラスタ・データベース内のすべてのインスタンスが、クラスタ・データベースのインスタンスが実行されているノードで動作しているすべてのリスナーに登録されます。これによって、すべてのリスナーがすべてのインスタンス間で接続を管理でき、ロード・バランシングとフェイルオーバーの両方が可能となります。
インスタンス間登録では、LOCAL_LISTENER
初期化パラメータとREMOTE_LISTENER
初期化パラメータの構成が必要です。LOCAL_LISTENER
パラメータはローカル・リスナーを識別し、REMOTE_LISTENER
パラメータはリスナーのグローバル・リストを識別します。REMOTE_LISTENER
パラメータは動的です。インスタンスの追加や削除などクラスタ・データベースを再構成すると、Oracleは、REMOTE_LISTENER
の設定を動的に変更します。
DBCAがデフォルトで構成するのは、専用サーバーを使用する環境のみです。ただし、DBCAの使用時に共有サーバー・オプションを選択すると、Oracleは共有サーバーを構成します。この場合、Oracleデータベースは専用サーバーと共有サーバーの両方のプロセスを使用します。共有サーバーが構成されると、DISPATCHERS
パラメータは、次の例に示すように指定されます。
DISPATCHERS="(protocol=tcp)"
DISPATCHERS
初期化パラメータのLISTENER
属性が前述の例のように指定されていない場合、PMONプロセスは、すべてのディスパッチャに関する情報を、LOCAL_LISTENER
パラメータとREMOTE_LISTENER
パラメータで指定されているリスナーに登録します。
ただし、LISTENER
属性が指定されている場合、PMONプロセスはディスパッチャ情報を、そのLISTENER
属性に指定されているリスナーに登録します。この場合は、LISTENER
属性の設定によって、指定したディスパッチャのREMOTE_LISTENER
の設定値が、次の例に示すように変更されます。
DISPATCHERS="(protocol=tcp)(listener=listeners_db_name)"
次の項で説明するとおり、listener.ora
ファイルの2種類のリスナーを構成できます。
DBCAの「初期化パラメータ」ページの「接続モード」タブを使用して専用サーバー・モードを構成した場合、リスナーでデフォルト以外のアドレス・ポートを使用すると、DBCAによってLOCAL_LISTENER
パラメータが自動的に構成されます。
REMOTE_LISTENER
初期化パラメータを設定して専用サーバー・モードを構成している場合は、インスタンス固有のLOCAL_LISTENER
初期化パラメータも構成する必要があります。
たとえば、LOCAL_LISTENER
パラメータを構成するには、次のエントリを初期化パラメータ・ファイルに追加します。この例では、listener_
sid
は、tnsnames.ora
ファイルまたはOracle Names Serverを通じてリスナー・アドレスに変換されます。
sid.local_listener=listener_sid
tnsnames.ora
ファイルには、次のエントリが必要です。
listener_sid=(address=(protocol=tcp)(host=node1-vip)(port=1522))
DBCAがノードで複数のリスナーを検出した場合、リスナーのリストが表示されます。データベースに登録するリスナーを1つまたはすべて選択できます。
サービスは、クライアント・アプリケーションのかわりに接続要求を受信するサーバー上でプロセスを実行し、リスナー・ファイルのエントリを使用して、セッションを調整します。リスナーは、データベース・サービスまたはデータベース以外のサービスのプロトコル・アドレスに送信された接続要求に応答するように構成されています。
データベース・サービスまたはデータベース以外のサービスのプロトコル・アドレスは、リスナー構成ファイルlistener.ora
内に構成されます。同じアドレスで構成されたクライアントは、リスナーを通じてサービスに接続できます。
事前構成済データベース構成のインストール中に、Oracle Netコンフィギュレーション・アシスタントはLISTENER
NODENAME
というデフォルトのリスナーを作成して起動します。リスナーは、データベースおよび外部プロシージャ用のデフォルトのプロトコル・リスニング・アドレスで構成されます。「拡張インストール」では、Oracle Netコンフィギュレーション・アシスタントから1つ以上のリスナーの作成を求めるプロンプトが表示されます。このリスナーは、指定した1つのプロトコル・アドレスおよび外部プロシージャのアドレスに送信された接続要求に応答するように構成されます。
両方のインストール・モードでは、RACデータベースおよび外部プロシージャについてのサービス情報が構成されます。Oracle Database 10g リリース2(10.2)では、データベース・サービスによって、サービス名、インスタンス名、負荷情報などがリスナーに自動的に登録されます。
この機能はサービス登録と呼ばれ、listener.ora
ファイルの構成は必要ありません。リスナーを作成すると、Oracle Netコンフィギュレーション・アシスタントがリスナーを起動します。node1
という名前のインスタンスのエントリを持つlistener.ora
ファイルの例を次に示します。
listener_node1= (description= (address=(protocol=ipc)(key=extproc)) (address=(protocol=tcp)(host=node1-vip)(port=1521)(IP=FIRST)) (address=(protocol=tcp)(host=node1-ip)(port=1521)(IP=FIRST))) sid_list_listener_node1= (sid_list= (sid_desc= (sid_name=plsextproc) (oracle_home=/private/system/db) (program=extproc)))
Oracleインスタンスの起動後にリスナーが起動し、リスナーがサービス登録用に表示されると、次のOracleデータベース・プロセス・モニター(PMON)検出ルーチンが起動されるまで登録は行われません。デフォルトでは、PMON検出ルーチンは60秒間隔で実行されます。
60秒の遅延を変更するには、SQL文ALTER SYSTEM REGISTERを使用します。この文によって、PMONプロセスはすぐにサービスを登録します。
リスナーの起動直後にこの文を実行するスクリプトを作成することをお薦めします。リスナーが起動され、インスタンスがすでに登録されている場合、またはリスナーが停止している場合にこの文を実行しても、何も処理されません。
カスタム・インストール時またはアドバンスト・データベース構成時に、Oracle Netコンフィギュレーション・アシスタントを使用してLightweight Directory Access Protocol(LDAP)対応のディレクトリ・サーバーへのアクセスを構成すると、ldap.ora
ファイルが作成されます。ldap.ora
ファイルには、次の情報が含まれます。
tnsnames.ora
ファイルは、ネット・サービス名を持つ各ノードに作成されます。接続識別子は、接続記述子にマップされる識別子です。接続記述子には、次の情報が含まれます。
DBCAは、接続用のネット・サービス名を表9-2に示すように作成します。
ネット・サービス名のタイプ | 説明 |
---|---|
データベース接続 |
データベースのインスタンスに接続するクライアントは、そのデータベースのネット・サービス名のエントリを使用します。このエントリによって、Oracle Enterprise Managerは、RACデータベースを検出できます。
リスナー・アドレスは、データベースのインスタンスを実行する各ノードに構成されます。
次の例では、クライアントは db.us.acme.com=
注意:
8文字( mydatabase.us.acme.com= |
インスタンス接続 |
データベースの特定のインスタンスに接続するクライアントは、そのインスタンスのネット・サービス名のエントリを使用します。このエントリを使用すると、たとえば、Oracle Enterprise Managerでは、クラスタ内のインスタンスを検出できます。これらのエントリは、インスタンスの起動および停止にも使用されます。
次の例では、Oracle Enterprise Managerは db1.us.acme.com= |
リモート・リスナー |
「Real Application Clustersでのサービス登録関連パラメータの構成」で説明したように、
使用中のサーバーが共有か専用かに関係なく、リモート・リスナーのリストは、 REMOTE_LISTENER=listeners_db_unique_name
これによって、インスタンスは、他のノード上のリモート・リスナーに登録でき、
次の例では、 listeners_db.us.acme.com= インスタンスでは、このリストを使用して、情報を登録するリモート・リスナーのアドレスを確認します。 |
デフォルト以外のリスナー |
「ローカル・リスナー」および「複数のリスナー」で説明したように、デフォルト以外のリスナーが構成される場合、 sid.local_listener=listener_sid
次の例では、 listener_db1.us.acme.com= |
サービスのエントリ |
DBCAの「サービス」ページを使用して高可用性サービスを構成すると、次のようなネット・サービス・エントリが作成されます。次の例に示す3つのサービスdb_svc1、db_svc2およびdb_svc3には、それぞれNONE、BASICおよびPRECONNECTというTAFポリシーがあります。 db_svc1.us.acme.com= |
サービスのエントリ(続き) |
サービスに db_svc3_preconnect.us.acme.com = |
外部プロシージャ |
次のエントリは、外部プロシージャに接続するためのエントリです。このエントリによって、Oracleデータベースは外部プロシージャに接続できます。 extproc_connection_data.us.acme.com= |
これは、事前構成済データベース構成のインストール時に作成されたサンプルのtnsnames.ora
ファイルです。
db.us.acme.com= (description= (load_balance=on) (address=(protocol=tcp)(host=node1-vip)(port=1521)) (address=(protocol=tcp)(host=node2-vip)(port=1521)) (connect_data= (service_name=db.us.acme.com))) db1.us.acme.com= (description= (address=(protocol=tcp)(host=node1-vip)(port=1521)) (connect_data= (service_name=db.us.acme.com) (instance_name=db1))) db2.us.acme.com= (description= (address=(protocol=tcp)(host=node2-vip)(port=1521)) (connect_data= (service_name=db.us.acme.com) (instance_name=db2))) listeners_db.us.acme.com= (address_list= (address=(protocol=tcp)(host=node1-vip)(port=1521)) (address=(protocol=tcp)(host=node2-vip)(port=1521))) extproc_connection_data.us.acme.com= (description= (address_list= (address=(protocol=ipc)(key=extproc))) (connect_data= (sid=plsextproc) (presentation=RO)))
Oracle Universal Installerによって、データベースのインストール後にOracle Netコンフィギュレーション・アシスタントが起動され、Net Servicesプロファイル(sqlnet.ora
ファイル)が構成されます。
デフォルトでは、sqlnet.ora
ファイルは次のディレクトリに格納されます。
$ORACLE_HOME/network/admin
このディレクトリには、インストール時に生成されるデフォルトのsqlnet.ora
ファイルの他に、sample
ディレクトリにサンプルsqlnet.oraファイルも格納されています。
インストール時に、Oracle Netコンフィギュレーション・アシスタントによって次のエントリがsqlnet.ora
ファイルに作成されます。
NAMES.DIRECTORY_PATH=(TNSNAMES, EZCONNECT)
NAMES.DIRECTORY_PATHパラメータは、接続識別子を接続記述子に解決するために使用するネーミング・メソッドの優先順序を指定します。
ネーミング・メソッドの順序は、ディレクトリ・ネーミング(カスタム・インストールまたはアドバンスト・データベース構成オプションの場合のみ)、tnsnames.ora
ファイル、簡易接続、ホスト・ネーミングになります。
簡易接続ネーミング・メソッドを使用すると、TCP/IP環境でtnsnames.oraファイル内をサービス名で検索する必要がなくなります。簡易接続では、クライアントはホスト名と、オプションのポートおよびサービス名で構成される単純なTCP/IPアドレスの接続文字列を使用します。このメソッドを使用する場合、ネーミングまたはディレクトリ・システムは必要ありません。
|
Copyright © 2006 Oracle Corporation. All Rights Reserved. |
|