ORA-01034: ORACLE niet beschikbaar ORA-27101: gedeelde geheugenrealm bestaat niet

Ik krijg de bovenstaande foutmelding wanneer ik probeer verbinding te maken met een serverdatabase vanaf een client met de servicenaam orcl. Er wordt verbinding gemaakt wanneer ik de andere servicenaam gebruik, bijv. dms

Hieronder staat mijn 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)
    )
  )

Vertel me wat ik moet doen?


Antwoord 1, autoriteit 100%

Open de opdrachtprompt en voer de onderstaande opdrachten uit:

set oracle_sid=DATABASE NAME
sqlplus /nolog
conn sys/sys as sysdba
shutdown abort
startup

Antwoord 2, autoriteit 35%

Soms wordt de database niet correct gemount, dus moeten we deze handmatig aankoppelen. Sluit het daarvoor af en start het vervolgens op. Log in als oracle-gebruiker en voer de volgende opdrachten uit:

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

Antwoord 3, autoriteit 6%

Zorg ervoor dat uw ORACLE_HOME en ORACLE_SID correct zijn
Om de huidige waarden in Windows te zien, typt u bij de opdrachtprompt

echo %ORACLE_HOME%

Dan

echo %ORACLE_SID%

Als de waarden niet uw huidige orakel-huis en SID zijn, moet u deze corrigeren. Dit kan in de omgevingsvariabelen van Windows.

Bekijk deze pagina voor meer informatie


Antwoord 4, autoriteit 6%

SQL> sqlplus "/ as sysdba"
SQL> startup
      Oracle instance started
      ------
      Database mounted.
      Database opened.
SQL> Quit
[oracle@hcis ~]$ lsnrctl start

Antwoord 5, autoriteit 5%

ORA-01034 en ORA-27101 geven normaal gesproken aan dat de database-instantie waarmee u verbinding probeert te maken, is afgesloten en dat u niet bent verbonden als gebruiker die toestemming heeft om deze op te starten. Log in op de server 192.168.1.53 en start de orclinstantie op, of vraag uw DBA om dit voor u te doen.


Antwoord 6, autoriteit 3%

Heb hetzelfde probleem gehad in Windows XP. Opgelost.
De fout werd veroorzaakt doordat het systeemlogboek vol was.
Configuratiescherm -> Administratieve hulpmiddelen -> Evenement kijker
Klik met de rechtermuisknop op het toepassingslogboek, wis alle gebeurtenissen, sla het logboek optioneel op.
Hetzelfde proces voor systeemlogboek.
Herstart en het zou moeten werken.


Antwoord 7, autoriteit 3%

Uitvoeren in cmd:

sqlplus / as sysdba;

Dan:

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

Verwijder de regel sga_targetin het bestand init.oraen:

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

Antwoord 8, autoriteit 3%

Dezelfde fout deed zich voor, ook al leken de ORACLE_HOMEen ORACLE_SIDcorrect te zijn ingesteld.

Het probleem zat in ORACLE_HOME, wat niet hoort te eindigen met een schuine streep. Toen ik de eindslash verwijderde, begon het correct te werken.

# ❌ INCORRECT
export ORACLE_HOME=/usr/local/oracle/11gR2/
# ✔️ CORRECT
export ORACLE_HOME=/usr/local/oracle/11gR2

Dus, zelfs als het lijkt alsof alles goed is geconfigureerd, controleer je variabelen hiervoor.


Antwoord 9, autoriteit 2%

Ik had hetzelfde probleem tijdens het maken van de verbinding op SQLDeveloper “ORA-01034: ORACLE niet beschikbaar ORA-27101: gedeelde geheugenrealm bestaat niet”

Oplossing:

1.Update het bestand listene.ora om de SID op te nemen.

 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 =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        (ADDRESS = (PROTOCOL = TCP)(HOST = USMUMTBALAKDAS2.us.deloitte.com)(PORT = 1521))
      )
    )
  DEFAULT_SERVICE_LISTENER = (XE)

De Oraclexe-directory heeft mogelijk de rechten ingesteld op “ReadOnly“, Wijzig de directory/subdirectory toestemming om de listenerservices te lezen/schrijven en opnieuw te starten.
Probleem is opgelost.


Antwoord 10

Ik heb hetzelfde symptoom shared memory realm does not exist(op Windows) maar om een andere reden. Ik had net Oracle (XE) geïnstalleerd en na wat probleemoplossing vastgesteld dat mijn installatie corrupt was vanwege de aanwezigheid van een ORACLE_HOME-omgevingseigenschap op het moment dat ik het installeerde.

Als dit TLDR is, ga dan naar ‘Dus op te lossen:’!

Mijn eerste symptoom was:

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

Blijkbaar leest de Windows-installatie de ORACLE_HOME uit het register en heeft deze geen omgevingseigenschap nodig (en in mijn geval zeker niet…)

