ヘッダーをスキップ
Oracle® Real Application Clustersインストレーション・ガイド
11gリリース2 (11.2) for Microsoft Windows x64 (64-Bit)
B58877-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 Oracle Real Application Clusters環境のサーバー・パラメータ・ファイルの構成

この章では、Oracle Real Application Clusters(Oracle RAC)環境でのサーバー・パラメータ・ファイル(SPFILE)の配置および構成について説明します。この章の内容は次のとおりです。


関連項目:

Oracle RACデータ・ウェアハウス環境のパラメータおよびパラレル実行に関連するパラメータについては、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

5.1 パラメータ・ファイルおよびOracle RACの概要

Oracle Databaseは、パラメータ・ファイルのパラメータ設定を使用して、様々なデータベース・リソースの制御方法を決定します。パラメータの管理には、SPFILEまたは1つ以上の従来のクライアント側のパラメータ・ファイル(PFILE)の2種類のファイルを使用できます。SPFILEを使用してパラメータを管理することをお薦めします。クライアント側のパラメータ・ファイルを使用した場合、パフォーマンス・チューニングのために行ったデータベースまたはインスタンスのパラメータの変更は、そのインスタンスの停止後には保持されません。

データベースの作成時に、Oracle DatabaseはSPFILEを作成します。SPFILEは、Oracle Automatic Storage Management(Oracle ASM)ディスク・グループ、クラスタ・ファイル・システムまたは共有RAWデバイスのいずれかに格納できます。Oracle ASMインスタンスでもSPFILEが使用されます。

クラスタ・データベース内のすべてのインスタンスは、起動時に同じSPFILEを使用します。SPFILEはバイナリ・ファイルであるため、エディタを使用してSPFILEを直接編集しないでください。かわりに、Oracle Enterprise ManagerまたはSQL文ALTER SYSTEMを使用して、SPFILEパラメータ設定を変更します。


注意:

セルフ・チューニング・パラメータの値を変更しないことをお薦めします。これらの設定を変更すると、パフォーマンスが著しく低下する場合があります。

Oracle Database 11gリリース2以上のデータベースでは、コマンドsrvctl add/modify database -d db_unique_name -p spfile (spfileはSPFILEのフル・パス名、db_unique_nameはご使用のOracle RACデータベースの一意の名前)で指定される値に基づいて、データベース・エージェントにより自動的にSPFILEがメンテナンスされます。initORACLE_SID.oraファイルを作成またはメンテナンスする必要はありません。

データベースのSPFILEのデフォルトの場所は、次のとおりです。

%ORACLE_HOME%\database\SPFILE%ORACLE_SID%.ORA 

すべてのデータベース・インスタンスが同じSPFILEを使用する必要があるため、SPFILEのデフォルトの場所にローカル記憶域を使用することは、Oracle RACデータベースとOracle ASMインスタンスの場合は適していません。「Oracle RACでのサーバー・パラメータ・ファイルの記憶域要件」を参照してください。


関連項目:

パラメータ・ファイルの管理および変更の詳細は、『Oracle Database管理者ガイド』を参照してください。

5.2 Oracle RAC用のサーバー・パラメータ・ファイルの作成

DBCAを使用してOracle RACデータベースを作成すると、DBCAによって、SPFILEは、データ・ファイルをクラスタ・ファイル・システムとOracle ASMディスク・グループのどちらに配置するかに応じて、データ・ファイルに割り当てられたクラスタ・ファイル・システムまたはディスク・グループのいずれかに作成されます。

データベースを手動で作成する場合は、SPFILEをPFILEから作成することをお薦めします。

以前のリリースのOracle Databaseからアップグレードする場合は、「パラメータ・ファイルおよびのOracle RACの概要」の項を参照してください。

5.3 Oracle RACでのサーバー・パラメータ・ファイルの記憶域要件

Oracle RAC環境のすべてのインスタンスで、同じSPFILEを使用する必要があります。SPFILEは、Oracle ASMディスク・グループ、クラスタ・ファイル・システム、ネットワーク・ファイル・システム(NFS)などの共有記憶域に配置します。それ以外の場合は、5MB以上の共有RAWデバイスにSPFILEを配置します(お薦めしません)。

各ノードのローカル記憶域に格納されているパラメータ・ファイルを使用する必要がある場合は、PFILEの使用をお薦めします。PFILEは、次のように場所を指定し、名前を付ける必要があります。

%ORACLE_HOME%\database\init%ORACLE_SID%.ora

このパスは各インスタンス用のものであり、単一の共有されていないPFILEを参照します。PFILEには、次のいずれかのようなエントリが含まれている必要があります(dbnameはOracle RACデータベースの名前)。

汎用命名規則(UNC)の形式を使用してアクセスされる共有記憶域:

SPFILE='\\server\share_name\dbname\spfile.ora'

ネットワーク・ドライブにマップされた共有記憶域:

SPFILE='X:\dbname\spfile.ora'

このSPFILEエントリは、共有記憶域に配置された単一の共有SPFILEから読み取るように各インスタンスに指示します。

5.4 Oracle RACでのパラメータ・ファイルの検索順序

Oracle RACは、次の順序でパラメータ・ファイルを検索します。

  1. %ORACLE_HOME%\database\spfile%ORACLE_SID%.ora

  2. %ORACLE_HOME%\database\spfile.ora

  3. %ORACLE_HOME%\database\init%ORACLE_SID%.ora

Oracle RACデータベースに共有のOracleホームがない場合、パラメータ・ファイルのデフォルトの場所は共有されません。したがって、Oracle RACと併用する場合は、デフォルト以外のSPFILEを作成する必要があります。

