ORA-04042 Lors de la création du repository Grid Enterprise Manager.

Posted on mai 23rd, 2007 in DataBase, Oracle, Tips by David

Oracle : 10g

Produit : Oracle Enterprise Manager Grid Control.

Lors de l’installation du repository EM, sur une base existante, vous pouvez avoir ce message :

ORA-04042 - dbms_shared_pool’ Is Missing or Corrupt

1 une solution :

en tant que sys as sysdba : @?/rdbms/admin/dbmspool.sql

ensuite : grant execute on dbms_shared_pool to dba;

Voila ! a+

Générer du XML avec Oracle.

Posted on mai 10th, 2007 in DataBase, Oracle, Tips by David

Depuis la version 9i, Oracle donne la possibilité de générer et gérer du XML via le composant XML DB.

Pour générer un flux, on dispose des packages DBMS_XMLDOM et DBMS_XMLGEN.

Le seul problème c’est qu’il faut installer l’option complete pour pouvoir utiliser uniquement deux package … heureusement il existe une solution alternative : SYS_XMLGEN et SYS_XMLAGG , fournis en standard avec le moteur Oracle.

Petit exemple :

SELECT SYS_XMLGEN(email)
FROM employees
WHERE employee_id = 205;

SYS_XMLGEN(EMAIL)
——————————————————————-
<?xml version=”1.0”?>
<EMAIL>SHIGGINS</EMAIL>

Pas mal … mais peux mieux faire :)

Maintenant, on peut utiliser SYS_XMLAGG pour générer un ensemble de résultats :

SELECT SYS_XMLAGG(SYS_XMLGEN(last_name))
FROM employees
WHERE last_name LIKE ‘R%’;

SYS_XMLAGG(SYS_XMLGEN(LAST_NAME))
——————————————————————–
<ROWSET>
<LAST_NAME>Raphaely</LAST_NAME>
<LAST_NAME>Rogers</LAST_NAME>
<LAST_NAME>Rajs</LAST_NAME>
<LAST_NAME>Russell</LAST_NAME>
</ROWSET>

En suite il ne reste plus qu’a générer le fichier, avec un UTL_FILE par exemple…

a+ !

ORA-01595 - ORA-01594 - error freeing extent of rollback segment

Posted on avril 20th, 2007 in DataBase, Oracle, Tips by David

Symptomes :

ORA-01595: error freeing extent (1) of rollback segment (2))
ORA-01594: attempt to wrap into rollback segment (2) extent (1) which is being freed

OS : Tous

Version : Toutes ( si vous utilisez les rollback segment ).

Solution :

Vous manquez un peu de place sur vos rbs.

1 - Ajouter des rbs , même si vous n’augmentez pas le tablespace.

2 - Modifier les inital et next extend pour les augmenter.

3 - Eventuellement augmenter la taille du TBS en fonction des modifications 1 et 2

a++

ORA-00904 - ORA-12008 - “DV$”.”SE0″: invalid identifier

Posted on mars 27th, 2007 in Bug, DataBase, Oracle by David

Oracle : < 10.2

OS : Tous ?

Symptomes :

