ORA-01502 index or partition of such index is in unusable state

Publié le 27 Janvier 2010

Et oui deuxième article sur SQL*Loader et déjà premier problème.

Juste après avoir exécuter sqlldr comme je vous l'expliquais précédemment, je me retrouve avec une magnifique erreur ORA-01502 et plus possible d'effectuer un simple SELECT sur la table MOTS_CLES.

En fait la raison est simple (mais c'était pas si évident à trouver, si si):

Si vous avez remarqué je récupère que les 10 premiers caractères de chaque mot-clé qui se trouve dans le fichier texte. Et du coup il y a eu des doublons lors de l'insertion des données.

Et comme on utilise le mode direct (option direct=true) sqlldr écrit directement dans les fichiers de la base sans vérifier les contraintes comme l'unicité de la clé publique. Du coup quand il a fini et qu'il essaie de reconstruire l'index et ben boum!! c'est tout cassé!

Donc attention au doublons en mode direct!!

Ce problème est très bien expliquer ici: http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96652/ch09.htm#1007759

Rédigé par damien

Publié dans #Oracle

Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
D
<br /> Par contre pour l'index en question c'est mort! Il faut le détruire puis le recréer. J'ai pas trouvé d'autres solutions pour l'instant.<br /> <br /> <br />
Répondre