IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Oracle Discussion :

ORA-00600: code d'erreur interne, arguments : [qctcte1]


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Par défaut ORA-00600: code d'erreur interne, arguments : [qctcte1]
    Bonjour,
    Je perd ma connexion et j'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00600: code d'erreur interne, arguments : [qctcte1], [0], [], [], [], [], [], []
    lorsque j'essaye d'exécuter ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    	SELECT 
    		NVL(t1.status, 'all') status
    		,NVL(t1.duration, -1) duration
    		,COUNT(distinct t1.POL_ID) nb_policies
    		,SUM(t1.BF_AMOUNT) sum_benefit
    	FROM (
    		SELECT 
    			p.POL_ID
    			,bf.BF_AMOUNT
    			,CASE p.POL_STATUS 
    				WHEN 'DEATH_CL' THEN 'DEATH'
    				WHEN 'CANCEL' THEN 'OTHER'
    				WHEN 'SURREN' THEN 'SURREN'
    				ELSE 'TERM' 
    			END status
    			,CASE WHEN p.POL_DURATION_MONTH = 12 THEN 1 ELSE
    					CASE WHEN p.POL_DURATION_MONTH > 12 AND p.POL_DURATION_MONTH < 60 THEN 2 ELSE
    						CASE WHEN p.POL_DURATION_MONTH = 60 THEN 3 ELSE
    							CASE WHEN p.POL_DURATION_MONTH > 60 THEN 4 ELSE 0 END
    						END
    					END
    				END duration
    		FROM BENEFIT_FILE bf
    		INNER JOIN CLAIM_FILE c
    			ON	c.CLAIM_ID = BF_CLAIM_ID
    			AND sysdate BETWEEN c.START_D_VER AND c.END_D_VER
    		INNER JOIN (
    			SELECT DISTINCT SLICE_COV_NAME  
    			FROM SLICE 
    			WHERE 	SLICE_COV_IS_LIFE = 'true' 
    				AND sysdate BETWEEN START_D_VER AND END_D_VER
    		)s
    			ON  c.CLAIM_COVERAGE = s.SLICE_COV_NAME
    		INNER JOIN POLICY p
    			ON	bf.BF_PC_ID = p.POL_PC_ID
    			AND sysdate BETWEEN p.START_D_VER AND p.END_D_VER
    		INNER JOIN ROLE rhol
    			ON	p.POL_HOLDER_ID = rhol.ROLE_ID
    			AND sysdate BETWEEN rhol.START_D_VER AND rhol.END_D_VER
    		INNER JOIN THIRD_PARTY tphol
    			ON	tphol.TP_ID = rhol.ROLE_TP_ID
    			AND sysdate BETWEEN tphol.START_D_VER AND tphol.END_D_VER
    			AND tphol.TP_TYPE = 'PHYPER'
    		WHERE	bf.BF_STATUS = 'PAID'
    			AND bf.bf_payment_date BETWEEN TO_DATE('20100101', 'YYYYMMDD') AND TO_DATE('20101231', 'YYYYMMDD')
    			AND sysdate BETWEEN bf.START_D_VER AND bf.END_D_VER
    	) t1
    	GROUP BY cube (t1.status, t1.duration)
    Cette erreur est systématique (se produit tout le temps), par contre j'ai remarqué que si j'enlève le mot "CUBE" ou "DISTINCT", ma requête s'exécute normalement.
    Qu'est ce que ça peut être?

    J'ai oublié de préciser : j'ai Oracle 10.2.0.1.0

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Vous pouvez améliorer votre case sur duration, c'est plus simple comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CASE
      WHEN p.POL_DURATION_MONTH = 12 THEN 1
      WHEN p.POL_DURATION_MONTH > 12 AND p.POL_DURATION_MONTH < 60 THEN 2
      WHEN p.POL_DURATION_MONTH = 60 THEN 3
      WHEN p.POL_DURATION_MONTH > 60 THEN 4
      ELSE 0
    END as duration
    Vous pourriez améliorer la lisibilité de la requête en utilisant des CTE plutôt que des vues imbriquées, mais pas d'erreur sinon.

    Les ORA-600 impliquent de contacter le support Oracle en général, néanmoins vous n'êtes pas sur la dernière release d'Oracle 10gR1, donc regardez metalink et les patches notes, c'est peut-être un bug déjà corrigé.

Discussions similaires

  1. [11gR2] ORA-00600: code d'erreur interne
    Par ducho dans le forum Administration
    Réponses: 8
    Dernier message: 10/02/2014, 16h41
  2. [Débutant] ORA-06550 PLS-00801 erreur interne
    Par Ullur dans le forum C#
    Réponses: 5
    Dernier message: 14/06/2011, 18h36
  3. ORA-00600: internal error code, arguments: [17069], [80240096]
    Par patricia_kouassi dans le forum Administration
    Réponses: 11
    Dernier message: 26/04/2007, 14h49
  4. Réponses: 9
    Dernier message: 20/02/2007, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo