Problèmes typiques Oracle et leurs solutions

problèmes de connexion

ORA-1034 Oracle not Available

Base Oracle non disponible
Se connecter directement au serveur (telnet ou prise de main a distance); Positionner si nécessaire la variable d'environnement ORACLE_SID avec le nom de la base (export ORACLE_SID=ma_base) , puis vérifier que la base cible est démarrée.
(ps -ef|grep DBW sur Unix ou service Oracle actif sur NT). Redémarrer la base en utilisant le server manager ou sqlplus.

$> export ORACLE_SID=MA_BASE
$> svrmgrl
SVRMGR> CONNECT INTERNAL
SVRMGR> SHUTDOWN ABORT (pour etre sur...)
SVRMGR> STARTUP PFILE=le_fichier_init.ora (de MA_BASE)

ou avec une version + récente :

$sqlplus 'system as sysdba' avec mot de passe vide (si vous avez les privilèges qui vont bien, bien sûr...)

ORA- 12154 TNS could not resolve service name | Le service n'a pu etre résolu

problème de résolution de nom d'ALIAS SQL*Net
la traduction de l'alias sqlnet a échoué. Vérifier quelle est la méthode de résolution de nom (Oracle Names, fichier local ou autre).

Et suivant la méthode utilisée vérifier que chaque élément est correct au niveau du serveur de nom, du fichier TNSNAMES.ORA, etc. : nom du serveur cible dans la DNS, port d'ecoute de SQL*Net (en général 1521) , SID de la base sur le serveur)

Vous pouvez faire un test de connexion directe (sans passer par la résolution de nom) en utilisant le truc à DD.

 

problème de saturation d'espace de stockage

ORA-01653: unable to extend table proprietaire.ma_table by N in tablespace mon_TBS

- saturation d'un tablespace fixe (contenant un ou des fichiers de taille fixe) - saturation d'un tablespace dynamique (contenant un ou des fichiers en mode AUTO EXTEND)

Le disque est alors 'saturé'

ORA-01652: unable to extend temp segment by NNN in tablespace TEMP

saturation d'un segement temporaire dans un tablespace temporaire (TEMP ou autre de type TEMPORARY) :

le segment temporaire, stocké dans le tablespace TEMPORARY , utilisé pour les tris et fusion de données hors de la mémoire centrale est trop petit

on augmente sensiblement le paramètre SORT_AREA_SIZE du fichier de démarrage init.ora et on redémarre la base

ORA-01562: failed to extend rollback segment number NNN
ORA-01650: unable to extend rollback segment RBS_A_DD by NNN in tablespace MON_TBS

saturation d'un tablespace de Rollback Segment (ou par raccourci "d'un rollback segment")

SQL> set transaction use rollback segment rbsdd;

en cas de pb à l' IMPORT : mettre le paramètre COMMIT=Y , pour forcer de petites transactions

Ce qui suit est encore en construction et sera mis à jout très prochainement ;-(
(mais j'ai mis la page en ligne quand même parce que ca peut servir...) ;-)

Problèmes de droits d'accès

ORA-00942: table or view does not exist

exemple :
SQL> connect scott/tiger
SQL> select * from TOTO;
ERREUR à la ligne 1 :
ORA-00942: table or view does not exist

Attention !! ici trois cas de figure :
- 1) SOIT la table n'existe effectivement pas,
- 2) SOIT la table existe, vous avez les droits mais elle ne vous appartient pas ,
- 3) SOIT vous n'avez pas les droits d'accès

ORA-01031: insufficient privileges
tentative de donner des droits à quelqu'un sur une table qui ne nous appartient pas

exemple :
SQL> grant select on scott.emp to autre_user
*
ERREUR à la ligne 1 :
ORA-01031: insufficient privileges

Attention !! même le DBA peut rencontrer ce genre d'erreur (c'est un comble !), bien qu'il ait les droits de lecture sur la table



modifié
le 20/11/2006

Ecrire a DD
ecris
moi


les forums techniques Oracle

mon BLOG Oracle,
en Francais
connaitre DD
l'autre vie
de DD

mon CV

trucs
et astuces

JOBs Oracle
du jour
Homepage "Tout sur Oracle"
Mon site :
Tout sur Oracle (et le web)
Copyright (C) 2002
Utilisation de ces documents