ORA-1034 Base Oracle non disponible
ORA-1034 Oracle not available
mots clés
ORA-1034, Oracle 0RA-1034 error, erreur Oracle ORA-1034, erreur Oracle 1034, connexion oracle impossible, oracle non disponible, impossible de se connecter, environnement Oracle, ORACLE_SID, startup,
Description du problème
C’est un problème de disponibilité de la base Oracle ? partir d’un client. Le client peut être un programme utilisateur, une application de gestion, ou un client Oracle : SQL*Plus, export (exp) , import (imp), SQL*Loader, etc.
Concrètement il est impossible de se connecter ? la base….
Ce n’est pas un problème de connexion réseau ou SQL*Net, ou Oracle Net Services, ceux ci déclenchent des erreurs spécifiques (voir plus loin).
A preuve cette erreur peut survenir même si l’on est connecté directement sur le serveur hébergeant la base Oracle, sans utiliser aucune couche réseau.
Cette erreur peut en général avoir 2 causes : soit la base Oracle n’est pas démarrée, soit elle est incorrectement identifiée et le client ne la trouve pas !
Tests
remarque : pour effectuer ces tests on doit au moins savoir quel est le nom de la base (l’identifiant) que l’on veut atteindre
- Se connecter directement au serveur
sous Unix / Linux : telnet ou SSH ,
sous Windows : prise de main a distance ou ouverture d’une session directe sur le serveur
- Vérifier que la base cible est démarrée
sous Unix / Linux : ps -ef|grep oracle et rechercher les process de fond standards d’Oracle (au moins dbwr, lgwr, smon, pmon) suffixés par le nom de la base.
sous Windows : ? partir de panneau de configuration, vérifier dans la liste des services, qu’il existe au moins un service qui s’appelle ‘oracle_NOM_DE_LA_BASE et qu’il est démarré.
Diagnostic
cas 1 : Si la base est démarrée, alors c’est qu’elle est mal identifiée par le client, et que le problème est au niveau de l’environnement du système d’exploitation client
cas 2 : Si la base n’est pas démarrée …il faut la démarrer
Résolution de l’erreur ORA-1034
cas 1 : modififier l’identification de la base.
sous Unix / Linux : export ORACLE_SID = nom_de_la_base
sous Windows : modifier la variable ORACLE_SID, sous DOS, avec la commande SET ORACLE_SID = nom_de_la_base
ou modifier la base de registre avec regedit (software \ oracle \ ORACLE_HOME \ ORACLE_SID) avec la bonne valeur
cas 2 :
vérifier que l’environnement est correct (ORACLE_SID) sinon le positionner commeau paragraphe précédent
arreter la base par sécurité (il se pourrait qu’elle soit dans un état intermédiaire, et que tous les process ne soient pa démarrés)
puis la redémarrer en utilisant sqlplus :
$ sqlplus /nolog
SQL connect sys as sysdba
SQL shutdown abort
SQL startup
vérifier que les process ou le service démarrent correctement