Bonjour,
J'aimerai prendre conseils auprès de vous, on m'informe ce matin qu'il ya des corruption de blocs et que la base est en no archivelog, avec un backup à froid tous les 25 du mois .

SQL>  select * from v$database_block_corruption;
     FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------- ---------- ---------- ------------------ ---------
         5     387206          1                  0 CHECKSUM
         5     387324          1                  0 FRACTURED
         5     387356          1                  0 CORRUPT
         5     387325          3                  0 NOLOGGING
         5     387328         28                  0 NOLOGGING
J'avais tenté de faire un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
RMAN> RECOVER DATAFILE 5 BLOCK 387206;
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
RMAN> RECOVER CORRUPTION LIST;
Mais ça n'a pas résolu le souci.

Après quelques recherches on me propose de supprimer et de créer un nouveau tablespace avec le même nom ou de faire DBMS_REPAIR :
J'ai lancé le DBMS_REPAIR.ADMIN_TABLES et DBMS_REPAIR.CHECK_OBJECT mais ils me retournent une erreur comme quoi le nom d'objet existe déjà à SYS.DBMS_SQL et à SYS.DBMS_REPAIR
(ORA-00955 et ORA-06512).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
BEGIN
DBMS_REPAIR.ADMIN_TABLES (
     TABLE_NAME => 'REPAIR_TABLE',
     TABLE_TYPE => dbms_repair.repair_table,
     ACTION     => dbms_repair.create_action,
     TABLESPACE => 'MonTablespace');
END;
/