Verwijder het als volgt:

  1. Bewerk de instellingen van de systeemomgeving (Windows-toets en start
    typ ‘env’ en je zou deze optie moeten zien verschijnen.
  2. Verwijder alle gebruikers- en systeemomgevingsvariabelen genaamd ORACLE_HOME, als
    cadeau. (noteer hun waarden, voornamelijk uit interesse, maar het kan van belang zijn)
    gebruiken als je ze om de een of andere reden terug wilt zetten!)
  3. Start uw machine opnieuw op. Niet rotzooien met alleen maar uitloggen – herstart uw
    machine. De Windows Oracle-installatie maakt standaard gebruik van Windows-services
    en je installatie is momenteel erg slecht – hij moet opnieuw worden opgestart.

Na de herstart kreeg ik andere foutmeldingen dan ‘Geen berichtbestand…’ en kon ik gaan kijken wat het probleem was.
De ORACLE_SID instellen op XE en @XE verbinden Ik kwam tot de fouten op deze pagina, namelijk de volgende symptomen:

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

Een ander symptoom was:
Bij het starten van de ‘Aan de slag’-pagina kon geen verbinding worden gemaakt, wat een niet gevonden-fout gaf (als ik me goed herinner), ondanks de Windows-luisteraar & XE-services worden gestart. Zoals opgemerkt in een ander antwoord, kan dit te wijten zijn aan het niet starten van de Windows-services. In mijn geval zijn die services gestart, dus iets anders was verkeerd geconfigureerd.

Op dit punt dacht ik dat mijn installatie misschien zo erg mis was gegaan vanwege de aanwezigheid van mijn slechte ORACLE_HOME-omgevingseigenschap die ik opnieuw zou moeten installeren. (Vorige herinstallaties hadden niet geholpen, maar dat waren allemaal voordat ik de ORACLE_HOME-systeemomgevingseigenschap opmerkte (waarschijnlijk een jaar geleden door mij ingesteld!).

Dus op te lossen:

  1. Sluit elke app die naar de Oraclexe-installatiemap kijkt (editors/explorer/cmd-prompts)
  2. Een korte trip om programma’s toe te voegen/te verwijderen en OracleXe te verwijderen
  3. Controleer nogmaals of er nergens een ORACLE_HOME-omgevingseigenschap is ingesteld, onthoud: Windows gebruikt registervermeldingen om deze te verkrijgen.
  4. Herstart (geen risico nemen – we doen dit voor de lange termijn!)
  5. Heb je ervoor gezorgd dat er geen ORACLE_HOME-eigenschap was?
  6. Voer het Oracle-installatieprogramma opnieuw uit (indien van toepassing als lokaal beheerdersaccount)
  7. Je zou je moeten kunnen verheugen op een werkende installatie. Dat deed ik tenminste!

Antwoord 11

Je listener.ora is verkeerd geconfigureerd. Er is geen orcl-service.


Antwoord 12

Ik hoop dat je je probleem hebt opgelost. Als je nog steeds een probleem hebt, controleer dan nogmaals of je dit Oracle onder een domeinaccount installeert. Ik vond een thread die zegt dat Oracle XE dezelfde fout geeft bij het installeren onder een domeinaccount. Gebruik in plaats daarvan een lokaal account.

Bron:

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


Antwoord 13

In mijn geval hier moest ik gewoon een server die 9 jaar oud was weer tot leven wekken, en Oracle gaf me deze foutmelding.

Om de een of andere reden was de server hernoemd, maar het bestand app/oracle/product/10.2.0/server/network/admin/listener.oraverklaarde nog steeds een LISTENER met de oude HOST.

Ik moest dezelfde naam die ik had in /etc/hostnamein de /etc/hostszetten, en ook de naam corrigeren die werd gebruikt in de listener.ora.


Antwoord 14

Probeer ook direct op te starten:

sqlplus /nolog
conn / as sysdba
startup

Antwoord 15

Na zoveel tijd te hebben verspild, kwam ik erachter dat er een fout in mijn syntaxis zat om verbinding te maken met DB. Ik gebruikte dubbele punt “:” in plaats van schuine streep “/“.

(1) als je sid hieronder gebruikt, is de syntaxis om verbinding te krijgen:

**"jdbc:oracle:thin:@{hostname}:{port}:{SID}"**

(2) als u de servicenaam gebruikt, vindt u hieronder de syntaxis om verbinding te krijgen:

"**jdbc:oracle:thin:@//{hostname}:{port}/{servicename}**"

Antwoord 16

SQL> sqlplus “/ as sysdba”

SQL> opstarten

 Oracle instance started
  ------
  Database mounted.
  Database opened.

SQL> Afsluiten

Ik heb ook hetzelfde probleem. Ik heb de bovengenoemde stappen geprobeerd en
toen werkte het voor mij. Je kunt het proberen.

Other episodes