SPFILEの設定は、Oracle Enterprise ManagerまたはALTER SYSTEM
文のSET
句を使用して変更できます。
注意:
Oracle Enterprise ManagerまたはSQL*Plus以外のツールでSPFILEを変更すると、ファイルが破損してデータベースを起動できなくなる可能性があります。ファイルを修復するにはPFILEを作成し、SPFILEを再生成する必要があります。
SPFILEはバイナリ・ファイルですが、この項の例では、ASCIIテキストとして記述してあります。次のエントリを含むSPFILEでインスタンスを起動するとします。
*.OPEN_CURSORS=500 prod1.OPEN_CURSORS=1000
SPFILEエントリのピリオド(.)の前にある値は、特定のパラメータの値が適用されるインスタンスを識別します。ピリオドの前にアスタリスク(*)がある場合、その値は、SPFILEに後続の個別の値が示されていないすべてのインスタンスに適用されます。
Oracleシステム識別子(SID)がprod1
のインスタンスでは、データベース全体のパラメータが500
に設定されていても、OPEN_CURSORS
パラメータの設定は1000
です。ワイルドカード文字のアスタリスク(*)が使用されたパラメータ・ファイルのエントリは、インスタンス固有のエントリがないインスタンスのみに適用されます。したがって、データベース管理者は、インスタンスprod1
のパラメータ設定を制御できます。この2種類の設定は、パラメータ・ファイル内でいずれの順序でも指定できます。
別のDBAが次の文を実行した場合、SIDがprod1
以外のすべてのインスタンスの設定がOracle Databaseによって更新されます。
ALTER SYSTEM SET OPEN_CURSORS=1500 sid='*' SCOPE=SPFILE;
これで、SPFILEにはOPEN_CURSORS
の次のエントリが含まれます。
*.OPEN_CURSORS=1500 prod1.OPEN_CURSORS=1000
次の文を実行して、prod1
を除くすべてのインスタンスのOPEN_CURSORS
をデフォルト値にリセットします。
ALTER SYSTEM RESET OPEN_CURSORS SCOPE=SPFILE;
これで、SPFILEにはprod1
の次のエントリのみが含まれます。
prod1.OPEN_CURSORS=1000
次の文を実行して、インスタンスprod1
のみのOPEN_CURSORS
パラメータをデフォルト値にリセットします。
ALTER SYSTEM RESET OPEN_CURSORS SCOPE=SPFILE SID='prod1';