ORA-01578: Oracle data block corrupted (file #, block #) (bloc de données Oracle corrompu)
OracleQue signifie cette erreur ?
Un bloc de données du fichier de données indiqué est corrompu ; Oracle signale que le bloc a échoué à sa vérification de cohérence (checksum). Il s'agit d'une corruption physique.
Cause
Défaillance disque/matérielle, erreurs de la couche de stockage, problèmes du système d'exploitation ou du contrôleur, blocs partiellement écrits après une coupure de courant, ou sauvegarde/restauration corrompue.
Comment la corriger
Confirmez la corruption et son étendue : RMAN> VALIDATE DATABASE / VALIDATE CHECK LOGICAL DATAFILE n; exécutez aussi DBVERIFY (dbv) et consultez v$database_block_corruption. Si une sauvegarde existe, récupérez au niveau du bloc : RMAN> RECOVER DATAFILE n BLOCK m; ou, pour tous les blocs listés, RMAN> RECOVER CORRUPTION LIST; (l'ancienne commande BLOCKRECOVER est dépréciée depuis 11g). S'il s'agit d'un bloc d'index, reconstruisez l'index. Vérifiez toujours l'état du matériel/des disques ; la cause racine est généralement le stockage.
Autres entrées pour ce moteur
- ORA-01000Maximum open cursors exceeded (nombre maximal de curseurs ouverts dépassé)
- ORA-00018Maximum number of sessions exceeded (nombre maximal de sessions dépassé)
- ORA-28000The account is locked (le compte est verrouillé)
- ORA-01722Invalid number (nombre invalide)
- ORA-02049Timeout: distributed transaction waiting for lock (délai expiré : transaction distribuée en attente de verrou)
- enq: TX - row lock contentionAttente : session bloquée sur un verrou de ligne détenu par une autre transaction
- log file syncAttente : session attendant que LGWR écrive le redo sur disque au commit