Oracle® Real Application Clustersインストレーション・ガイド 11gリリース2 (11.2) for Microsoft Windows x64 (64-Bit) B58877-06 |
|
前 |
次 |
この章では、Oracle Real Application Clusters(Oracle RAC)環境でのサーバー・パラメータ・ファイル(SPFILE)の配置および構成について説明します。この章の内容は次のとおりです。
関連項目: Oracle RACデータ・ウェアハウス環境のパラメータおよびパラレル実行に関連するパラメータについては、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。 |
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がメンテナンスされます。init
ORACLE_SID
.ora
ファイルを作成またはメンテナンスする必要はありません。
データベースのSPFILEのデフォルトの場所は、次のとおりです。
%ORACLE_HOME%\database\SPFILE%ORACLE_SID%.ORA
すべてのデータベース・インスタンスが同じSPFILEを使用する必要があるため、SPFILEのデフォルトの場所にローカル記憶域を使用することは、Oracle RACデータベースとOracle ASMインスタンスの場合は適していません。「Oracle RACでのサーバー・パラメータ・ファイルの記憶域要件」を参照してください。
関連項目: パラメータ・ファイルの管理および変更の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
DBCAを使用してOracle RACデータベースを作成すると、DBCAによって、SPFILEは、データ・ファイルをクラスタ・ファイル・システムとOracle ASMディスク・グループのどちらに配置するかに応じて、データ・ファイルに割り当てられたクラスタ・ファイル・システムまたはディスク・グループのいずれかに作成されます。
データベースを手動で作成する場合は、SPFILEをPFILEから作成することをお薦めします。
以前のリリースのOracle Databaseからアップグレードする場合は、「パラメータ・ファイルおよびの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から読み取るように各インスタンスに指示します。
Oracle RACは、次の順序でパラメータ・ファイルを検索します。
%ORACLE_HOME%\database\spfile%ORACLE_SID%.ora
%ORACLE_HOME%\database\spfile.ora
%ORACLE_HOME%\database\init%ORACLE_SID%.ora
Oracle RACデータベースに共有のOracleホームがない場合、パラメータ・ファイルのデフォルトの場所は共有されません。したがって、Oracle RACと併用する場合は、デフォルト以外のSPFILEを作成する必要があります。
Oracle RACデータベースでSPFILEを使用していない場合に、この項で説明する手順に従って単一のPFILEを作成して編集すると、SPFILEを使用するように切り替えることができます。
init
dbname
.ora
というファイル名(dbname
は、Oracle RACデータベースの名前)で、Oracle RACデータベースの全インスタンスについて単一のPFILEを作成します。このファイルは、Oracle_home
\database
ディレクトリに配置する必要があります。
次の構文を使用して、PFILEファイルからインスタンス固有のすべてのパラメータ定義をコピーします。sid
変数はインスタンスのORACLE_SID
です。
sid.parameter=value
たとえば、Oracle RACデータベースの名前がsales
の場合、インスタンスのORACLE_SID
の値は、sales1
、sales2
のようになり、各PFILEからコピーしたインスタンス固有のパラメータは、次の形式になります。
sales1.LICENSE_MAX_USERS=value sales2.LICENSE_MAX_USERS=value ...
共有IFILEのすべての内容をそのままコピーします。IFILEに定義されているすべてのパラメータはグローバルです。すべてのインスタンスに対して同じ値を持つパラメータも、グローバル・パラメータです。このため、このようなパラメータのエントリは、ORACLE_SID接頭辞なしでparameter=value
という形式で作成します。
注意: PFILEのIFILE エントリは、現在のパラメータ・ファイルに別のパラメータ・ファイルを埋め込む場合に使用します。このような追加のパラメータ・ファイルを、IFILEと呼びます。 |
Oracle RACデータベースを停止します。
次の例に示すように、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ホーム・パスです。init
dbname
.ora
は手順1で作成したファイルです。
CREATE SPFILE='+disk_group_name\db_unique_name\spfiledbname.ora' FROM PFILE='%ORACLE_HOME%\database\initdbname.ora'
CREATE SPFILE
SQL文は、PFILEとIFILEをマージして作成したinit
dbname
.ora
ファイルを読み取り、パラメータの設定を、PFILEからSPFILEに移します。
各ノードのローカルのinit
sid
.ora
ファイルを更新して、新しいSPFILEの場所を指し示すSPFILE
エントリを含めます。
SPFILEがデフォルト以外の場所に配置されているため、最初に1つのエントリ(SPFILE
)を含む従来のパラメータ・ファイルを使用してデータベースを起動する必要があります。
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を特定します。
最後に、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管理者ガイド』を参照してください。 |
Oracle Databaseは、SPFILEの作成中または起動時のファイルの読取り中に発生するエラーをレポートします。パラメータの更新時にエラーが発生した場合、Oracleはデータベースのアラート・ログ・ファイルにエラーを記録し、ファイルに対するパラメータの残りの更新を行いません。このエラーが発生した場合は、次のいずれかを選択できます。
インスタンスを停止し、SPFILEをリカバリし、インスタンスを再起動する。
残りのパラメータの更新は行わずに、インスタンスの実行を続ける。
Oracle Databaseは、ALTER SYSTEM SET
文を誤って使用して行ったパラメータ変更のエラーを表示します。Oracle Databaseは、SPFILEに対する読取りまたは書込み時にエラーが発生した場合に、この処理を行います。
関連項目: SPFILEのバックアップ方法の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。 |