Diese Webseite benutzt Cookies, um Ihnen ein angenehmeres Surfen zu ermöglichenAußerdem werden teilweise auch Cookies von Diensten Dritter gesetzt. Weiterführende Informationen erhalten Sie in der von Datenschutzerklärung eresource.de

Ermittlung von nicht aktiven SPFILE Parametern

Das Verhalten der Oracle Datenbank lässt sich über sogenannte Initialisierungsparameter steuern. Das setzen der Parameter erfolgt mittels ALTER SYSTEM Kommando. Einige dieser Parameter können zur Laufzeit aktiviert werden. Dazu nutzt an das Schlüsselwort SCOPE=MEMORY oder SCOPE=BOTH.

Andere Parameter erfordern einen Neustart der Datenbank und können nur im SPFILE gesetzt werden (SCOPE=SPFILE). Welche Parameter dynamisch zur Laufzeit aktiviert werden können findet man entweder in die Dokumentation, in der View V$PARAMETER (Spalte ISSYS_MODIFIABLE) oder man probiert es einfach aus. Die Fehlermeldung

ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

weist darauf hin, dass der Parameter nur im SPFILE gesetzt werden kann.

Diese Parameter können erst aktiviert werden, wenn die Datenbank neu gestartet wird. Mir stellte sich die Frage, wie man herausbekommen kann, welche Parameter im SPFILE gesetzt sind, aber in der laufenden Instanz nicht aktiv sind. Dazu kann man einfach die View V$SPPARAMETER abfragen. Folgendes SELECT liefert eine Liste von Parametern wo sich die Werte im SPFILE mit den Werten in der laufenden Instanz unterscheiden:

select name, 'IS SPFILE: '||value as value_spfile, 'IS MEMORY: '|| (select value from v$parameter where name = param_diff.name) value_memory from (
select name, value from v$spparameter where isspecified = 'TRUE' and name not in ('control_files', 'nls_language','nls_territory')
minus
select name, value from v$parameter where name not in ('control_files', 'nls_language','nls_territory')) param_diff;

For englisch Version see: How to find pending SPFILE parameters