Ora-01578 data block got corrupted

hi folks,
im running oracle9i and using VB6.0 as my front-end. suddenly in my application i got the above error and after a couple of minutes everything is fine.
i would like to know from the guru's and pandits of oracle why this error occurs and what is the best solution to avoid these type of errors in future.
thanks to one n all
have a nice day n night as well

First you need to find out the corrupted block details using available different methods, that is, ANALYZE, DB_VERIFY, DBMS_REPAIR, DB_BLOCK_CHECKING etc., and correct or repair the data block corruption
For more details on how to detect and repair the data block corruption, take a look at the below Oracle Documentations.
http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/repair.htm
Oracle Metalink Note:28814.1
Subject “Handling Oracle Block Corruptions in Oracle7/8/8i/9i/10g”
Asktom Links for block corruption
http://asktom.oracle.com/pls/asktom/f?p=100:1:1990916026426034::NO:RP::
Regards,
Sabdar Syed.

Similar Messages

  • Data blocks are corrupted : Error ORA-01578

    Hi All,
    We having a serious problem with the oracle running in our development server.
    Data blocks are corrupted with the error ORA-01578
    and we have identified the segment as an Table TBTCO.
    Hence can any body suggest us the way to resolve this.
    Currently we dont require any data from that table. In that
    case can we drop down the table and import it again with
    the same table downloaded from production server?
    As we dont have any oracle DBA's please suggest us the way to resolve this.
    Please advise.
    Thanks & Regards,
    DVRK

    Hey,
    if you are using RMAN backup you can restore and recover only the corrupted blocks.
    For more information take a look at that nice blog article from Lars:
    Some hints to make handling of oracle datablock corruptions more efficient
    If you don't have any idea howto handle this situation, please open a SAP call.
    Regards
    Stefa

  • Ora-26040 : data block was loaded using the NOLOGGING option

    i have restored full back up database using RMAN sucessfully from one server to another .Restoration process do not contain any error.
    New Database contain job when it executes then it leaves mesaage in alert log.
    "ORA-01578 oracle data block corrupted file # 6 block # 6888812"
    "ORA-26040 data block was loaded using nologging option".
    please let me know how it could recovered and prevented.
    regards
    prabhat

    In short, your full backup has happened when a NOLOGGING transaction was on flight. Hence the recovery process should get the transaction's data out of archive logs. BUT the data doesn't exist in archivelog beause the transaction was NOLOGGING. For comprehensive detail read the documents above.
    To prevent this situation, backup the database when no NOLOGGING transaction is running.

  • Ora-01113 and ora-01110 -- Data Block Corruption

    Running 10g no backup and noarchivelog.
    I put the datafile offline so I can bring up the database. Can anyone help me figure out how to fix the Bad datafile?
    Thank You,

    TRACE FILE INFORMATION
    SQL> select pa.value || '/' || i.instance_name || '_ora_'
      2         || pr.spid || '.trc' as trace_file
      3  from v$session s, v$process pr, v$parameter pa, v$instance i
      4  where s.username = user and s.paddr = pr.addr
      5* and pa.name='user_dump_dest';
    TRACE_FILE
    /oracle/admin/ora9i/udump/ora9i_ora_25199.trcDUMPING A TABLE BLOCK
    SQL> select file_id,block_id,bytes,blocks
      2  from dba_extents
      3  where owner='P' and segment_name='EMP';
    FILE_ID   BLOCK_ID            BYTES   BLOCKS
          3          9           65,536        8next is to find out the tablespace name and the datafile...
    SQL> select tablespace_name,file_name from dba_data_files
      2  where relative_fno = 3;
    TABLESPACE_NAME                FILE_NAME
    USER_DATA           /oradata3/ora9i/user_data01.dbfNow that we know which file and blocks hold our table, let’s dump a sample block of the table. This is done as follows:
    SQL> alter system dump datafile 3 block 10;System altered.
    Let’s now look at the contents of dumping one block.
    Start dump data blocks tsn: 3 file#: 3 minblk 10 maxblk 10
    buffer tsn: 3 rdba: 0x00c0000a (3/10)
    scn: 0x0000.00046911 seq: 0x02 flg: 0x04 tail: 0x69110602
    frmt: 0x02 chkval: 0x579d type: 0x06=trans data
    Block header dump:  0x00c0000a
    Object id on Block? Y
    seg/obj: 0x6d9c  csc: 0x00.46911  itc: 2  flg: O  typ: 1 - DATA
         fsl: 0  fnx: 0x0 ver: 0x01
    Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
    0x01   xid:  0x0005.02f.0000010c    uba: 0x00806f10.00ca.28  C---    0  scn 0x0000.00046900
    0x02   xid:  0x0003.01c.00000101    uba: 0x00800033.0099.04  C---    0  scn 0x0000.00046906
    This is the beginning of the data block dump. The first line tells us that we are dumping file#3, starting at block# 10 (minblk), and finishing with block# 10 (maxblk). Had we dumped more than one data block, these values would represent a range. The relative data block address (rdba) is 0x00c0000a. For more information on the rdba, refer to a later section in this paper. At the end of this line, we can see in parentheses that the rdba corresponds to file# 3, block# 10 (3/10).
    The third line describes the SCN of the data block. In our case, the SCN is 0x0000.00046911. The tail of the data block is composed of the last two bytes of the SCN (6911) appended with the type (06) and the sequence (02). If the decomposition of the tail does not match these three values, then the system knows that the block is inconsistent and needs to be recovered. While this tail value shows up at the beginning of the block dump, it is physically stored at the end of the data block.
    The block type shows up on the fourth line. Some of the valid types correspond to the following table:
         Type     Meaning                    
         0x02     undo block
    0x06     table or index data block
    0x0e     undo segment header
         0x10     data segment header block
         0x17     bitmapped data segment headeri hope it will help...

  • ORA-01578 - bad blocks.

    Hello,
    We had a SAN crash last month and with all the confusion I missed that we had some bad blocks after the crash. Our RMAN backups have now aged out so we don't have a RMAN backup. What I do have is a datapump backup from before the event. This is table corruption. Is there a way to either restore the table to a stage location, catalog the table or datafile somehow, then restore the bad block? Otherwise, somehow determine the bad data and get the data from the backed up table and insert it back into the bad table after I re-recreate it without the bad blocks?
    Oracle support is just saying recreate the table skipping the bad blocks but there has to be some way here if the data is on that datapump backup that I can determin what it is then restore it.
    Thanks

    The fix blocks procedure did not work and I have not attempted the skip blocks. If I run the skip corrupt blocks will my query work? Is that worth a shot next?
    select count(*) TRACKING_ID from JEBCS3NM.TRACKABLE_OBJECT t, JEBCS3NM.CONVEYANCE c where c.TRACKABLE_OBJECT_GUID = t.TRACKABLE_OBJECT_GUID and PRIMARY_MOVER_ID is null
    ERROR at line 1:
    ORA-01578: ORACLE data block corrupted (file # 75, block # 1024073)
    ORA-01110: data file 75: '/u02/oradata/bcso/jebcs3nm_d.dbf'
    SELECT OBJECT_NAME, BLOCK_ID, MARKED_CORRUPT
      2       FROM REPAIR_TABLE;
    OBJECT_NAME                      BLOCK_ID MARKED_COR
    CONVEYANCE                        1024073 TRUE
    CONVEYANCE                        1024105 TRUE
    CONVEYANCE                        1024113 TRUE
    SQL> SET SERVEROUTPUT ON
    SQL> DECLARE num_fix INT;
      2  BEGIN
    num_fix := 0;
    DBMS_REPAIR.FIX_CORRUPT_BLOCKS (
         SCHEMA_NAME => 'JEBCS3NM',
      6       OBJECT_NAME=> 'CONVEYANCE',
      7       OBJECT_TYPE => dbms_repair.table_object,
         REPAIR_TABLE_NAME => 'REPAIR_TABLE',
         FIX_COUNT=> num_fix);
    DBMS_OUTPUT.PUT_LINE('num fix: ' || TO_CHAR(num_fix));
    END;
    12  /
    num fix: 0
    PL/SQL procedure successfully completed.

  • Data file got corrupted

    <b>If the datafile get corrupted while creating, what should I do?</b>

    Hi
    During creation of datafile, if the datafile got corrupted then you can delete the data file and recreate it again. The condition is that the particular data file has not been used after creation.
    But if the datafile is created snd used, then you have to restore the datafile from the backup (use the Brtools to restore the datafile)
    Please use Brtools utliity for the same.
    Thanks

  • Data block corrupted on standby database (logical corruption)

    Hi all,
    we are getting the below error on our DRSITE,it is MANUAL PHYSCIAL STANDBY DATABSE...
    The following error has occurred:
    ORA-01578: ORACLE data block corrupted (file # 3, block # 3236947)
    ORA-01110: data file 3: '/bkp/oradata/orcl_raw_cadata01'
    ORA-26040: Data block was loaded using the NOLOGGING option
    I have checked in the Primary database, that there are some object which are not being logged into the redo logfiles.....
    SQL> select table_name,INDEX_NAME,logging from dba_indexes where logging='NO'
    TABLE_NAME INDEX_NAME LOG
    MENU_MENUS NUX_MENU_MENUS_01 NO
    MENU_USER_MENUS MENU_USER_MENUS_X NO
    OM_CITY IDM_OM_CITY_CITY_NAME NO
    OM_EMPLOYER                    EMPLR_CODE_PK                  NO
    OM_EMPLOYER                    IDM_EMPLR_EMPLR_NAME           NOOM_STUDENT_HEAD OM_STUDENT_HEAD_HEAD_UK01 NO
    OT_DAK_ENTRY_DETL DED_SYS_ID_PK NO
    OT_DAK_ENTRY_HEAD DEH_SYS_ID_PK NO
    OT_DAK_ENTRY_HEAD IDM_DEH_DT_APPL_REGION NO
    OT_DAK_ENTRY_HEAD IDM_DEH_REGION_CODE NO
    OT_DAK_REFUNDS_DETL DRD_SYS_ID_PK NO
    TABLE_NAME INDEX_NAME LOG
    OT_MEM_FEE_COL_DETL IDM_MFCD_MFCH_SYS_ID NO
    OM_STUDENT_HEAD IDM_STUD_COURSE NO
    13 rows selected.
    so the main problem is in the OM_EMPOYER tables if i would delete the indexes from that table recreate it again with the logging clause,and then apply the archvied logs to the DRSITE.WILL THE problem will resolve.
    Pls suggest me...

    Hi..
    Firstly how did you confirm that it was that index only.Can you post the output of
    SELECT tablespace_name, segment_type, owner, segment_name
    FROM dba_extents WHERE file_id = 3 and 3236947 between block_id
    AND block_id + blocks - 1;
    This query can take time, if are sure that its the index don't fire this command .
    Secondly, when you will drop and recreate the index, it will be logged into the redo logfile.This information will be be logged in to an the archivelog file as its the replica of the redo logfile. Then when you apply this archive log maually, it will drop that index and then recreate it using the same sql.
    HTH
    Anand

  • ORA-01578 error

    Hi,
    I was trying to collect schema stats. The system occurred with ORA-01578 error.
    ORA-01110: data file 7: 'M:\ORADATA\PRODORCL\DATAMDM01.DBF'
    ORA-26040: Data block was loaded using the NOLOGGING option
    ORA-06512: at "SYS.DBMS_STATS", line 12887
    ORA-06512: at "SYS.DBMS_STATS", line 13213
    ORA-06512: at "SYS.DBMS_STATS", line 13289
    ORA-06512: at "SYS.DBMS_STATS", line 13249
    ORA-06512: at line 2
    I was trying to do:
    SELECT TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS') FROM DUAL;
    begin
    dbms_stats.gather_schema_stats(ownname=>'DBA',estimate_percent => 10,method_opt=>'FOR ALL COLUMNS SIZE 1',cascade=> true);
    end;
    Thanks

    I do understand, but I have dealt with block corruption. Can you please tell me how to fix this.
    I have gone through couple of documents and tried:
    set serveroutput on
    declare corr_count binary_integer;
    begin
    corr_count := 0;
    dbms_repair.CHECK_OBJECT (
    schema_name => 'DBA',
    object_name => 'INVENTORY',
    partition_name => null,
    object_type => dbms_repair.table_object,
    repair_table_name => 'REPAIR_TEST',
    flags => null,
    relative_fno => null,
    block_start => null,
    block_end => null,
    corrupt_count => corr_count
    dbms_output.put_line(to_char(corr_count));
    end;
    it shows :
    6226
    but when I do:
    set serveroutput on
    declare fix_count binary_integer;
    BEGIN
    fix_count := 0;
    dbms_repair.FIX_CORRUPT_BLOCKS (
    schema_name => 'DBA',
    object_name => 'INVENTORY',
    partition_name => null,
    object_type => dbms_repair.table_object,
    repair_table_name => 'REPAIR_TEST',
    flags => null,
    fix_count => fix_count
    dbms_output.put_line(to_char(fix_count));
    END;
    it shows:
    0
    but it should be show the same 6226.
    Can you please tell or provide doc for fixing this?
    Oracle 10.1.0.5 on windows 2003

  • DBIF_SETG_SQL_ERROR ON ORA-01578

    Hello Experts,
    I am facing above mentioned runtime error when i m trying to double click on perform statement to create form.
    i have used perform GET_DATA in my program. when i double-clink on GET_DATA to create a form with dat name, it displays this error.
    Any advice is welcomed.
    Thanks & Regards,
    Vinit.

    Hi simplyvinit ,
    Check the table UVERS to verify for upgraded recently.  
    ORA-01578 ORACLE data block corrupted (file # num, block # num)
    Cause:The given data block was corrupted, probably as a result of program errors.
    Action:Try to restore the segment containing the given data block. This may involve dropping the segment and re-creating it.
    Hope this information is help to you.
    Regards,
    José

  • ORA-01578 about standby database in read only mode

    Hi,
    I have an ORA-05178 (data block corrupted) about a standby database which in read-only mode. About production database, there is no problem.
    After analyze, this is an index segment :
    SELECT segment_name , segment_type , owner , tablespace_name
    FROM sys.dba_extents
    WHERE file_id = 58
    AND 218173 BETWEEN block_id and block_id + blocks -1
    SEGMENT_NAME SEGMENT_TYPE OWNER TABLESPACE_NAME
    SICINHIS01 INDEX MOWIN IDX_DATA01
    There is no constraint.
    How can I repair this problem ?
    Nicolas

    Hi,
    I have an ORA-05178 (data block corrupted) about a standby database which in read-only mode. About production database, there is no problem.
    After analyze, this is an index segment :
    SELECT segment_name , segment_type , owner , tablespace_name
    FROM sys.dba_extents
    WHERE file_id = 58
    AND 218173 BETWEEN block_id and block_id + blocks -1
    SEGMENT_NAME SEGMENT_TYPE OWNER TABLESPACE_NAME
    SICINHIS01 INDEX MOWIN IDX_DATA01
    There is no constraint.
    How can I repair this problem ?
    Nicolas

  • Need advice on ORA-01578: ORACLE data block corrupted

    We have a development database server version- 10.2.0.3 with materialized views refresh as complete every morning. Yesterday we had a power failure and the server went down and database was shutdown unexpectedly.
    When we restarted the database after the server restarted, we found some of the datablocks got corrupted . Following were the exceptions that we saw in the alert.log.
    Errors in file /i01_01/app/oracle/product/10.2.0/db_1/admin/orcl9/bdump/orcl9_smon_7547.trc:
    ORA-01578: ORACLE data block corrupted (file # 11, block # 257712)
    ORA-01110: data file 11: '/i01_01/app/oracle/product/10.2.0/oradata/orcl9/ts_gen_data_02.dbf'
    ORACLE Instance orcl9 (pid = 8) - Error 1578 encountered while recovering transaction (9, 38) on object 54463
    I tried the following query to see the segment type.
    select owner, segment_name, segment_type from dba_extents where file_id =11 and 257712 between block_id and block_id + blocks - 1;
    OWNER
    SEGMENT_NAME
    SEGMENT_TYPE
    VISH
    INVENTORY_TXN
    TABLE
    where " INVENTORY_TXN " is a materialized view that was using the block that got corrupted. I can always recreate the MV by dropping and recreating it. Will it solve the problem???
    If not, how can I recover/repair the block.???
    Can anyone advice on this. Thanks very much in advance.

    To recover a corrupted block,the best way out is to use Blockrecover command of RMAN. So you would need RmAN backup to perform the operation.But first ypu you need to ensure that this is a persistent error or not? Is this error is coming repeatedly or just once it happened?
    About Blockrecover command,read here,
    http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/rcmrecov005.htm#BRADV157
    HTH
    Aman....

  • Oracle V11.2.0.3 ORA-01578: ORACLE data block corrupted - OBJECT = IDL_UB1$

    Hi,
    I am running into a data corruption issue.
    My database is:
    SQL> select banner from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE 11.2.0.3.0 Production
    TNS for Linux: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    The following information is written to the alert.log File
    alert.log File
    Mon Nov 07 17:24:12 2011
    Starting ORACLE instance (normal)
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
    Picked latch-free SCN scheme 2
    Using LOG_ARCHIVE_DEST_1 parameter default value as USE_DB_RECOVERY_FILE_DEST
    Autotune of undo retention is turned on.
    IMODE=BR
    ILAT =27
    LICENSE_MAX_USERS = 0
    SYS auditing is disabled
    Starting up:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production.
    ORACLE_HOME = /home/oracle/dbhome
    System name: Linux
    Node name: dbl-ora
    Release: 2.6.18-274.3.1.el5 (This is rhel5.7 or CentOs5.7)
    Version: #1 SMP Tue Sep 6 20:14:03 EDT 2011
    Machine: i686 / vm
    Mon Nov 07 19:42:14 2011
    Corrupt Block Found
    TSN = 0, TSNAME = SYSTEM
    RFN = 1, BLK = 52346, RDBA = 4246650
    OBJN = 225, OBJD = 225, OBJECT = IDL_UB1$, SUBOBJECT =
    SEGMENT OWNER = SYS, SEGMENT TYPE = Table Segment
    Errors in file /home/oracle/diag/rdbms/ora11/K/trace/K_ora_5425.trc (incident=11053):
    ORA-01578: ORACLE data block corrupted (file # 1, block # 52346)
    ORA-01110: data file 1: '/home/oracle/oradata/ora11/system01.dbf'
    Incident details in: /home/oracle/diag/rdbms/ora11/K/incident/incdir_11053/K_ora_5425_i11053.trc
    I was even able to detect the row that is generating the issue.
    In my case the obj# 33573 until 33577 are causing the issue,
    though I have no idea what sort of objects are affected.
    SQL> select * from idl_ub1$ where obj#=33572;
    OBJ# PART VERSION PIECE# LENGTH P
    33572 1 0 0 9032 F
    SQL> select * from idl_ub1$ where obj#=33573;
    ERROR:
    ORA-01578: ORACLE data block corrupted (file # 1, block # 52346)
    ORA-01110: data file 1: '/home/oracle/oradata/ora11/system01.dbf'
    no rows selected
    SQL> select * from idl_ub1$ where obj#=33577;
    ERROR:
    ORA-01578: ORACLE data block corrupted (file # 1, block # 52358)
    ORA-01110: data file 1: '/home/oracle/oradata/ora11/system01.dbf'
    no rows selected
    SQL> select * from idl_ub1$ where obj#=33578;
    OBJ# PART VERSION PIECE# LENGTH P
    33578 1 0 0 9032 F
    Any idea, how to fix this problem without recreating the whole database?
    Thanks in advance.
    wmager
    Edited by: magerxr on Nov 7, 2011 8:27 AM

    magerxr wrote:
    Thanks again for your quick advise.
    Here comes the result of dbv against my system tablespace.
    [oracle@dbl-ora ~]$ dbv FILE=/home/oracle/oradata/ora11/system01.dbf
    DBVERIFY: Release 11.2.0.3.0 - Production on Mon Nov 7 22:39:11 2011
    Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
    DBVERIFY - Verification starting : FILE = /home/oracle/oradata/ora11/system01.dbf
    Page 52346 is influx - most likely media corrupt
    Corrupt block relative dba: 0x0040cc7a (file 1, block 52346)
    Fractured block found during dbv:
    Data in bad block:
    type: 6 format: 2 rdba: 0x0040cc7a
    last change scn: 0x0000.0010acfa seq: 0x1 flg: 0x04
    spare1: 0x0 spare2: 0x0 spare3: 0x0
    consistency value in tail: 0x00000000
    check value in block header: 0x8fda
    computed block checksum: 0xaafbselect owner, segment_type, segment_name from dba_extents
    where file_id = 1 and 52346 between block_id and block_id+blocks-1;
    >
    Page 52347 is marked corrupt
    Corrupt block relative dba: 0x0040cc7b (file 1, block 52347)
    Bad header found during dbv:
    Data in bad block:
    type: 1 format: 6 rdba: 0x0000a206
    last change scn: 0xacfa.0040cc7b seq: 0x10 flg: 0x00
    spare1: 0xfa spare2: 0xac spare3: 0x401
    consistency value in tail: 0x00000000
    check value in block header: 0x0
    block checksum disabled
    select owner, segment_type, segment_name from dba_extents
    where file_id = 1 and 52347 between block_id and block_id+blocks-1;
    Page 52361 is marked corrupt
    Corrupt block relative dba: 0x0040cc89 (file 1, block 52361)
    Bad header found during dbv:
    Data in bad block:
    type: 1 format: 6 rdba: 0x0000a206
    last change scn: 0xacfb.0040cc89 seq: 0x10 flg: 0x00
    spare1: 0xfb spare2: 0xac spare3: 0x401
    consistency value in tail: 0x32298500
    check value in block header: 0x0
    block checksum disabled
    select owner, segment_type, segment_name from dba_extents
    where file_id = 1 and 52361 between block_id and block_id+blocks-1;
    >
    >
    DBVERIFY - Verification complete
    Total Pages Examined : 122880
    Total Pages Processed (Data) : 81298
    Total Pages Failing (Data) : 0
    Total Pages Processed (Index): 22307
    Total Pages Failing (Index): 0
    Total Pages Processed (Other): 3349
    Total Pages Processed (Seg) : 1
    Total Pages Failing (Seg) : 0
    Total Pages Empty : 15910
    Total Pages Marked Corrupt : 16
    Total Pages Influx : 1
    Total Pages Encrypted : 0
    Highest block SCN : 4064615 (0.4064615)post results from 3 SQL above

  • ORA-01578: ORACLE data block corrupted (file # 1, block # 53713)

    When i tried to export data from db (Oracle 11g, 64bit on Linux)
    Im getting following error
    About to export specified users ...
    . exporting pre-schema procedural objects and actions
    EXP-00008: ORACLE error 604 encountered
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01578: ORACLE data block corrupted (file # 1, block # 53713)
    ORA-01110: data file 1: '/u02/oradata/RSDB1/system01.dbf'
    EXP-00083: The previous problem occurred when calling EXFSYS.DBMS_EXPFIL_DEPASEX P.schema_info_exp
    EXP-00008: ORACLE error 604 encountered
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01578: ORACLE data block corrupted (file # 1, block # 55497)
    ORA-01110: data file 1: '/u02/oradata/RSDB1/system01.dbf'
    EXP-00083: The previous problem occurred when calling SYS.DBMS_CUBE_EXP.schema_i nfo_exp
    . exporting foreign function library names for user WB_APP_MANAGER
    . exporting PUBLIC type synonyms
    EXP-00008: ORACLE error 604 encountered
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01578: ORACLE data block corrupted (file # 1, block # 44638)
    ORA-01110: data file 1: '/u02/oradata/RSDB1/system01.dbf'
    EXP-00000: Export terminated unsuccessfully
    I donot understand how to solve this issue Please help me to solve this issue..
    Thanks

    891620 wrote:
    When i tried to export data from db (Oracle 11g, 64bit on Linux)
    Im getting following error
    About to export specified users ...
    . exporting pre-schema procedural objects and actions
    EXP-00008: ORACLE error 604 encountered
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01578: ORACLE data block corrupted (file # 1, block # 53713)
    ORA-01110: data file 1: '/u02/oradata/RSDB1/system01.dbf'
    EXP-00083: The previous problem occurred when calling EXFSYS.DBMS_EXPFIL_DEPASEX P.schema_info_exp
    EXP-00008: ORACLE error 604 encountered
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01578: ORACLE data block corrupted (file # 1, block # 55497)
    ORA-01110: data file 1: '/u02/oradata/RSDB1/system01.dbf'
    EXP-00083: The previous problem occurred when calling SYS.DBMS_CUBE_EXP.schema_i nfo_exp
    . exporting foreign function library names for user WB_APP_MANAGER
    . exporting PUBLIC type synonyms
    EXP-00008: ORACLE error 604 encountered
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01578: ORACLE data block corrupted (file # 1, block # 44638)
    ORA-01110: data file 1: '/u02/oradata/RSDB1/system01.dbf'
    EXP-00000: Export terminated unsuccessfully
    I donot understand how to solve this issue Please help me to solve this issue..
    Thanksrun dbv against '/u02/oradata/RSDB1/system01.dbf'
    & post results back here
    dbv
    DBVERIFY: Release 11.2.0.1.0 - Production on Fri Oct 14 20:39:11 2011
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Keyword     Description                    (Default)
    FILE        File to Verify                 (NONE)
    START       Start Block                    (First Block of File)
    END         End Block                      (Last Block of File)
    BLOCKSIZE   Logical Block Size             (8192)
    LOGFILE     Output Log                     (NONE)
    FEEDBACK    Display Progress               (0)
    PARFILE     Parameter File                 (NONE)
    USERID      Username/Password              (NONE)
    SEGMENT_ID  Segment ID (tsn.relfile.block) (NONE)
    HIGH_SCN    Highest Block SCN To Verify    (NONE)
                (scn_wrap.scn_base OR scn)         

  • ORA-01578: ORACLE data block corrupted

    Dera Guru's,
    In SAP i have following error in Oracle Database
    SQL error in the database when accessing a table
    "Database error text........: "ORA-01578: ORACLE data block corrupted (file #
    38, block # 72576) ORA-01110: data file 38:
    'K:\ORACLE\D01\SAPDATA4\D01_12\D01.DATA12'"
    How can i resolve it.Please guide me...
    Thank you for your help and advice....

    Error: ORA-01578 (ORA-1578)
    Text: ORACLE data block corrupted (file # %s, block # %s)
    Cause: The data block indicated was corrupted, mostly due to software errors.
    Action: Try to restore the segment containing the block indicated. This
    may involve dropping the segment and recreating it. If there
    is a trace file, report the errors in it to your ORACLE
    representative.
    Do you already identify the object corrupted ?
    What kind of backup do you have ?
    Edited by: marcopb on Sep 10, 2012 2:47 PM

  • ORA-01578: ORACLE data block corrupted on tables in sysaux tablespace

    Dear Experts,
    From the alert log file we noticed data block corruptions on one of our datafiles. After further investigation, we realized that the corruptions were on 3 of the AWR related tables in the SYSAUX tablespace:
    1. WRH$_LIBRARYCACHE
    2. WRH$_TEMPSTATXS
    3. WRI$_ALERT_OUTSTANDING
    The bad news is that we may not have a valid rman backup to do the recovery due to the retention policy - RECOVERY WINDOW OF 2 DAYS. Since this is a development database with limited monitoring, we did not discover the corruption until 6 days later. The issue happened about 6 days ago (about Christmas time).
    So, what are our recovery options? Can someone advice? We are thinking about drop and recreate the 3 affected v$WR* tables, but not quite sure about the impact to the system if we drop and recreate the 3 objects. Did someone experience this type of recovery. If you did, what are your approaches?
    We are running oracle 10.2.0.3 version.
    I greatly appreciate your input and suggestion. Thanks!!!

    as long as you have a backup of ur database before christmas, you can use the " MAXDAYS " cmd to get ur backup working so long as you have not used delete obsolote....had a same sistuation....where i had a backup and trying to restore it ...kept saying no valid backup...after going thru some stuff...found the MAXDAYS cmd to use my backup...here is an example ...
    $ rman target /
    Recovery Manager: Release 10.2.0.2.0 - Production on Sun Apr 6 09:05:44 2008
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    connected to target database (not started)
    RMAN> SET DBID=1528894801
    executing command: SET DBID
    RMAN> startup force nomount;
    startup failed: ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/dbs/initsameera.ora'
    starting Oracle instance without parameter file for retrival of spfile
    Oracle instance started
    Total System Global Area 159383552 bytes
    Fixed Size 1259672 bytes
    Variable Size 58722152 bytes
    Database Buffers 92274688 bytes
    Redo Buffers 7127040 bytes
    RMAN> set controlfile autobackup format for device type disk to '/u99/backup/sameera/control_spfile_%F';
    executing command: SET CONTROLFILE AUTOBACKUP FORMAT
    using target database control file instead of recovery catalog
    RMAN> run
    2> {
    3> allocate channel p1 type disk;
    4> restore spfile to pfile '/u01/app/oracle/product/10.2.0/db_1/dbs/initsameera.ora' from autobackup;
    5> shutdown abort;
    6> }
    allocated channel: p1
    channel p1: sid=36 devtype=DISK
    Starting restore at 06-APR-08
    channel p1: looking for autobackup on day: 20080406
    channel p1: looking for autobackup on day: 20080405
    channel p1: looking for autobackup on day: 20080404
    channel p1: looking for autobackup on day: 20080403
    channel p1: looking for autobackup on day: 20080402
    channel p1: looking for autobackup on day: 20080401
    channel p1: looking for autobackup on day: 20080331
    channel p1: no autobackup in 7 days found
    released channel: p1
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of restore command at 04/06/2008 09:09:09
    RMAN-06172: no autobackup found or specified handle is not a valid copy or piece
    Solution:
    RMAN> shutdown abort;
    RMAN> EXIT;
    $ ps -ef |grep pmon
    oracle 2891 2856 0 09:05 pts/1 00:00:00 grep pmon
    oracle 7448 1 0 Apr05 ? 00:00:00 ora_pmon_primary
    $export ORACLE_SID=sameera
    $ rman target /
    Recovery Manager: Release 10.2.0.2.0 - Production on Sun Apr 6 09:05:44 2008
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    connected to target database (not started)
    RMAN> SET DBID=1528894801
    executing command: SET DBID
    RMAN> startup force nomount;
    startup failed: ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/db s/initsameera.ora'
    starting Oracle instance without parameter file for retrival of spfile
    Oracle instance started
    Total System Global Area 159383552 bytes
    Fixed Size 1259672 bytes
    Variable Size 58722152 bytes
    Database Buffers 92274688 bytes
    Redo Buffers 7127040 bytes
    RMAN> set controlfile autobackup format for device type disk to '/u99/backup/sameera/control_spfile_%F';
    executing command: SET CONTROLFILE AUTOBACKUP FORMAT
    using target database control file instead of recovery catalog
    RMAN> run
    2> {
    3> allocate channel p1 type disk;
    4> restore spfile to pfile '/u01/app/oracle/product/10.2.0/db_1/dbs/initsameera.ora' from autobackup maxdays 15;
    5> shutdown abort;
    6> }
    released channel: ORA_DISK_1
    allocated channel: p1
    channel p1: sid=36 devtype=DISK
    Starting restore at 06-APR-08
    channel p1: looking for autobackup on day: 20080406
    channel p1: looking for autobackup on day: 20080405
    channel p1: looking for autobackup on day: 20080404
    channel p1: looking for autobackup on day: 20080403
    channel p1: looking for autobackup on day: 20080402
    channel p1: looking for autobackup on day: 20080401
    channel p1: looking for autobackup on day: 20080331
    channel p1: looking for autobackup on day: 20080330
    channel p1: looking for autobackup on day: 20080329
    channel p1: looking for autobackup on day: 20080328
    channel p1: looking for autobackup on day: 20080327
    channel p1: looking for autobackup on day: 20080326
    channel p1: looking for autobackup on day: 20080325
    channel p1: looking for autobackup on day: 20080324
    channel p1: looking for autobackup on day: 20080323
    channel p1: autobackup found: /u99/backup/sameera/control_spfile_c-1528894801-20080323-00
    channel p1: SPFILE restore from autobackup complete
    Finished restore at 06-APR-08
    Oracle instance shut down
    Check to make sure if initsameera.ora exists in $ORACLE_HOME/dbs location.
    $ cd $ORACLE_HOME/dbs
    $ ls -ltr
    total 7052
    -rw-r----- 1 oracle oinstall 2560 Apr 5 13:21 spfileprimary.ora
    -rw-r----- 1 oracle oinstall 7061504 Apr 5 13:23 snapcf_primary.f
    -rw-rw---- 1 oracle oinstall 1544 Apr 5 18:42 hc_sameera.dat
    -rw-r--r-- 1 oracle oinstall 1087 Apr 6 09:12 initsameera.ora
    $ pwd
    /u01/app/oracle/product/10.2.0/db_1/dbs
    $

Maybe you are looking for