ORA-01578: ORACLE data block corrupted



Today's alert log information

ORA-01578: ORACLE data block corrupted

and ?

Alert log shows that the corrupted blocks resides in one datafile 

DBVERIFY ... all blocks seems to be ok ..

 (Doc ID 1088018.1) Mastre Note For Block Corruptions

Sweep [inc2][928951]: completed
Sweep [inc2][928950]: completed
ORA-12012: error on auto execute of job "SYS"."IDX_RB$J_446068_6"
ORA-12801: error signaled in parallel query server P028
ORA-01578: ORACLE data block corrupted (file # 159, block # 482605)
ORA-01110: data file 159: '/share_fmra_3/vcdrra/datafiles/aggregate_3.dbf'
2013.12.20 11:20:05 [ oracle@<host>:/oracle_fmra/diag/rdbms/sid/vcdrra/trace ]
$ dbv file=/share_fmra_3/vcdrra/datafiles/aggregate_3.dbf

DBVERIFY: Release 11.2.0.3.0 - Production on Fri Dec 20 11:20:30 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

DBV-00103: Specified BLOCKSIZE (8192) differs from actual (32768)
2013.12.20 11:20:30 [ oracle@<host>:/oracle/diag/rdbms/sid/sid/trace ]
$ dbv file=/share_3/dbsid/datafiles/file3.dbf BLOCKSIZE=32768

DBVERIFY: Release 11.2.0.3.0 - Production on Fri Dec 20 11:20:36 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

DBVERIFY - Verification starting : FILE = /share_3/dbsid/datafiles/file3.dbf

I decided to move all objects from tablespace

------------------------------------------------------------------------------------------------------------
set serveroutput on ;
DECLARE
--kamil.piorekk@gmail.com
v1 VARCHAR (4000);
stmt VARCHAR (4000);
  c NUMBER;
  dummy NUMBER;
CURSOR c1 IS
SELECT OWNER,SEGMENT_NAME,SEGMENT_TYPE FROM dba_segments WHERE TABLESPACE_name LIKE 'TBS1' AND segment_type IN ('INDEX','TABLE');
BEGIN
FOR rec IN c1
  LOOP
    IF rec.SEGMENT_TYPE LIKE 'TABLE' THEN
        stmt:='ALTER '||rec.segment_type||' '||rec.owner||'.'||rec.segment_name||' MOVE TABLESPACE TBS2';
     END IF ;

        IF rec.SEGMENT_TYPE LIKE 'INDEX' THEN
        stmt:='ALTER '||rec.segment_type||' '||rec.owner||'.'||rec.segment_name||' REBUILD TABLESPACE TBS2';
        END IF;
                dbms_output.put_line(stmt);
         EXECUTE IMMEDIATE stmt;
    END LOOP ;
  END;
------------------------------------------------------------------------------------------------------------


Komentarze