Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2006, 19h02   #1
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 65
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 65
Points : 15
Points : 15
Par défaut Erreur ORA-600: Internal

Bonjour,

Quand j'exécute un script sous Oracle 9i qui doit me créer une table (3 colonnes dont 2 not null (qqch de simple)), j'ai l'erreur ORA-00600: Internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s]

Dans mon fichier alerte_log, j'ai les éléments suivants :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Tue Dec 12 16:55:30 2006
ARC0: Beginning TO archive log 3 thread 1 sequence 23488
Creating archive destination LOG_ARCHIVE_DEST_1: 'D:\ORACLE\ORADATA\IDDEV\ARCHIVES\ARCHIVE_IDDEV_001_23488.ARC'
ARC0: Completed archiving  log 3 thread 1 sequence 23488
Tue Dec 12 17:05:58 2006
Errors IN file e:\oracle\admin\iddev\udump\iddev_ora_6000.trc:
ORA-00600: internal error code, arguments: [4882], [0x4454969C], [0x378EB938], [0x44F8D588], [], [], [], []
 
Tue Dec 12 17:15:37 2006
Errors IN file e:\oracle\admin\iddev\udump\iddev_ora_5668.trc:
ORA-00600: internal error code, arguments: [4882], [0x441ED6C4], [0x378EB938], [0x44F613F4], [], [], [], []
 
Tue Dec 12 17:18:40 2006
Thread 1 advanced TO log sequence 23490
Tue Dec 12 17:18:40 2006
Ce que j'ai modifié, c'est le trigger d'audit lors de la création d'une table, j'ai ajouté la condition suivante (substr(ora_dict_obj_name, 1, 2) = 'TB' or) soit le bloc

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
IF substr(ora_dict_obj_name, 1, 2) = 'TB' OR
   substr(ora_dict_obj_name, 1, 3) IN ('INT','DIV','LST', 'REP','BEN','WEB', 'GED') OR
   substr(ora_dict_obj_name, 3, 1) = '_' then
             -- Recherche d'un ID pour combler les trous !!
             -- modif. RJ / 16.10.2003 20:00
             while var_id_existe = 1 loop
               var_i := var_i + 1;
               SELECT count('1') INTO var_id_existe FROM DB_TABLE
                WHERE ID = var_i;
             end loop;
             -- fin modif RJ
 
             IF substr(ora_dict_obj_name,length(ora_dict_obj_name)-3,4) = '_SYS' then
                INSERT INTO DB_TABLE (DATE_CREATION, USER_CREATION, ELEMENT_CREATION,
                   STATUS, DB_ELEMENT_ID, ID, NOM_PHYSIQUE, SYSTEME, EST_PERIODIQUE,
                   DB_GROUPE_TABLE_ID, DB_TYREPRISE_CI, INFO_INSTAL)
                   VALUES (SYSDATE, 'Trigger', 1, 5, 1, var_i, ora_dict_obj_name,
                   var_type, 0, 2, 'UPDATE',1);
             elsif var_view = 0 then
                INSERT INTO DB_TABLE (DATE_CREATION, USER_CREATION, ELEMENT_CREATION,
                   STATUS, DB_ELEMENT_ID, ID, NOM_PHYSIQUE, SYSTEME, EST_PERIODIQUE,
                   DB_GROUPE_TABLE_ID, DB_TYREPRISE_CI)
                   VALUES (SYSDATE, 'Trigger', 1, 5, 1, var_i, ora_dict_obj_name,
                   var_type, 0, 19, 'SANS');
             else
                NULL;
             end IF;
end IF;
En mettant la nouvelle condition en commentaire, l'erreur ne se produit plus!?

Est-ce que qqn à une idée?

Je cherche depuis un petit moment et je ne trouve pas d'où pourrait provenir le problème.

Merci d'avance,

Cédric
cedrich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 09h33   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
et : ora_dict_obj_name like 'TB%' ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 10h38   #3
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 65
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 65
Points : 15
Points : 15
Non, ça ne fonctionne pas non plus avec "like".

J'ai fait la trace suivante :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
 
INSERT INTO DB_TABLE (DATE_CREATION, USER_CREATION, ELEMENT_CREATION,
                   STATUS, DB_ELEMENT_ID, ID, NOM_PHYSIQUE, SYSTEME, EST_PERIODIQUE,
                   DB_GROUPE_TABLE_ID, DB_TYREPRISE_CI)
                   VALUES (SYSDATE, 'Trigger', 1, 5, 1, :b2, ora_dict_obj_name,
                   :b1, 0, 19, 'SANS')
 
