it-swarm.com.de

ORA-01034: Oracle nicht verfügbar. ORA-27101: Der Shared Memory-Bereich ist nicht vorhanden

Die obige Fehlermeldung wird angezeigt, wenn Sie versuchen, von einem Client aus mit dem Dienstnamen orcl eine Verbindung zu einer Serverdatenbank herzustellen. Es wird verbunden, wenn ich den anderen Dienstnamen verwende, d. H. dms

Unten ist mein listener.ora

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = dms)
      (SERVICE_NAME = dms)
      (Oracle_HOME = /home/Oracle/app/Oracle/product/11.2.0/dbhome_1)
#      (PROGRAM = extproc)
    )
  (SID_DESC =
     (SID_NAME = orcl)
     (SERVICE_NAME = dms)
    # (GLOBAL_DBANME = orcl)
      (Oracle_HOME = /home/Oracle/app/Oracle/product/11.2.0/dbhome_1)
   #  (PROGRAM = extproc)
  )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(Host = 192.168.1.53)(PORT = 1521))

    )
  )

ADR_BASE_LISTENER = /home/Oracle/app/Oracle
and tnsnames.ora
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(Host = 192.168.1.53)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
     #(SERVICE_NAME = orcl.localdomain)
      (Oracle_SID = dms)
      (SERVICE_NAME = orcl)
    )
  )

DMS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(Host = 192.168.1.53)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = dms)
      (Oracle_SID = dms)
    )
  )

Bitte sag mir was zu tun ist?

30
maverick

Öffnen Sie die Eingabeaufforderung und führen Sie die folgenden Befehle aus:

set Oracle_sid=DATABASE NAME
sqlplus /nolog
conn sys/sys as sysdba
shutdown abort
startup
55
Siva Harsha

Irgendwann. Die Datenbank wird nicht korrekt gemountet, daher müssen Sie sie manuell einbinden ... Dazu müssen Sie sie herunterfahren und starten und dann einbinden 

melden Sie sich dann als Oracle-Benutzer an

'sqlplus / as sysdba;'
'shutdown immediate;'
'startup nomount;'
'alter database mount;'
'alter database open;'
17

Stellen Sie sicher, dass Ihr Oracle_HOME und Ihre Oracle_SID korrekt sind. Um die aktuellen Werte in Windows anzuzeigen, geben Sie den Befehl Eingabeaufforderung ein

echo %Oracle_HOME%

Dann

echo %Oracle_SID%

Wenn die Werte nicht Ihre aktuelle Oracle-Heimat- und SID sind, müssen Sie sie korrigieren. Dies kann in Windows-Umgebungsvariablen erfolgen. 

Check out diese Seite für weitere Informationen

5
John Adams
SQL> sqlplus "/ as sysdba"
SQL>startup
Oracle instance started
------
Database mounted.
Database opened.
Quit
[[email protected] ~]$ lsnrctl start
2
Ajay Takur

Beim Herstellen der Verbindung in SQLDeveloper war ich mit demselben Problem konfrontiert. "ORA-01034: Oracle nicht verfügbar. ORA-27101: Shared Memory-Bereich ist nicht vorhanden."

Lösung: 

1. Aktualisieren Sie die Datei listene.ora, um die SID einzuschließen.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc) (Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server) (PROGRAM = extproc) ) (SID_DESC = (SID_NAME = CLRExtProc) (Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server) (PROGRAM = extproc) ) (SID_DESC = ((GLOBAL_DBNAME = XE.DB) ((Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server) ((SID_NAME = XE) ) )

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADRESSE = (PROTOKOLL = IPC) (KEY = EXTPROC1)) (ADDRESS = (PROTOKOLL = TCP) (Host = USMUMTBALAKDAS2.us.deloitte.com) (PORT = 1521)) ) )

DEFAULT_SERVICE_LISTENER = (XE)

Für das Oraclexe-Verzeichnis ist möglicherweise die Berechtigung " ReadOnly " festgelegt. Ändern Sie die Berechtigung Verzeichnis/Unterverzeichnis zum Lesen/Schreiben, und starten Sie die Listener-Dienste erneut Das Problem ist gelöst.

Viel Spaß beim Codieren! Prost!!

2
Tanuj Wagh

Hatte das gleiche Problem unter Windows XP. Behoben . Der Fehler wurde verursacht, weil das Systemprotokoll voll war. Systemsteuerung -> Verwaltung -> Ereignisanzeige Klicken Sie mit der rechten Maustaste auf das Anwendungsprotokoll, löschen Sie alle Ereignisse, und speichern Sie das Protokoll optional Gleicher Vorgang für das Systemprotokoll .

Ich habe das gleiche shared memory realm does not exist-Symptom (unter Windows) getroffen, jedoch aus einem anderen Grund. Ich hatte gerade Oracle (XE) installiert und nach einiger Fehlerbehebung festgestellt, dass meine Installation aufgrund des Vorhandenseins einer Oracle_HOME-Umgebungseigenschaft zum Zeitpunkt der Installation beschädigt war.

Wenn dies TLDR ist, fahren Sie mit "So lösen" fort!

Mein erstes Symptom war:

Message 850 not found; No message file for product=NETWORK, facility=NL

Anscheinend liest die Windows-Installation Oracle_HOME aus der Registry und benötigt (und sollte in meinem Fall sicherlich nicht ...) eine Umgebungseigenschaft haben.

