J'ai juste eu un crash de base de données oracle9 et il m'a laissé avec quelques fichiers .trc. Certains d'entre eux ont spécifié des index qui n'étaient pas corrects et j'ai abandonné et lu ces index.Comment corriger une incompatibilité de nombre de lignes Table/Index oracle
Cependant, quand je lance:
ANALYZE TABLE TABLESPACE.TABLE VALIDATE STRUCTURE CASCADE;
Je reçois encore une erreur: ora_00900, sqlstate: 4200
Cela crée un fichier .trc avec:
Table/Index row count mismatch
table 1172 : index 1250, 0
Index root = tsn: 9 rdba: 0x0240390b
Que dois-je faire avec cette information?
Je trouve ce lien, mais je ne suis pas sûr de savoir comment l'utiliser: http://www.freelists.org/post/oracle-l/Table-index-mismatch-trace-file,1
cela peut-il être modifié donc je n'ai pas à taper la commande via sqlplus? J'ai un accès plus facile aux outils comme l'écureuil. –
Dans la première requête, remplacez le texte '&& rdba' (y compris les guillemets) par '0x0240390b' (y compris les guillemets). Ensuite, exécutez la requête où vous voulez. –
Got it, cette requête fonctionne. Cependant, la deuxième requête ne le fait pas. La table dba_extents a file_id = 9 hits, mais rien ne correspond à la partie block_id de la clause where. –