5.5 Oracle RAC環境でのSPFILEへの移行

Oracle RACデータベースでSPFILEを使用していない場合に、この項で説明する手順に従って単一のPFILEを作成して編集すると、SPFILEを使用するように切り替えることができます。

  1. initdbname.oraというファイル名(dbnameは、Oracle RACデータベースの名前)で、Oracle RACデータベースの全インスタンスについて単一のPFILEを作成します。このファイルは、Oracle_home\databaseディレクトリに配置する必要があります。

  2. 次の構文を使用して、PFILEファイルからインスタンス固有のすべてのパラメータ定義をコピーします。sid変数はインスタンスのORACLE_SIDです。

    sid.parameter=value 
    

    たとえば、Oracle RACデータベースの名前がsalesの場合、インスタンスのORACLE_SIDの値は、sales1sales2のようになり、各PFILEからコピーしたインスタンス固有のパラメータは、次の形式になります。

    sales1.LICENSE_MAX_USERS=value
    sales2.LICENSE_MAX_USERS=value
    ...
    
  3. 共有IFILEのすべての内容をそのままコピーします。IFILEに定義されているすべてのパラメータはグローバルです。すべてのインスタンスに対して同じ値を持つパラメータも、グローバル・パラメータです。このため、このようなパラメータのエントリは、ORACLE_SID接頭辞なしでparameter=valueという形式で作成します。


    注意:

    PFILEのIFILEエントリは、現在のパラメータ・ファイルに別のパラメータ・ファイルを埋め込む場合に使用します。このような追加のパラメータ・ファイルを、IFILEと呼びます。

  4. Oracle RACデータベースを停止します。

  5. 次の例に示すように、SQL*PlusでCREATE SPFILE文を使用して、結合されたPFILEからSPFILEを作成します。dbnameはOracle RACデータベースの名前で、X:は共有記憶域の場所を表します。

    CREATE SPFILE='X:\database\spfiledbname.ora'
    FROM PFILE='%ORACLE_HOME%\database\initdbname.ora'
    

    共有記憶域にOracle ASMを使用する場合、次のSQL文を使用してSPFILEを作成します。disk_group_nameはOracle ASMディスク・グループの名前です。db_unique_nameは一意のデータベース名です。sidはOracle RACデータベースのORACLE_SIDです、Oracle_homeはOracleホーム・パスです。initdbname.oraは手順1で作成したファイルです。

    CREATE SPFILE='+disk_group_name\db_unique_name\spfiledbname.ora'
    FROM PFILE='%ORACLE_HOME%\database\initdbname.ora'
    

    CREATE SPFILE SQL文は、PFILEとIFILEをマージして作成したinitdbname.oraファイルを読み取り、パラメータの設定を、PFILEからSPFILEに移します。

  6. 各ノードのローカルのinitsid.oraファイルを更新して、新しいSPFILEの場所を指し示すSPFILEエントリを含めます。

    SPFILEがデフォルト以外の場所に配置されているため、最初に1つのエントリ(SPFILE)を含む従来のパラメータ・ファイルを使用してデータベースを起動する必要があります。

  7. STARTUP文を使用してOracle RACデータベースを起動し、インスタンスがローカルPFILEを使用する必要があることを指定します。たとえば、Oracle RACデータベースに環境変数ORACLE_HOMEおよびORACLE_SIDを設定している場合、次のようなSQL*Plus文を使用します。ORACLE_SIDはローカルOracle RACデータベース・インスタンスの名前です。

    STARTUP PFILE=%ORACLE_HOME%\database\init%ORACLE_SID%.ora
    

    このSTARTUPコマンドを使用すると、Oracle DatabaseはPFILE内のSPFILEパラメータの設定を使用して共有記憶域のデフォルト以外の場所でSPFILEを特定します。

  8. 最後に、Oracle RACデータベース構成を更新して、データベースの起動時にローカルPFILEを使用せずに済むようにします。Oracle RACデータベース構成を更新するには、次のコマンドを使用して新しいSPFILEの場所を定義します(db_unique_nameはデータベースの一意の識別子、spfileはSPFILEのフル・パス名(手順5で使用したものと同じ値))。

    %ORACLE_HOME%\bin> srvctl modify database -d db_unique_name -p spfile
    

注意:

Oracle ASM 11gリリース2以上のリリースでは、Oracle ASMインスタンスのSPFILEをOracle ASMに格納できます。Oracle ASMインスタンスのSPFILEを共有ファイル・システムに配置するか、またはOracle ASMインスタンスごとに従来のクライアント側PFILEを使用できます。


関連項目:

Oracle ASMインスタンスの管理方法の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

5.6 Oracle RACでのサーバー・パラメータ・ファイルのエラー

Oracle Databaseは、SPFILEの作成中または起動時のファイルの読取り中に発生するエラーをレポートします。パラメータの更新時にエラーが発生した場合、Oracleはデータベースのアラート・ログ・ファイルにエラーを記録し、ファイルに対するパラメータの残りの更新を行いません。このエラーが発生した場合は、次のいずれかを選択できます。

  • インスタンスを停止し、SPFILEをリカバリし、インスタンスを再起動する。

  • 残りのパラメータの更新は行わずに、インスタンスの実行を続ける。

Oracle Databaseは、ALTER SYSTEM SET文を誤って使用して行ったパラメータ変更のエラーを表示します。Oracle Databaseは、SPFILEに対する読取りまたは書込み時にエラーが発生した場合に、この処理を行います。


関連項目:

SPFILEのバックアップ方法の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。