call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1     23.71     497.11          0          4         11           0
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        2     23.71     497.11          0          4         11           0
 
Misses IN library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 26  (IDINFO)   (recursive depth: 2)
 
Rows     Execution Plan
-------  ---------------------------------------------------
      0  INSERT STATEMENT   GOAL: CHOOSE
 
********************************************************************************
 
DECLARE
      var_existe NUMBER;
      var_view   NUMBER := 0;
      var_type   NUMBER := 0;
      var_id_existe     NUMBER := 1;         -- ID pour l'insertion de l'enregistrement dans DB_TABLE
      var_i      NUMBER := 9;         -- variable utilisée pour la boucle
   BEGIN
      SELECT Count('1') INTO var_existe FROM SYS.DBA_OBJECTS WHERE OBJECT_NAME=ora_dict_obj_name
          AND (OBJECT_TYPE = 'TABLE' OR OBJECT_TYPE = 'VIEW') AND OBJECT_NAME NOT LIKE 'REPRISE%';
      -- Recherche du type de table
      -- 1 SYS, 2 USR, 3 USR_SYS, 4 View
      --
 
      IF substr(ora_dict_obj_name,length(ora_dict_obj_name)-6,7) = 'USR_SYS' then
         var_type := 3;
      elsif substr(ora_dict_obj_name,length(ora_dict_obj_name)-3,4) = '_SYS' then
         var_type := 1;
      elsif substr(ora_dict_obj_name,length(ora_dict_obj_name)-3,4) = '_USR' then
         var_type := 2;
      elsif ora_dict_obj_type = 'VIEW' then
         var_type := 4;
      else
         var_type := 0;
      end IF;
      dbms_output.put_line('var_type : '||var_type);
      dbms_output.put_line('var_existe : '||var_existe);
 
      IF var_existe > 0 then
          IF ora_dict_obj_type = 'VIEW' then
             SELECT Count('1') INTO var_view FROM DB_TABLE
               WHERE NOM_PHYSIQUE = ora_dict_obj_name;
          end IF;
          dbms_output.put_line('var_view : '||var_view);
          dbms_output.put_line('ora_dict_obj_name : '||ora_dict_obj_name);
          IF substr(ora_dict_obj_name, 1, 2) = 'TB' OR
		  	 substr(ora_dict_obj_name, 1, 3) IN ('INT','DIV','LST', 'REP','BEN','WEB', 'GED') OR
             substr(ora_dict_obj_name, 3, 1) = '_' then
             -- Recherche d'un ID pour combler les trous !!
             -- modif. RJ / 16.10.2003 20:00
             while var_id_existe = 1 loop
               var_i := var_i + 1;
               SELECT count('1') INTO var_id_existe FROM DB_TABLE
                WHERE ID = var_i;
             end loop;
             -- fin modif RJ
 
             IF substr(ora_dict_obj_name,length(ora_dict_obj_name)-3,4) = '_SYS' then
                INSERT INTO DB_TABLE (DATE_CREATION, USER_CREATION, ELEMENT_CREATION,
                   STATUS, DB_ELEMENT_ID, ID, NOM_PHYSIQUE, SYSTEME, EST_PERIODIQUE,
                   DB_GROUPE_TABLE_ID, DB_TYREPRISE_CI, INFO_INSTAL)
                   VALUES (SYSDATE, 'Trigger', 1, 5, 1, var_i, ora_dict_obj_name,
                   var_type, 0, 2, 'UPDATE',1);
             elsif var_view = 0 then
                INSERT INTO DB_TABLE (DATE_CREATION, USER_CREATION, ELEMENT_CREATION,
                   STATUS, DB_ELEMENT_ID, ID, NOM_PHYSIQUE, SYSTEME, EST_PERIODIQUE,
                   DB_GROUPE_TABLE_ID, DB_TYREPRISE_CI)
                   VALUES (SYSDATE, 'Trigger', 1, 5, 1, var_i, ora_dict_obj_name,
                   var_type, 0, 19, 'SANS');
             else
                NULL;
             end IF;
          end IF;
      end IF;
   END;
 
call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.06       0.21          0          0          0           0
Execute      1      2.95      51.43          0          6          6           0
Fetch        0      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        2      3.01      51.65          0          6          6           0
 
