2008-12-08 12 views
10

So habe ich eine Oracle-Instanz, und ich weiß, dass es auf diesem System ausgeführt wird, habe ich dem Oracle-Benutzer, und ich versuche, eine Verbindung mit "/ als sysdba". Wenn ich mich jedoch verbinde, heißt es, dass die Instanz inaktiv ist. Ich weiß, dass die Datenbank geöffnet und geöffnet ist, weil meine Anwendung damit kommuniziert. Meine Pfade (ORACLE_HOME usw.) könnten falsch sein: Jede Idee, welche falsche Einstellung dazu führen könnte?Sie versuchen, sich intern mit Oracle zu verbinden und eine leere Instanz zu erhalten?

% sqlplus "/ as sysdba" 

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Dec 8 09:23:22 2008 

Copyright (c) 1982, 2006, Oracle. All Rights Reserved. 

Connected to an idle instance. 

09:23:22 SQL> Disconnected 

% ps -ef | grep smon 
oracle 6961  1 0 Nov 05 ?   1:24 ora_smon_ORA003 
% 

Antwort

5

Das bedeutet, dass die Datenbankinstanz weder bereitgestellt noch geöffnet ist. Führen Sie den Start Befehl aus und sehen Sie, ob irgendwelche Fehler angezeigt werden.

2

Die Datenbank kann nicht inaktiv sein und gleichzeitig von Ihrer Anwendung verwendet werden. Es scheint, dass die sqlplus-Sitzung mit einer anderen Instanz als die Anwendung verbunden sein muss. Versuchen Sie, die Verbindungskennung in der Connect-Anweisung die Angabe wie folgt:

sqlplus "/@ConnectIdentifier as sysdba" 
12

stellen Sie sicher, Sie haben Ihre ORACLE_HOME Setup genau das gleiche wie wenn der Server gestartet wurde, habe ich dieses Problem mit Oracle 9.2.0.5.0 gesehen auf solaris,

ORACLE_HOME=/opt/oracle 
ORACLE_HOME=/opt/oracle/ 

ist zwei verschiedene Dinge, und wird zu Problemen bei der lokalen Verbindung führen.

+1

was ist die richtige zwischen den beiden – Chaitanya

1

Fall ist wichtig auf * nix-Systemen, also stellen Sie sicher, dass Ihre ORACLE_SID genau mit dem Instanznamen übereinstimmt. In diesem Fall ist ORA003 NICHT dasselbe wie ora003.

1

versuchen, von der Maschinenkonsole

export ORACLE_SID=your sid here 
sqlplus /nolog 
startup 

Ich weiß, auf Fenster ein Befehl ist, einen Dienst zu starten, eine Instanz für Sie, oradmin -neue -sid% ORACLE_SID% -intpwd% oracle_pwd% zu schaffen -startmode A

2

danke. Es war tatsächlich dieser zusätzliche Schrägstrich am Ende der ORACLE_HOME-Variable.

In meinem Fall, siehe die Wardness - Ich loggte mich in den Server und versuchte Verbindung, aber habe den obigen Fehler. Ich wusste, dass diese Instanz offen war und DB geöffnet wurde. Also habe ich das ORACLE_HOME überprüft, weil mir diese Möglichkeit bekannt war. Was ich sah, war, dass ORACLE_HOME in Ordnung war (d. H. Kein zusätzlicher Front-Schrägstrich am Ende). Nachdem ich viel versucht habe, als ich diesen Thread gelesen habe, ist es mir aufgefallen. Die DB wurde mit ORACLE_HOME gestartet, das mit diesem zusätzlichen Front-Schrägstrich gesetzt wurde. So wurde DB begann mit ORACLE_HOME =/u01/app/oracle/product/10.2.0.3/ und die ganze Zeit, ich habe versucht, mit ORACLE_HOME =/u01/app/oracle/product/10.2.0.3 :(

nochmals vielen Dank.

1

Ok hier ist, was ich über herausgefunden haben Beispiel im Leerlauf es mit dem spfile zu tun hat .. manchmal Ihre init.ora woanders befindet sich

Versuch für init.ora, wenn Sie durchsuchen fand den Standort

versuchen Sie diesen Code startup spfile="C:\location";

wird es sagen, dass Instanz gestartet.

gut, dass man für mich gearbeitet

1

ich hatte das gleiche Problem. Durch Entfernen der zusätzlichen "/" am Ende von ORACLE_HOME löste es.

Danke für den Austausch - es wäre wirklich schwer zu diagnostizieren und dieses Problem in Abwesenheit dieses Blogs zu lösen.

0

Das Problem kann sein, wenn die Sitzung aufgrund extrem ausgelasteter Datenbank nicht geöffnet werden konnte. in diesem Fall erfolgt die Verbindung jeder Benutzer verwenden auch ein

sqlplus Dummy/Attrappe

würde Ihnen eigentliche Problem dummy aber nicht untätig Instanz.

0

Ich versuchte sqlplus Dummy/Dummy und es gab mir das eigentliche Problem (nicht genügend Arbeitsspeicher). Ich stellte Speicher zur Verfügung und konnte mich ohne Probleme einloggen.

0

Ich hatte dasselbe Problem, während falsche SID angeben (xe statt XE). Wenn Sie die Datenbank mit rpm installieren, überprüfen Sie alle Umgebung unter /etc/inid.d/oracle

0

Überprüfen Sie das Blog unten. Im Wesentlichen ist das Problem, was eine der anderen Antworten behauptet./root/path_to_home ist korrekt,/root/path_to_home/wird aus irgendeinem Grund falsch geparst.

http://blog.dbvisit.com/whats-going-on-connected-to-an-idle-instance-but-database-is-running/

+0

Links zu externen Ressourcen werden ermutigt, aber fügen Sie bitte Kontext rund um den Link, damit Ihre Kollegen Nutzer eine Vorstellung haben, was es ist und warum es da ist. Zitiere immer den relevantesten Teil eines wichtigen Links, falls die Zielseite nicht erreichbar ist oder permanent offline geschaltet wird. – pableiros