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-01502 sur un index !


Sujet :

Oracle

  1. #1
    Membre habitué
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Points : 137
    Points
    137
    Par défaut ORA-01502 sur un index !
    Bonjour, j'ai un petit problème à résoudre...
    Nous avons un package de prod assez long qui effectue des mises à jour de tables, donc avant de le lançer, nous mettons les Index Unusable, pour ensuite les reconstruire... ce traitement fonctionne très bien !
    Quand nous le passons en test, après avoir mis les Index UNUSABLE, le traitement plante en
    ORA-1502 : Index 'TOTO' or partition of such index is in unusable state...

    Questions : Pourquoi le traitement se plante-t-il en test et pas en prod ? Est-ce une question de paramétrage ? Et que faut-il faire pour que cela ne se reproduise pas ?

    Merci pour vos réponses...

    PS : Unix AIX... Oracle version 9.2.0.1

  2. #2
    Membre habitué
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Points : 137
    Points
    137
    Par défaut
    J'ai oublié de vous dire que les deux traitements passent avec :
    alter session se SKIP_UNUSABLE_INDEXES = TRUE... que les index unique et bitmaps ne sont pas mis UNUSABLE, et que mes index sont identiques entre la prod et le test !


    Merci pour vos réponses !

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    ce qui m'étonne, c'est que tu passes en prod un traitement qui ne passe pas en test!!

  4. #4
    Membre habitué
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Points : 137
    Points
    137
    Par défaut
    De la vient justement ma question... qu'est-ce qui peut faire que le trt passe en prod et pas en test ?

  5. #5
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Cela pourrait venir du fait que l'index est unique ou utilisé par une contrainte. Mais est-tu absolument sûr que toutes les tables ont les mêmes index en test et en prod et que les paramètres du .ini sont généralement identiques ?

  6. #6
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Il faudrait vérifier avec EXPLAIN PLAN sur la requête en erreur que le plan d'execution généré est le même en test et en production.
    Est-ce que les statistiques sont mises à jour de la même façon sur les 2 bases ?

  7. #7
    Membre habitué
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Points : 137
    Points
    137
    Par défaut
    Merci pour tes réponses.. justement je m'essaie à l'explain (je suis encore un petit scarabée !) mais je n'arrive pas à alimenter ma plan_table... je l'ai bien créée, j'ai effectué l'EXPLAIN, mais elle reste déséspérement vide...
    Saurais-tu me dire pourquoi...

    Voici ma commande d'explain :
    explain plan set statement_id='tutu_select' into monschéma.plan_table for
    SELECT Madonnée
    FROM tutu.table_IND
    WHERE Donnée1 = :toto
    AND donnée2= :tutu ;
    J'ai essayé avec la commande suivante :
    explain plan for
    SELECT Madonnée
    FROM tutu.table_IND
    WHERE Donnée1 = :toto
    AND donnée2= :tutu ;

    Rien n'y fait !

    Merci pour ta réponse...

    PS : J'ai donné le rôle PLUSTRACE à Monschéma

  8. #8
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Peux t'on avoir le code SQL sui génère cette erreur

  9. #9
    Membre habitué
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Points : 137
    Points
    137
    Par défaut
    Le voilà !
    Open CURSOR cu_vm (cu_no_pol_off VARCHAR2, cu_cd_cvt VARCHAR2, cu_cd_typ_prd VARCHAR2, cu_cd_uct VARCHAR2, cu_cd_ste VARCHAR2) IS
    SELECT NO_POL_OFF
    FROM VMVIE_IND
    WHERE NO_POL_OFF = cu_no_pol_off
    AND CD_CVT = cu_cd_cvt
    AND CD_STE = cu_cd_ste
    AND CD_TYP_PRD = cu_cd_typ_prd
    AND NVL(CD_UCT,'XXXXXX') = NVL(cu_cd_uct,'XXXXXX');

  10. #10
    Membre habitué
    Homme Profil pro
    CMA-CGM
    Inscrit en
    Novembre 2005
    Messages
    531
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : CMA-CGM
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2005
    Messages : 531
    Points : 137
    Points
    137
    Par défaut
    Merci Pifor pour tes conseils.. en effet les stats n'étaient pas à jour mais cependant, je ne m'explique pas pourquoi (et peut-être Jaouad où toi pouvez-vous me renseigner !) ) l'index incriminé a fait planter l'ordre select en ORA-1502...
    Je m'explique : Sur metalink, ils disent que le SKIP_UNUSABLE_INDEX n'empêche pas le plantage si l'index est UNIQUE ou s'il 'applique une contrainte' (Là j'ai pas bien compris ce qu'ils voulaient dire !)
    OR
    mon index etait NON-UNIQUE, son statut 'UNUSABLE' avec SKIP_UNUSABLE_INDEX = TRUE... Donc, ça n'aurait pas dû planter !

    Moi, je pense que, les stats étaient dans les choux et que le select s'est perdu dans les limbes de l'optimiseur Oracle...
    Est-ce une honorable conclusion ?
    Merci pour vos réponses

Discussions similaires

  1. ORA-01502 sur un move partition
    Par regal dans le forum SQL
    Réponses: 0
    Dernier message: 24/08/2012, 12h30
  2. ORA- 01502: Pb d'index
    Par onimougwo dans le forum Oracle
    Réponses: 1
    Dernier message: 10/02/2009, 18h12
  3. [ORA 01502] Problème au niveau de l'index
    Par Longrais dans le forum Administration
    Réponses: 4
    Dernier message: 23/04/2007, 14h02
  4. [9.2.0.4 : ORA-01502] index > statut "UNUSABLE"
    Par fmercury dans le forum Oracle
    Réponses: 2
    Dernier message: 01/02/2006, 18h44
  5. Questions sur les indexations
    Par freud dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/05/2004, 11h38

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