Misses IN library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 26  (IDINFO)   (recursive depth: 1)
Le temps d'exécution pour l'insertion est long, vraiment long. C'est comme s'il y avait un lock sur la table, ça pourrait être ça?
cedrich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 10h46   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
le lock est la cause de ton ORA-600... il faut traiter ce lock.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h17   #5
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 65
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 65
Points : 15
Points : 15
J'utilise le programme Toad qui me permet de voir les lock sauf que je n'arrive pas à localiser la personne qui me bloquerait.

Quelles sont les vues ou la commande qui me permettrai d'identifier la personne qui bloque cette table?

Merci d'avance,

Cédric
cedrich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h31   #6
Rédacteur
 
Avatar de bouyao
 
Inscription : janvier 2005
Messages : 1 778
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 1 778
Points : 1 857
Points : 1 857
Code :
1
2
3
 
ORA-00600: internal error code, arguments: [4882], [0x4454969C], 
[0x378EB938], [0x44F8D588], [], [], [], []
ORA-600 [4882] "Lock row cache object X when already held"

Dans ton cas c'est un verrou Enqueue. (comme il a mentioné Fred_D)

Enqueue : : 0x4454969C
Objet parent : 0x378EB938
Etat parent : 0x44F8D588

Tu peut utiliser la vue V$ENQUEUE_LOCK
bouyao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h33   #7
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
il y a la FAQ aussi
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h56   #8
Rédacteur
 
Avatar de bouyao
 
Inscription : janvier 2005
Messages : 1 778
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 1 778
Points : 1 857
Points : 1 857
On peut avoir plus de précision dans le fichier :
e:\oracle\admin\iddev\udump\iddev_ora_6000.trc

Autre chose db_table est une vue matérialisé ?
bouyao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 12h27   #9
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 65
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 65
Points : 15
Points : 15
Non, c'est une table.

Est-ce qu'un trigger peut fonctionner sans problèmes (compter plusieurs mois) et soudainement avoir un problème de lock???

Apparement, je me lock moi-même.

Code :
1
2
3
4
5
 
SELECT session_id , oracle_username , os_user_name
  FROM V$LOCKED_OBJECT VLO INNER JOIN dba_objects DO ON VLO.object_id = DO.object_id
 WHERE object_name = 'DB_TABLE'
   AND owner = 'IDINFO';
Code :
1
2
3
 
SESSION_ID	ORACLE_USERNAME	OS_USER_NAME
16	IDINFO	cedric
Et pourquoi avant ça le faisait pas? Honnêtement je vois pas?!?!
cedrich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 12h53   #10
Rédacteur
 
Avatar de bouyao
 
Inscription : janvier 2005
Messages : 1 778
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 1 778
Points : 1 857
Points : 1 857
Peut-on avoir le contenu des fichiers :
e:\oracle\admin\iddev\udump\iddev_ora_6000.trc
et
e:\oracle\admin\iddev\udump\iddev_ora_5668.trc
bouyao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 13h06   #11
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 65
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 65
Points : 15
Points : 15
Voici le contenu de iddev_ora_6000.trc :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
TKPROF: Release 9.2.0.1.0 - Production ON Wed Dec 13 12:16:39 2006
 
Copyright (c) 1982, 2002, Oracle Corporation.  ALL rights reserved.
 
Trace file: iddev_ora_6000.trc
Sort options: DEFAULT
 
********************************************************************************
count    = number of times OCI procedure was executed
cpu      = cpu time IN seconds executing 
elapsed  = elapsed time IN seconds executing
disk     = number of physical reads of buffers FROM disk
query    = number of buffers gotten FOR consistent READ
current  = number of buffers gotten IN current mode (usually FOR UPDATE)
rows     = number of rows processed BY the fetch OR execute call
********************************************************************************
Trace file: iddev_ora_6000.trc
Trace file compatibility: 9.00.01
Sort options: DEFAULT
 
       7  sessions IN tracefile.
       0  user  SQL statements IN trace file.
       0  internal SQL statements IN trace file.
       0  SQL statements IN trace file.
       0  UNIQUE SQL statements IN trace file.
   32276  LINES IN trace file.
Et celui de iddev_ora_5668.trc :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
TKPROF: Release 9.2.0.1.0 - Production ON Wed Dec 13 13:03:10 2006
 
Copyright (c) 1982, 2002, Oracle Corporation.  ALL rights reserved.
 
