web123456

Oracle bad blocks, one trick to teach you how to repair oracle bad blocks (two) step by step! ! !

  • [oracle@mongodb xtts11g]$ sqlplus / as sysdba
  • SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 23 11:27:12 2021
  • Copyright (c) 1982, 2013, Oracle. All rights reserved.
  • Connected to an idle instance.
  • SQL> startup
  • ORACLE instance started.
  • Total System Global Area 759943168 bytes
  • Fixed Size 2257112 bytes
  • Variable Size 654315304 bytes
  • Database Buffers 96468992 bytes
  • Redo Buffers 6901760 bytes
  • Database mounted.
  • ORA-01122: database file 3 failed verification check
  • ORA-01110: data file 3: '/oracle/app/oradata/xtts11g/'
  • ORA-01210: data file header is media corrupt
  • SQL> shutdown immediate;
  • ORA-01109: database not open
  • Database dismounted.
  • ORACLE instance shut down.
  • SQL> startup mount;
  • ORACLE instance started.
  • Total System Global Area 759943168 bytes
  • Fixed Size 2257112 bytes
  • Variable Size 654315304 bytes
  • Database Buffers 96468992 bytes
  • Redo Buffers 6901760 bytes
  • Database mounted.
  • SQL> alter database datafile 3 offline;
  • Database altered.
  • SQL> alter database open;
  • Database altered.
  • SQL> create undo tablespace undotbs2 datafile '/oracle/app/oradata/xtts11g/' size 500M autoextend on;
  • Tablespace created.
  • SQL> alter system set undo_tablespace=undotbs2 scope=both;
  • System altered.
  • SQL> drop tablespace undotbs1 including contents and datafiles;
  • drop tablespace undotbs1 including contents and datafiles
  • *
  • ERROR at line 1:
  • ORA-01548: active rollback segment '_SYSSMU1_3724004606$' found, terminate
  • dropping tablespace
  • SQL> select status,segment_name from dba_rollback_segs where status not in ('OFFLINE') and tablespace_name='UNDOTBS1';
  • STATUS SEGMENT_NAME
  • ---------------- ------------------------------
  • NEEDS RECOVERY _SYSSMU1_3724004606$
  • NEEDS RECOVERY _SYSSMU2_2996391332$
  • NEEDS RECOVERY _SYSSMU3_1723003836$
  • NEEDS RECOVERY _SYSSMU4_1254879796$
  • NEEDS RECOVERY _SYSSMU5_898567397$
  • NEEDS RECOVERY _SYSSMU6_1263032392$
  • NEEDS RECOVERY _SYSSMU7_2070203016$
  • NEEDS RECOVERY _SYSSMU8_517538920$
  • NEEDS RECOVERY _SYSSMU9_1650507775$
  • NEEDS RECOVERY _SYSSMU10_1197734989$
  • 10 rows selected.
  • SQL> create pfile from spfile;
  • File created.
  • SQL> select segment_name from dba_rollback_segs where status not in ('OFFLINE') and tablespace_name='UNDOTBS1';
  • SEGMENT_NAME
  • ------------------------------
  • _SYSSMU1_3724004606$
  • _SYSSMU2_2996391332$
  • _SYSSMU3_1723003836$
  • _SYSSMU4_1254879796$
  • _SYSSMU5_898567397$
  • _SYSSMU6_1263032392$
  • _SYSSMU7_2070203016$
  • _SYSSMU8_517538920$
  • _SYSSMU9_1650507775$
  • _SYSSMU10_1197734989$
  • 10 rows selected.
  • SQL> shutdown immediate;
  • Database closed.
  • Database dismounted.
  • ORACLE instance shut down.