web-dev-qa-db-fra.com

ORA-01034: Oracle non disponible ORA-27101: le domaine de la mémoire partagée n'existe pas

Je reçois le message d'erreur ci-dessus lorsque je tente de me connecter à une base de données de serveur à partir d'un client utilisant le nom de service orcl. La connexion est établie lorsque j'utilise l'autre nom de service, à savoir dms

Ci-dessous mon 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)
    )
  )

S'il vous plaît dites-moi ce qu'il faut faire?

30
maverick

Ouvrez la commande Invite et exécutez les commandes ci-dessous:

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

Un jour. La base de données ne sera pas montée correctement. Nous devons donc la monter manuellement. 

connectez-vous en tant qu'utilisateur Oracle, puis

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

Assurez-vous que votre Oracle_HOME et Oracle_SID sont correctsPour voir les valeurs actuelles dans Windows, à la commande Type d'invite

echo %Oracle_HOME%

Ensuite

echo %Oracle_SID%

Si les valeurs ne correspondent pas à votre répertoire principal et à votre SID Oracle, vous devez les corriger. Cela peut être fait dans les variables d'environnement Windows. 

Découvrez cette page pour plus d'informations

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

J'ai rencontré le même problème lors de la création de la connexion sur SQLDeveloper "ORA-01034: Oracle non disponible ORA-27101: le domaine de la mémoire partagée n'existe pas"

Solution: 

1. Mettez à jour le fichier listene.ora pour inclure le SID.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

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

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADRESSE = (PROTOCOL = IPC) (KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP) (hôte = USMUMTBALAKDAS2.us.deloitte.com) (PORT = 1521)) ) )

DEFAULT_SERVICE_LISTENER = (XE)

L'autorisation peut être définie sur " ReadOnly " dans le répertoire Oraclexe. Modifiez l'autorisation de lecture/écriture du répertoire/sous-répertoire et redémarrez les services d'écoute . Le problème est résolu.

Bon codage! À votre santé!!

2
Tanuj Wagh

Avait le même problème sur Windows XP. Résolu . L'erreur a été causée par le fait que le journal système était saturé. Panneau de configuration -> Outils d’administration -> Observateur d’événements Cliquez avec le bouton droit de la souris sur le journal de l’application, effacez tous les événements, éventuellement enregistrer le journal.

Je rencontre le même symptôme shared memory realm does not exist (sous Windows), mais pour une raison différente. Je venais d'installer Oracle (XE) et, après un dépannage, j'ai constaté que mon installation était corrompue en raison de la présence d'une propriété d'environnement Oracle_HOME au moment où je l'ai installée.

S'il s'agit de TLDR, passez à 'Donc pour résoudre:'!

Mon symptôme initial était:

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

Apparemment, l'installation de Windows lit Oracle_HOME dans le registre et n'a pas besoin (et dans mon cas, ne devrait pas avoir ...) d'une propriété d'environnement.

Retirez-le comme suit:

  1. Modifiez les paramètres de l’environnement système (touche Windows et démarrez En tapant "env" et vous devriez voir cette option apparaître. 
  2. Supprimez toutes les variables d’environnement utilisateur et système appelées Oracle_HOME, si Sont présentes. (notez leurs valeurs, principalement par intérêt, mais peuvent être utiles à utiliser si vous voulez les remettre pour une raison quelconque!)
  3. Redémarrez votre machine. Ne vous contentez pas d'une session, redémarrez votre machine L’installation Windows Oracle utilise les services Windows par défaut Votre installation est actuellement très mauvaise. Elle nécessite un redémarrage.

Après le redémarrage, j’ai pu obtenir des messages d’erreur autres que "Pas de fichier de message ..." et commencer à regarder en quoi consistait le problème . Régler Oracle_SID sur XE et connecter @XE jusqu’à ce que les erreurs se produisent. dans cette page, à savoir les symptômes suivants:

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

Un autre symptôme était: Lors du lancement de la page 'Mise en route', la connexion a échoué, donnant une erreur introuvable (si je me souviens bien), malgré le démarrage du service d'écoute Windows et XE. Comme indiqué dans une autre réponse, cela pourrait être dû au non-démarrage des services Windows. Dans mon cas, ces services ont été démarrés, donc quelque chose d'autre a été mal configuré.

À ce stade, j’ai pensé que mon installation s’était si mal déroulée en raison de la présence de ma mauvaise propriété d’environnement Oracle_HOME que je devrais réinstaller. (Les réinstallations précédentes n'avaient pas aidé, mais elles l'avaient déjà été avant que je remarque la propriété de l'environnement système Oracle_HOME (probablement configurée par moi il y a un an!).

Donc pour résoudre:

  1. Fermez toutes les applications du répertoire d'installation d'Oraclexe (invites editors/Explorer/cmd).
  2. Un rapide tour pour ajouter/supprimer des programmes et désinstaller OracleXe
  3. Vérifiez bien qu'aucune propriété d'environnement Oracle_HOME n'est définie, rappelez-vous - Windows utilisera des entrées de registre pour l'obtenir.
  4. Redémarrez (ne prenez pas de risque - nous sommes engagés dans le long terme!)
  5. Vous êtes-vous assuré qu'il n'y avait pas de propriété Oracle_HOME?
  6. Exécutez à nouveau le programme d'installation Oracle (en tant que compte d'administrateur local, le cas échéant)
  7. Vous devriez pouvoir vous réjouir d'une installation qui fonctionne. Je l'ai fait, au moins!
1
roj

ORA-01034 et ORA-27101 indiquent normalement que l'instance de base de données à laquelle vous essayez de vous connecter est fermée et que vous n'êtes pas connecté en tant qu'utilisateur autorisé à le démarrer. Connectez-vous au serveur 192.168.1.53 et démarrez l'instance orcl ou demandez à votre DBA de le faire pour vous.

1
Luke Woodward

Cette même erreur m'est arrivée même si Oracle_HOME et Oracle_SID semblaient être correctement configurés. 

Le problème était dans Oracle_HOME, qui n'est pas censé se terminer par un caractère barre oblique. Lorsque j'ai supprimé la barre oblique de fin, cela a commencé à fonctionner correctement.

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

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

Donc, même s'il semble que tout est configuré correctement, vérifiez vos variables pour cela.

1
sporak

Exécuter en cmd:

sqlplus / as sysdba;

Ensuite:

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

Supprimez la ligne sga_target dans le fichier init.ora, puis:

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

Votre auditeur.ora est mal configuré. Il n'y a pas de service orcl.

0
steve

J'espère que vous avez résolu votre problème. Si le problème persiste, vérifiez à nouveau si vous installez cet Oracle sous un compte de domaine. J'ai trouvé un fil qui dit Oracle XE donnant la même erreur lors de l'installation sous compte de domaine. Veuillez utiliser un compte local à la place.

La source: 

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

0
suhao399