Trace file: iddev_ora_5668.trc
Sort options: execpu  
********************************************************************************
count    = number of times OCI procedure was executed
cpu      = cpu time IN seconds executing 
elapsed  = elapsed time IN seconds executing
disk     = number of physical reads of buffers FROM disk
query    = number of buffers gotten FOR consistent READ
current  = number of buffers gotten IN current mode (usually FOR UPDATE)
rows     = number of rows processed BY the fetch OR execute call
    0  statements EXPLAINed IN this session.
********************************************************************************
Trace file: iddev_ora_5668.trc
Trace file compatibility: 9.00.01
Sort options: execpu  
       5  sessions IN tracefile.
       0  user  SQL statements IN trace file.
       0  internal SQL statements IN trace file.
       0  SQL statements IN trace file.
       0  UNIQUE SQL statements IN trace file.
   31539  LINES IN trace file.
Et je ne pense pas qu'il soit très utile. Je utilisé la commande suivante :

Code :
1
2
 
tkprof iddev_ora_6000.trc iddev_ora_6000.out sys=y
Je dois sûrement utilisé un paramètre pour avoir plus d'infos et je ne sais pas lequel est-ce!
cedrich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 13h19   #12
Rédacteur
 
Avatar de bouyao
 
Inscription : janvier 2005
Messages : 1 778
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 1 778
Points : 1 857
Points : 1 857
Ici la doc de Jaouad sur tkprof :
http://oracle.developpez.com/guide/tuning/tkprof/

Je prefere les premiers 50 lignes des fichiers traces.

Autre chose, il est ou le COMMIT dans ton code ?
bouyao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 14h29   #13
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 65
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 65
Points : 15
Points : 15
Il n'y en as pas. Le trigger existait déjà et fonctionnait déjà. Il ne me semble pas avoir effacer de commit.

Pour les fichiers trace que tu m'as demandé, ils contiennent bien des infromations et même avec un "explain", il n'y a pas d'information pour le fichier "traduit" de la trace.

Voici une partie du fichier source :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
*** SESSION ID:(17.51363) 2006-12-13 11:35:53.000
----------------------------------------
SO: 4454995C, type: 48, owner: 44F728C8, flag: INIT/-/-/0x00
row cache enqueue: count=1 session=4540DB5C object=378EB938, mode=X
row cache parent object: address=378EB938 cid=5(dc_tablespace_quotas)
hash=4f58655f typ=5 transaction=44F728C8 flags=0000002a
own=378EB9AC[44549974,44549974] wat=378EB9B4[378EB9B4,378EB9B4] mode=X
STATUS=VALID/UPDATE/-/-/-/-/-/-/-
DATA=
00000004 0000001a 0001a820 00000000 00000000 00000000 
*** 2006-12-13 11:35:53.000
ksedmp: internal OR fatal error
ORA-00600: internal error code, arguments: [4882], [0x4454995C], [0x378EB938], [0x44F7346C], [], [], [], []
Current SQL statement FOR this session:
INSERT INTO DB_TABLE (DATE_CREATION, USER_CREATION, ELEMENT_CREATION,
                   STATUS, DB_ELEMENT_ID, ID, NOM_PHYSIQUE, SYSTEME, EST_PERIODIQUE,
                   DB_GROUPE_TABLE_ID, DB_TYREPRISE_CI)
                   VALUES (SYSDATE, 'Trigger', 1, 5, 1, :b2, ora_dict_obj_name,
                   :b1, 0, 19, 'SANS')
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
3BD2DF38        57  anonymous block
----- Call Stack Trace -----
calling              call     entry                argument VALUES IN hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
_ksedmp+147          CALLrel  _ksedst+0            
_ksfdmp.108+e        CALLrel  _ksedmp+0            3
_kgeriv+89           CALLreg  00000000             D566150 3
_kgesiv+4e           CALLrel  _kgeriv+0            D566150 5967AAD8 1312 3
                                                   595D9CCC
_ksesic3+3b          CALLrel  _kgesiv+0            D566150 5967AAD8 1312 3
                                                   595D9CCC 1312 3 595D9CCC
__VInfreq__kqrpre1+  CALLrel  _ksesic3+0           1312 2 4454995C 2 378EB938 2
1e8                                                44F7346C 4454995C 0
_kqrpre+1c           CALLrel  _kqrpre1+0           5 595D9DFC 595D9E18 5
                                                   44F7346C 595D9E04 0 0
