用途
CREATE
SPFILE
文を使用すると、従来のプレーンテキストの初期化パラメータ・ファイルまたは現行のシステム全体の設定から、サーバー・パラメータ・ファイルを作成できます。サーバー・パラメータ・ファイルは、サーバーのみに存在し、データベースを起動するためにクライアントからコールされるバイナリ・ファイルです。
サーバー・パラメータ・ファイルを指定すると、個々のパラメータを永続的に変更できます。サーバー・パラメータ・ファイルを使用する場合、新しいパラメータ値を永続化するALTER
SYSTEM
SET
parameter
文を指定できます。新しい値は、現行のインスタンスのみでなく、その後で起動するすべてのインスタンスにおいて適用されます。従来のプレーンテキストのパラメータ・ファイルでは、パラメータ値を永続的に変更できません。
サーバー・パラメータ・ファイルは、サーバー上に存在するため、Oracle Databaseによる自動データベースのチューニングおよびRecovery Manager(RMAN)によるバックアップが可能です。
データベースの起動時にサーバー・パラメータ・ファイルを使用するには、CREATE
SPFILE
文を使用してサーバー・パラメータ・ファイルを作成する必要があります。
Oracle Real Application Clusters環境のすべてのインスタンスは、同じサーバー・パラメータ・ファイルを使用する必要があります。ただし、別途許可されている場合は、個々のインスタンスで、1つのファイル内の同じパラメータの設定値をそれぞれ変えて使用できます。インスタンス固有のパラメータ定義は、SID.parameter = value
で指定します。SID
にはインスタンス識別子を指定します。
サーバー・パラメータ・ファイルを使用したデータベースの起動方法は、作成したサーバー・パラメータ・ファイルをデフォルトで作成したか、または非デフォルトで作成したかによって異なります。サーバー・パラメータ・ファイルの使用方法については、「サーバー・パラメータ・ファイルの作成例:」を参照してください。
CDBにサーバー・パラメータ・ファイルを作成する場合の注意事項: マルチテナント・コンテナ・データベース(CDB)にサーバー・パラメータ・ファイルを作成するときには、現在のコンテナがルートまたはPDBである可能性があります。
現在のコンテナがルートである場合、rootの初期化パラメータに設定した値が、その他のすべてのコンテナのデフォルト値として使用されます。
Oracle Database 12cリリース1(12.1.0.2)以降、現在のコンテナがPDBである場合にCREATE
SPFILE
文を発行できます。この場合、データベースはPDBの初期化パラメータ値をファイルではなく内部的に格納します。このため、spfile_name
を指定できません。PDBの初期化パラメータに設定する値は永続的で、ルートのそれらのパラメータに設定される値をオーバーライドします。
その後ALTER
SYSTEM
文を使用して、rootまたはPDBの初期化パラメータを変更することができます。
関連項目:
|
前提条件
この文を実行するには、SYSBACKUP
、SYSDBA
、SYSDG
またはSYSOPER
システム権限が必要です。この文は、インスタンスの起動前と起動後のいずれかで実行できます。ただし、spfile_name
を使用して、インスタンスがすでに起動済の場合は、この文で同じspfile_name
を指定できません。
CDBにサーバー・パラメータ・ファイルを作成する場合は、現在のコンテナがルートである必要があります。また、共通に付与されているSYSBACKUP
、SYSDBA
、SYSDG
またはSYSOPER
システム権限が必要です。
セマンティクス
spfile_name
この句を指定すると、作成するサーバー・パラメータ・ファイルの名前を指定できます。
spfile_name
を指定した場合、Oracle Databaseではデフォルト以外のサーバー・パラメータ・ファイルが作成されます。
spfile_name
では、従来のファイル名、Oracle ACFSファイル・システム内のファイルまたはOracle Storage Management (Oracle ASM)ファイル名を指定できます。
従来のファイル名またはOracle ACFSファイル・システム内のファイルを指定した場合、spfile_name
にはパス接頭辞を含めることができます。パス接頭辞を指定しない場合は、データベースによってデフォルトの格納場所(プラットフォームによって異なる)のパス接頭辞が追加されます。
Oracle ASMファイル名構文を指定する場合、データベースはOracle ASMディスク・グループにspfileを作成します。
デフォルト以外のサーバー・パラメータ・ファイルを使用する場合は、データベースの起動時にSTARTUP
コマンドでサーバー・パラメータ・ファイルを指定する必要があります。このルールの例外は次のとおりです。
spfile_name
とFROM
PFILE
句の両方を指定し、コマンドの発行元のインスタンスが実行中で、データベースがOracle Clusterwareでリソースとして定義されている場合、この文はデータベース・リソース内のSPFILEを自動的に更新します。この場合、サーバー・パラメータ・ファイルを名前で参照せずにデータベースを起動できます。コマンドの発行元のインスタンスが実行中でない場合は、データベース・リソース内のSPFILEを、srvctl
modify
database
-d
dbname
-spfile
spfile_path
を使用して手動で更新する必要があります。
spfile_name
を省略した場合、プラットフォーム固有のデフォルトのサーバー・パラメータ・ファイル名が使用されます。このようなファイルがサーバーにすでに存在する場合、そのファイルは上書きされます。デフォルトのサーバー・パラメータ・ファイルを使用する場合、ファイル名を参照せずにデータベースを起動できます。
spfile_nameの制限事項 PDBの接続時にサーバー・パラメータ・ファイルを作成する場合、spfile_name
を指定できません。
関連項目:
|
pfile_name
サーバー・パラメータ・ファイルを作成する元になる従来のプレーンテキストの初期化パラメータ・ファイル名を指定します。従来のパラメータ・ファイルは、サーバー上にある必要があります。
pfile_name
を指定して、従来のパラメータ・ファイルがオペレーティング・システムのパラメータ・ファイルのデフォルト・ディレクトリに存在しない場合は、フルパス名を指定する必要があります。
pfile_name
を指定しない場合、オペレーティング・システムのパラメータ・ファイルのデフォルト・ディレクトリからデフォルトのパラメータ・ファイル名が検索され、使用されます。そのディレクトリにファイルが存在しない場合、エラーが戻されます。
注意: Oracle Real Application Clusters環境では、この文でパラメータ・ファイル名を指定してサーバー・パラメータ・ファイルを作成する前に、まず、すべてのインスタンスのパラメータ・ファイルを1つのファイルに結合する必要があります。この手順の実行の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。 |
MEMORY
を指定すると、現行のシステム全体のパラメータ設定を使用してspfileを作成できます。Oracle RAC環境では、作成されたファイルには各インスタンスからのパラメータ設定が含まれます。
例
サーバー・パラメータ・ファイルの作成例: 次の例は、従来のプレーンテキストのパラメータ・ファイルt_init1.ora
からデフォルトのサーバー・パラメータ・ファイルを作成します。
CREATE SPFILE FROM PFILE = '$ORACLE_HOME/work/t_init1.ora';
注意: 通常、オペレーティング・システムのパラメータ・ファイルには、フルパスのファイル名を指定する必要があります。 |
デフォルトのサーバー・パラメータ・ファイルを作成する場合、その後のデータベースの起動は、次のようにPFILE
パラメータなしでSQL*PlusのコマンドSTARTUP
を実行し、サーバー・パラメータ・ファイルを使用します。
STARTUP
次の例は、従来のプレーンテキストのパラメータ・ファイルt_init1.ora
からデフォルト以外のサーバー・パラメータ・ファイルs_params.ora
を作成します。
CREATE SPFILE = 's_params.ora' FROM PFILE = '$ORACLE_HOME/work/t_init1.ora';
デフォルト以外のサーバー・パラメータ・ファイルを作成する場合、次の単一行を含む以前のパラメータ・ファイルを最初に作成し、その後でデータベースを起動します。
spfile = 's_params.ora'
このパラメータ・ファイル名は、ご使用のオペレーティング・システムのネーミング規則に従う必要があります。その後、STARTUP
コマンドで単一行のパラメータ・ファイルを使用します。次の例では、単一行のパラメータ・ファイルの名前がnew_param.ora
であるとした場合のデータベースの起動方法を示します。
STARTUP PFILE=new_param.ora