exec dbms_mview.refresh(’majv4333601′,’F');ORA-12008: error in materialized view refresh path
ORA-00904: “DV$”.”SE0″: invalid identifier
ORA-06512: at “SYS.DBMS_SNAPSHOT”, line 794
ORA-06512: at “SYS.DBMS_SNAPSHOT”, line 851
ORA-06512: at “SYS.DBMS_SNAPSHOT”, line 832
ORA-06512: at line 1

Solution :

C’est plutôt simple : Bug 4333601 - ORA-904 during MVIEW fast refresh

Vous pouvez tenter de modifier votre code SQL, surtout celui de la vue. sinon il faut passer sur les versions suivantes :

  • 9.2.0.8 (Server Patch Set)
  • 10.1.0.5 (Server Patch Set)
  • 10.2.0.1 (Base Release)

David.

Un bon article sur les nouveautés RMAN 10g

Posted on mars 20th, 2007 in DataBase, Oracle, Tips by David

Un article bref et concis sur les nouveautés RMAN en Oracle 10g est dispo sur Oracle-Base ,

Vous pouvez le trouver ici : RMAN 10g

David.

ORA-00600 [16201] - Impossible d’executer/dropper un package ou procedure.

Posted on mars 19th, 2007 in Bug, DataBase, Oracle by David

Oracle : 8.1.7

OS : HPUX PA-RISC

Symptomes :

Lors de l’import d’une procédure stockée “wrapped” ( encrypté ? ) vous avez eu les erreurs suivantes :

Warning: Entry/Exit code is optimized. Cannot restore context
(UNWIND 22)

IMP-00017: following statement failed with ORACLE error 600:
“GRANT EXECUTE ON “TOTO” TO “TOTOUSER”"
IMP-00003: ORACLE error 600 encountered
ORA-00600: internal error code, arguments: [16201], [], [], [], [], [], [], []

Ensuite vous ne pouvez plus supprimer la procédure ou l’éxécuter :

sys@SID.WORLD> drop procedure TOTOUSER.TOTO;
drop procedure totouser.toto
*
ERREUR à la ligne 1 :
ORA-00600: internal error code, arguments: [16201], [], [], [], [], [], [], []

Sortir le resultat d’une requete vers un fichier.

Posted on mars 15th, 2007 in DataBase, Oracle, Tips by David

Ca peut être utile, il manque sous Oracle l’équivalent du bcp in / out de Sybase …

Pour inserer des fichiers , on est outillé avec SQL*Loader ( sqlldr ) , mais pour extraire des données, c’est pas facile :)

Alors voilà un exemple de script : sortie_fichier.sql

Et voila!

David.

ORA-06512 ORA-06510 UTL_FILE WRITE ERROR

Posted on mars 13th, 2007 in DataBase, Oracle, Tips by David

Oracle : 8.1.7

OS : Tous ?

Symptomes :

Lors d’une écriture / lecture de fichier :

ERROR at line 1:
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at “SYS.UTL_FILE”, line 103
ORA-06512: at “SYS.UTL_FILE”, line 306
ORA-06512: at line 121

Solutions :

1 - Vous n’avez pas le droit , ne pouvez pas écrire dans le fichier.

Il faut vérifier que l’utilisateur Oracle, ou le votre a bien les droits pour écrire le fichier, et que le répertoire existe.

Sous unix, si vous etes connecté en BEQ ( du genre sqlplus <nomutilisateur> ), c’est avec votre utilisateur qu’il faut faire le test. Connecté en SQL/NET ( sqlplus <nomuser>@<labase> ) il faut vérifier que l’utilisateur oracle a le droit d’écrire.

2 - Ligne trop longue !

Par défaut le FOPEN vous autorise 1024 caractères, donc 1023 en comptant le retour chariot.

Pour modifier cela, il faut utiliser “l’autre” FOPEN :

UTL_FILE.FOPEN (
location IN VARCHAR2,
filename IN VARCHAR2,
open_mode IN VARCHAR2,
max_linesize IN BINARY_INTEGER)
RETURN file_type;

Vala !

Oracle SQL Developer

Posted on mars 9th, 2007 in DataBase, Oracle, Tips by David

Vous recherchez une interface graphique pour développer, débugger vos procédures PL/SQL ?

Même s’il n’a pas autant de fonctionnalité d’administration que TOAD par exemple cet outil possède tout

ce dont peut avoir besoin un developpeur PL/SQL !

Le fin du fin, c’est qu’il est gratuit : SQL Developer

Sur cette même page, vous avez Oracle SQL Developer Migration Workbench, un outil de migration de vos

données MySQL, SQL Server et Access vers Oracle …

Vous voilà paré , le tout pour 0‚¬ .

David

SQLDev 1

SQLDev 2

Tracer une session

Posted on mars 8th, 2007 in DataBase, Oracle, Tips by David

Objectif :

Activer les traces sur une session.

Eventuellement tracer le contenu des bind variables et les temps d’attente.

Nous allons utiliser quelques outils ( Tkprof et Trace Analyzer ) disponibles sur metalink.

« Page précédentePage suivante »