_kttrbk+de           CALLrel  _kqrpre+0            
_ktsxs_add+8c9       CALLrel  _kttrbk+0            4 1A 8 4
_ktspnr_next+138     CALLrel  _ktsxs_add+0         595DA158 43763734 595DA018
                                                   7FFFFFFF 4 3 0 4 1 0 0 0 0
_ktrsexec+98f        CALL???  00000000             4
_ktspbmphwm+1a2      CALLrel  _ktrsexec+0          595DA1E4 45527FAC 1 0 0
                                                   595DA158
_ktspmvhwm+1f        CALLrel  _ktspbmphwm+0        
_ktspgsp_cbk+38e     CALLrel  _ktspmvhwm+0         
_kdtgsp+1d4          CALLrel  _ktspgsp_cbk+0       43763734 595DA5A8 44 2
                                                   595DA5A8 0 0 0 0 0 0 0 0 0 0
                                                   0
_kdtgsph.52+134      CALLrel  _kdtgsp+0            5968B788 595DA530
_kdtgrs.52+bd        CALLrel  _kdtgsph.52+0        5968B788 595DA530
_kdtInsRow+401       CALLrel  _kdtgrs.52+0         5968B788
_insrow+c2           CALLrel  _kdtInsRow+0         
...
 
--------------------- Binary Stack Dump ---------------------
 
========== FRAME [1] (_ksedmp+147 -> _ksedst+0) ==========
Dump of memory FROM 0x595D9BBC TO 0x595D9C34
595D9BB0                            595D9C34              [4.]Y]
595D9BC0 00691AB4 00000000 00000000 00000000  [..i.............]
595D9BD0 00000000 0D566234 00000000 00000000  [....4bV.........]
595D9BE0 595D9BFC 00000001 00000004 00000000  [..]Y............]
595D9BF0 00000000 00000003 595D9CCC 32383834  [..........]Y4882]
595D9C00 00000000 FFFFFFFF 018FD140 0D566150  [........@...PaV.]
595D9C10 5967AAD8 018FD140 0D565FC8 595D9BC8  [..gY@...._V...]Y]
595D9C20 595D9C60 595D9D74 014122B0 025AFB94  [`.]Yt.]Y."A...Z.]
595D9C30 FFFFFFFF                             [....]            
========== FRAME [2] (_ksfdmp.108+e -> _ksedmp+0) ==========
Dump of memory from 0x595D9C34 to 0x595D9C40
595D9C30          595D9C40 007C7883 00000003      [@.]Y.x|.....]
========== FRAME [3] (_kgeriv+89 -> 00000000) ==========
Dump of memory from 0x595D9C40 to 0x595D9C60
595D9C40 595D9C60 02652007 0D566150 00000003  [`.]Y. e.PaV.....]
595D9C50 595D9C68 5967AAD8 00001312 0D566150  [h.]Y..gY....PaV.]
========== FRAME [4] (_kgesiv+4e -> _kgeriv+0) ==========
Dump of memory FROM 0x595D9C60 TO 0x595D9C8C
595D9C60 595D9C8C 026105DB 0D566150 5967AAD8  [..]Y..a.PaV...gY]
595D9C70 00001312 00000003 595D9CCC 00000044  [..........]YD...]
595D9C80 595D9E04 595D9CCC 0D565FC8           [..]Y..]Y._V.]    
...
Le fichier fait un peu plus d'1.5M.
cedrich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 16h24   #14
Rédacteur
 
Avatar de bouyao
 
Inscription : janvier 2005
Messages : 1 778
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 1 778
Points : 1 857
Points : 1 857
Est ce que tu des quotas sur la tablespace contenant la table db_table ?
bouyao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 16h35   #15
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 65
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 65
Points : 15
Points : 15
Non, voici le contenu de la table dba_tablespace pour le tablespace concerné :

Code :
1
2
3
 
TABLESPACE_NAME	BLOCK_SIZE	INITIAL_EXTENT	NEXT_EXTENT	MIN_EXTENTS	MAX_EXTENTS	PCT_INCREASE	MIN_EXTLEN	STATUS	CONTENTS	LOGGING	FORCE_LOGGING	EXTENT_MANAGEMENT	ALLOCATION_TYPE	PLUGGED_IN	SEGMENT_SPACE_MANAGEMENT
IDINFO_TAB	8192	65536		1	2147483645		65536	ONLINE	PERMANENT	LOGGING	NO	LOCAL	SYSTEM	NO	AUTO
cedrich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 17h53   #16
Candidat au titre de Membre du Club
 
