Bonjour,
Sur une base de données que j'utilise (mais dont je ne suis pas l'administrateur), je suis tombé sur l'erreur Oracle suivante :
Envoyé par
Erreur Oracle
ORA-01578: ORACLE data block corrupted (file # 12, block # 509440)
ORA-01110: data file 12: '+DATA/***/***/tbs_data.884.875710805'
Après, avoir faire un analyse rapide, j'ai constaté que ce bloc est associé au données d'une table que j'utilise via la requête suivante :
select OWNER, SEGMENT_NAME, SEGMENT_TYPE from DBA_EXTENTS where file_id = 12 and 509440 between block_id and (block_id + blocks - 1);
Sachant que les données sur la table correspondante ne sont pas vitales et qu'un rechargement de la base de données n'est pas possible pour d'autre raison. (Et que les DBA ne peuvent pas corrigé eux-même le problème )
Pour esquiver le problème n'envisage Trois solutions :
1. Droper la table
2. Renommer la table et en créer une nouvelle (Équivalant au drop ?)
3. Supprimer les données correspondantes aux blocs corrompus.
Pour le 3. Je pensais faire un accès au contenu ligne à ligne et si j'ai une erreur indiquant un contenu corrompu, le supprimer.
Y-a-t-il un "expert" qui pourrait me dire si ces solutions ont une chance de marché ou si je perd mon temps.
Cordialement,
Patrick Kolodziejczyk.
Partager