spfile - Änderungen bei fehlerhaftem Parameter vornehmen

... da ist es nun doch mal passiert:

Die Oracle-Datenbank (11.2) startet nicht mehr!
Fehlermeldung: ORA-00119: invalid specification for system parameter ...

D.h. offensichtlich ist ein init-Parameter falsch/fehlerhaft. Früher kein Problem:
pfile finden, ändern - fertig!

Inzwischen (seit Oracle 10? oder schon Version 9???) wird nicht mehr mit einem Textfile, sondern mit einem Binärfile (spfile.ora) gearbeitet - die Folge ist: Änderungen können erstmal nur noch z.B. per SQLPlus vorgenommen werden:

ALTER SYSTEM SET =80 SCOPE=SPFILE; (oder SCOPE= MEMORY, oder SCOPE=BOTH)

Das klappt aber nur, wenn die Datenbank verfügbar ist. Wenn bereits das Starten scheitert ...

SQL> startup nomount
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ABC'


... hilft nur noch

1) aus dem spfile ein pfile zu erstellen.
  create pfile='d:\app\fs1_pfile.ora' from spfile;
2) pfile manuell anzupassen
3) die DB mit dem pfile starten
  startup pfile='d:\app\fs1_pfile.ora';
4) aus dem pfile wieder ein spfile zu erstellen
  create spfile from pfile='d:\app\fs1_pfile.ora';
5) prüfen, ob das neue spfile funktioniert
SQL> shutdown
Datenbank geschlossen.
Datenbank dismounted.
ORACLE-Instanz heruntergefahren.
SQL> startup
ORACLE-Instanz hochgefahren.

Total System Global Area  778387456 bytes
Fixed Size                  1384856 bytes
Variable Size             486542952 bytes
Database Buffers          285212672 bytes
Redo Buffers                5246976 bytes
Datenbank mounted.
Datenbank ge÷ffnet.


Dann kann's ganz normal weitergehen...

Bleibt die Frage, wie der fehlerhafte Parameter in das spfile hineinkam?






Kommentare

Beliebte Posts aus diesem Blog

trunc(sysdate) - nette Spiele mit dem Datum

Zufallszahlen und -text generieren - DBMS_RANDOM

Laufzeiten umrechnen, Sekundenangaben lesbar darstellen