Wir haben eine Oracle 10g Enterprise Edition-Installation (10.2.0.1.0) auf einer virtuellen Windows Server 2003-Maschine. Es wurde ursprünglich mit Virtual Server 2005 R2 SP1 erstellt, wurde aber jetzt auf Windows Server 2008 Hyper-V migriert.
Die Dienste werden beim Systemstart gestartet, die Instanz wird jedoch nicht gestartet. Dieses Problem trat tatsächlich auf dem virtuellen Server nach einer Migration von einem Server auf einen anderen auf, aber ich konnte es dann beheben mit:
oradim -edit -sid ORCL -startmode auto
Dies hat jetzt jedoch keine Auswirkung.
oradim.log (in% OracleHome% \ database \ oradim.log) sagt:
Thu Jun 10 14:14:48 2010
C:\oracle\product\10.2.0\db_3\bin\oradim.exe -startup -sid orcl -usrpwd * -log oradim.log -nocheck 0
Thu Jun 10 14:14:48 2010
ORA-12560: TNS:protocol adapter error
sqlnet.log im selben Ordner hat:
Fatal NI connect error 12560, connecting to:
(DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oracleorcl)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=C:\oracle\product\10.2.0\db_3\bin\oradim.exe)(HOST=ORACLE-VM)(USER=SYSTEM))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 10.2.0.1.0 - Production
Time: 10-JUN-2010 14:14:48
Tracing not turned on.
Tns error struct:
ns main err code: 12560
TNS-12560: TNS:protocol adapter error
ns secondary err code: 0
nt main err code: 530
TNS-00530: Protocol adapter error
nt secondary err code: 2
nt OS err code: 0
Der ORA_ORCL_AUTOSTART
Registrierungswert ist auf festgelegt TRUE
, daher sollte er automatisch gestartet werden - und Sie können sehen, dass dies versucht wird. Das Problem tritt auch beim Stoppen und Neustarten des OracleServiceORCL- Dienstes auf.
Ich habe die SQL * Net-Ablaufverfolgung aktiviert, die Folgendes anzeigt:
[10-JUN-2010 15:09:33.919] snlpcss: entry
[10-JUN-2010 15:09:34.419] snlpcss: Unable to spawn Oracle oracle (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) orcl, error 2.
[10-JUN-2010 15:09:34.419] snlpcall: exit
Ich habe vermutet, dass Fehler 2 Windows-Fehler 2 ist (Datei nicht gefunden). Ich habe versucht, den Dienst neu zu starten, während Process Monitor oradim.exe überwacht, aber dies scheint die Dinge gerade so zu verzögern, dass es immer funktioniert.
Im Moment habe ich einen schrecklichen Hack, bei dem ich eine geplante Aufgabe erstellt habe, die ausgeführt werden soll, oradim -startup -sid ORCL
wenn sich das Administratorkonto anmeldet, und die VM auf automatische Anmeldung eingestellt hat. Ich würde immer noch gerne herausfinden, warum es nicht funktioniert.
(HOST=XXXX)
Teil einer Listener-Konfiguration aufgeführt.Antworten:
Für einen Test kann es sich lohnen, dem Dienst eine Abhängigkeit hinzuzufügen. Ich frage mich, ob es versucht, zu früh zu beginnen. Ich habe in der Vergangenheit ein ähnliches Problem gesehen und kann mich nicht erinnern, was wir getan haben, um es zu beheben. Jetzt verwenden wir den Oracle-Agenten / die Grid-Steuerung, um die Dienste aufzurufen (z. B.: Agent => Autostart, Oracle => Manuell, Usw).
quelle
run
tnsping .
Gehe in das Verzeichnis mit den Parameterdateien,
sqlnet.ora
bearbeite die Dateien
tnsnames.ora
undlistener.ora
korrigiere
(HOST = your_db_host_name)
den vomhostname
Befehl zurückgegebenen Wert.star
services.msc
restart oracle listener service named
OracleOra....Listener
& instance service namedOracleService....
quelle