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 :

Erreur 1555 après un alter table/move tablespace


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut Erreur 1555 après un alter table/move tablespace
    Bonjour,

    Matos: HP-UX hptest B.11.11 U 9000/800 (tc)
    Base: Oracle9i Release 9.2.0.5.0 - 64bit Production

    J'ai déplacé plusieurs tables d'un tablespace vers un autre avec des commandes de type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table galilee.prp move tablespace data_gal_01;
    Tout à fonctionné correctement mais lors de l'utilisation de ces tables, Oracle me sort une erreur de type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1502 : 72000 : java.sql.SQLException: ORA-01502: index 'GALILEE.PK_PRP' or partition of such index is in unusable state
    java.sql.SQLException: ORA-01502: index 'GALILEE.PK_PRP' or partition of such index is in unusable state
      at oracle.jdbc.dbacc
    Dans l'exemple le problème est sur une primary key, mais on le rencontre aussi sur les index hors constraint. J'ai corrigé le problème en dropant puis en recréant les index posant problème, mais je souhaiterais connaître la cause de ce dysfonctionnement, et la marche à suivre pour l'éviter plutôt que de le corriger.

    D'avance merci

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Un move réorganise la table, change les RowID
    il est donc obligatoire de reconstruire les indexes associés aux données déplacées.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    Merci.
    Donc pas de moyen de l'éviter? Il faut le corriger à posteriori? Le drop/create index est la meilleur méthode? En existe-il d'autres (meilleurs)?
    Oui, je sais, ça fait 4 questions dans un seul post...

  4. #4
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    1. Non, pas moyen de l'éviter, les RowID changeant, les indexes ne sont plus valides
    2. Oui, faut corriger les indexes après coup; dans l'alert.log, vous avez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Some indexes or index [sub]partitions of table ... have been marked unusable
    mais pas la liste des indexes
    3. Non.
    4. Il vaut mieux faire un rebuild qu'un drop/create.


  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par LeoAnderson
    ...dans l'alert.log, vous avez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Some indexes or index [sub]partitions of table ... have been marked unusable
    mais pas la liste des indexes
    ...
    J'ai la liste avec le database health check de Toad, donc tout va bien.
    Merci pour tout.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/11/2007, 12h37
  2. plus d'extent aprés alter table move
    Par debdba dans le forum Oracle
    Réponses: 4
    Dernier message: 15/02/2007, 19h49
  3. alter table move
    Par jokos2000 dans le forum Oracle
    Réponses: 2
    Dernier message: 05/09/2006, 16h41
  4. Pb Alter table move avec un champ type long
    Par rescue dans le forum Oracle
    Réponses: 8
    Dernier message: 18/08/2006, 13h28
  5. alter table move
    Par jokos2000 dans le forum Oracle
    Réponses: 7
    Dernier message: 15/06/2005, 13h30

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