Inscription : août 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 25
Points : 10
Points : 10
Envoyer un message via MSN à sanomory Envoyer un message via Yahoo à sanomory
Bjour,
Excusez moi de m'inserer dans cette discussion. je suis debutant en Oracle.
Il ya deux jours, j'ai cette meme erreur sur un serveur dixinn.
Il tourne avec Oracle 8.1.7 et Oracle Report et Forms 6i.
Cette base tournait sans probleme et il ya deux jours, lors d'une action consistant à executer une procedure de creation des facture,l'erruer suivante s'affiche:

l'erreur ORA-600:code erreur interne,arguments:[ktbdchk1:bad ds],[],[],[],[],[],[],[],[],[] ORA-06512: à machin.trs_td_abonnement, ligne 377 ORA-04088:erreur lors de l'execution du declencheur machin.trs_td_abonnement-ORA-06512: à machin.trc_td_facture.


au fait, le message indique que deux des triggers:
-machin.trs_td_abonnement (pour la signature dans la base)
-machin.trc_td_facture ( pour le controle des regles de gestion)

sur, le meme message, je lui allé consulter la ligne 377 indiquée, mais rien de special . G recompiler la procedure sans probleme et g l'ai executer la procedure mais en vain.

pour pallier, je me suis inspiré du tutorial de clonage de la base de donnée du site developpez.com et ai reinstallé un server dans la meme version (Win2003 Oracle 8.1.7 et Oracle developper 6i).A l'aide sauvegarde de la base arrêtée du server en cause que j'ai faite,j'ai exporté le schema du server en probleme et l'ai importé dans le server clone. En reexecutant la meme procedure, ca marche correctement.j creer mes factures correctement, ensuite j'ai procede à un export/emport dans le sens contraire dans le serveur ayant generé l'erreur.
ce qui est bizarre, c ke les autres procedures et triggers de ma base en probleme fonctionnent correctement.et actuellement elle est en production, mais la procedure de creation des factures est executee de façon hebdomadaire. dans 10 jours j suis obligé de reprendre l'export et l'import dans la base clone pour creer mes factures et les remettre les tables dans la base en production.

La derniere solution à laquelle g pensée etait de reinstaller mon serveur de production. Mais avant, je cherche à resoudre ce probleme sans reinstaller le serveur.
sanomory est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 11h18   #17
Rédacteur
 
Avatar de bouyao
 
Inscription : janvier 2005
Messages : 1 778
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 1 778
Points : 1 857
Points : 1 857
pour sanomory, dans tons cas il faut :
Compiler le procédure puis après compiler le trigger (dans cette ordre)
bouyao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 11h42   #18
Candidat au titre de Membre du Club
 
Inscription : août 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 25
Points : 10
Points : 10
Envoyer un message via MSN à sanomory Envoyer un message via Yahoo à sanomory
Citation:
Envoyé par bouyao
pour sanomory, dans tons cas il faut :
Compiler le procédure puis après compiler le trigger (dans cette ordre)
Bouyao
Je vais essayer la manip que tu recommande de faire et apres je te donne les resultats avec les details des fichiers trace.
sanomory est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 13h33   #19
Rédacteur
 
Avatar de bouyao
 
Inscription : janvier 2005
Messages : 1 778
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 1 778
Points : 1 857
Points : 1 857
Citation:
Envoyé par sanomory
Bouyao
Je vais essayer la manip que tu recommande de faire et apres je te donne les resultats avec les details des fichiers trace.
Si ca ne marche pas, ca peut être que des blocs sont corrompus, il faut lancer dbv pour pister les corruprions.
bouyao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 13h58   #20
Candidat au titre de Membre du Club
 
Inscription : août 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 25
Points : 10
Points : 10
Envoyer un message via MSN à sanomory Envoyer un message via Yahoo à sanomory
Citation:
Envoyé par bouyao
Si ca ne marche pas, ca peut être que des blocs sont corrompus, il faut lancer dbv pour pister les corruprions.
Pourriez vous me donner un exemple de l'utilisation de cette commande.
C pour verifier les tablespaces ou ????.
Please
sanomory est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h42.


 
 
 
 
Partenaires

Hébergement Web