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

SQL Oracle Discussion :

Merge avec un probleme d'index


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 60
    Points
    60
    Par défaut Merge avec un probleme d'index
    Bonjour,

    Je travaille sous Oracle 10g
    J’ai fait un MERGE mais ça ne marche pas ! Je m’explique :

    J’utilise un MERGE pour faire une réplication d’une base à une autre mais j’ai un problème avec ma requete ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    MERGE INTO CAT_ATTRIBUT_DESCRIPTION@mo2fo TO_TABLE
    USING OKAIDI.CAT_ATTRIBUT_DESCRIPTION FROM_TABLE
    ON (TO_TABLE.ATTRIBUT_DESCRIPTION_ID=FROM_TABLE.ATTRIBUT_DESCRIPTION_ID)
    WHEN MATCHED THEN
    UPDATE SET TO_TABLE.LIBELLE =FROM_TABLE.LIBELLE,
    TO_TABLE.LANGUE_FK=FROM_TABLE.LANGUE_FK,
    TO_TABLE.ATTRIBUT_FK=FROM_TABLE.ATTRIBUT_FK,
    TO_TABLE.ETATS_PUBLICATION_FK=FROM_TABLE.ETATS_PUBLICATION_FK
    WHEN NOT MATCHED THEN
    INSERT (TO_TABLE.ATTRIBUT_DESCRIPTION_ID, TO_TABLE.LIBELLE, TO_TABLE.LANGUE_FK, TO_TABLE.ATTRIBUT_FK, TO_TABLE.ETATS_PUBLICATION_FK)
    VALUES (FROM_TABLE.ATTRIBUT_DESCRIPTION_ID, FROM_TABLE.LIBELLE, FROM_TABLE.LANGUE_FK, FROM_TABLE.ATTRIBUT_FK, FROM_TABLE.ETATS_PUBLICATION_FK);
    En éxécutant le code ci dessus voici l’erreur que j’ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Error starting at line 1
    Error report:
    SQL Error: ORA-01502: index 'OKAIDI.SYS_C009147' or partition of such index is in unusable state
    ORA-02063: preceding line from MO2FO
    Ma table CAT_ATTRIBUT_DESCRIPTION a des clés étrangéres (FK) qui renvoient vers d’autres tables de la base de données.
    Mon erreur est du à mon index 'OKAIDI.SYS_C009147' !!
    Quel est le code ou la requete SQL pour supprimer cet index ?

    Merci pour votre aide

    Cordialement Philippe

    NB:
    @mo2fo est un dblink
    J’ai déjà fait plusieurs MERGE pour répliquer d’autres tables de ces 2 bases de données est tout c’est bien passé!

  2. #2
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Tu peux
    1) détruire l'index DROP INDEX OKAIDI.SYS_C009147
    OU
    2) le reconstruire ALTER INDEX OKAIDI.SYS_C009147 REBUILD
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    il faudrait savoir pourquoi l'index est invalide, peut-être qu'une opération style Sql*load en mode direct a inséré des données invalides...

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 60
    Points
    60
    Par défaut
    Merci pour vos réponses

    Mon index était en unusable

    Je l'ai donc reconstruit avec la requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER INDEX OKAIDI.SYS_C009147 REBUILD
    Ma requete MERGE fonctionne
    Je vais chercher pourquoi mon index est devenu invalide

    Merci a tous les 2

    Philippe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [NASM] problem d'indexation avec SI
    Par andromeda dans le forum Assembleur
    Réponses: 1
    Dernier message: 05/04/2007, 23h10
  2. Probleme d'index fulltext assez bizarre
    Par Clovis37 dans le forum Débuter
    Réponses: 4
    Dernier message: 08/07/2005, 20h59
  3. [IMP/EXP] Probleme d'index unique
    Par rours dans le forum Oracle
    Réponses: 17
    Dernier message: 18/05/2005, 16h37
  4. Réponses: 2
    Dernier message: 22/07/2004, 01h27

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