Entfernen Sie es wie folgt:

  1. Bearbeiten Sie die Systemumgebungseinstellungen (Windows-Taste, und starten Sie Geben Sie 'env' ein. Sie sollten diese Option sehen. 
  2. Löschen Sie alle Benutzer- und Systemumgebungsvariablen namens Oracle_HOME, wenn Vorhanden ist. (Notieren Sie sich ihre Werte, hauptsächlich aus Interesse, können aber von .__ sein, wenn Sie sie aus irgendeinem Grund zurücklegen möchten!)
  3. Starten Sie Ihren Rechner neu. Machen Sie sich nicht nur mit einem Logout herum - starten Sie Ihre Maschine neu. Die Windows-Oracle-Installation verwendet standardmäßig Windows-Dienste Ihre Installation ist zurzeit sehr schlecht. Sie muss neu gestartet werden.

Nach dem Neustart konnte ich dann andere Fehlermeldungen als "Keine Nachrichtendatei ..." erhalten und konnte nachsehen, was das Problem war . Das Setzen der Oracle_SID auf XE und das Verbinden von @XE brachte mich zu den Fehlern Auf dieser Seite nämlich die folgenden Symptome:

ORA-01034: Oracle not available
ORA-27101: shared memory realm does not exist

Ein anderes Symptom war: Beim Starten der Seite 'Erste Schritte' konnte keine Verbindung hergestellt werden, und es wurde ein Fehler gefunden (wenn ich mich recht erinnere), obwohl der Windows-Listener und die XE-Dienste gestartet wurden. Wie bereits in einer anderen Antwort erwähnt, kann dies daran liegen, dass die Windows-Dienste nicht gestartet wurden. In meinem Fall wurden diese Dienste gestartet, sodass etwas anderes falsch konfiguriert wurde.

Zu diesem Zeitpunkt kam ich zu dem Schluss, dass meine Installation aufgrund der schlechten Umgebungseigenschaft Oracle_HOME so falsch lief, dass ich sie neu installieren sollte. (Vorherige Neuinstallationen hatten nicht geholfen, aber das war alles, bevor ich die Oracle_HOME-Systemumgebungs-Eigenschaft bemerkte (wahrscheinlich vor einem Jahr von mir eingerichtet!).

Also zu lösen:

  1. Schließen Sie alle Anwendungen, die das Oraclexe-Installationsverzeichnis anzeigen (Aufforderungen für Editoren/Explorer/cmd).
  2. Eine kurze Reise zum Hinzufügen/Entfernen von Programmen und Deinstallieren von OracleXe
  3. Vergewissern Sie sich, dass an keiner Stelle eine Oracle_HOME-Umgebungseigenschaft festgelegt ist. Denken Sie daran - Windows verwendet Registrierungseinträge, um diese zu erhalten.
  4. Neustart (kein Risiko eingehen - wir sind langfristig dabei!)
  5. Haben Sie sichergestellt, dass es keine Oracle_HOME-Eigenschaft gibt?
  6. Führen Sie das Oracle-Installationsprogramm erneut aus (ggf. als lokales Administratorkonto).
  7. Sie sollten sich über eine funktionierende Installation freuen können. Ich habe es zumindest getan!
1
roj

ORA-01034 und ORA-27101 zeigen normalerweise an, dass die Datenbankinstanz, mit der Sie eine Verbindung herstellen möchten, heruntergefahren ist und dass Sie nicht als Benutzer verbunden sind, der über die Berechtigung zum Starten verfügt. Melden Sie sich am Server 192.168.1.53 an und starten Sie die orcl-Instanz, oder bitten Sie Ihren DBA, dies für Sie zu tun.

1
Luke Woodward

Der gleiche Fehler ist mir aufgefallen, obwohl Oracle_HOME und Oracle_SID korrekt eingerichtet waren. 

Das Problem war in Oracle_HOME, das nicht mit einem Schrägstrich endet. Als ich den End-Schrägstrich entfernte, funktionierte er einwandfrei.

## WRONG !!!
export Oracle_HOME=/usr/local/Oracle/11gR2/

## CORRECT
export Oracle_HOME=/usr/local/Oracle/11gR2

Auch wenn es so aussieht, als sei alles perfekt konfiguriert, überprüfen Sie Ihre Variablen darauf.

1
sporak

In cmd ausführen:

sqlplus / as sysdba;

Dann:

SQL> create pfile='c:/init.ora' from spfile;

Entfernen Sie die sga_target-Zeile in der init.ora-Datei und dann:

SQL> create spfile from pfile='c:/init.ora';
SQL> startup;
0
andreikashin

Ihre listener.ora ist falsch konfiguriert. Es gibt keinen ORCL-Service.

0
steve

Ich hoffe, Sie haben Ihr Problem gelöst. Wenn das Problem weiterhin besteht, überprüfen Sie erneut, ob Sie dieses Oracle unter einem Domänenkonto installieren. Ich habe einen Thread gefunden, der besagt, dass Oracle XE bei der Installation unter Domänenkonto denselben Fehler gibt. Bitte verwenden Sie stattdessen ein lokales Konto.

Quelle: 

https://community.Oracle.com/thread/2141735?start=0&tstart=0

0
suhao399