Corruption_type=Nologging block corruption in RMAN

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit 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
SQL> select * from v$database_block_corruption;
     FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO
        41    2620546        126         2.0901E+12 NOLOGGING
        41    2620674        126         2.0901E+12 NOLOGGING
        41    2620802        126         2.0901E+12 NOLOGGING
        41    2620930        126         2.0901E+12 NOLOGGING
        41    2621058        126         2.0901E+12 NOLOGGING
        41    2621186        126         2.0901E+12 NOLOGGING
        54     753800          8         2.0901E+12 NOLOGGING
        54     753809         15         2.0901E+12 NOLOGGING
        54     753841         15         2.0901E+12 NOLOGGING
        54     753857         15         2.0901E+12 NOLOGGING
        54     753873         15         2.0901E+12 NOLOGGING
I am getting this alert in rman - Can you please help me how to resolve this issue - Please let me know any other information required.

SQL> select * from v$database_block_corruption;
    FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO
        54     753841         15         2.0901E+12 NOLOGGING
        54     753889         15         2.0901E+12 NOLOGGING
        54     753905         15         2.0901E+12 NOLOGGING
        54     754209         15         2.0901E+12 NOLOGGING
        54     754225         15         2.0901E+12 NOLOGGING
        54     754273         15         2.0901E+12 NOLOGGING
        54     754289         15         2.0901E+12 NOLOGGING
        53    1900680        120         2.0901E+12 NOLOGGING
        53    1900802        126         2.0901E+12 NOLOGGING
        53    1900930         60         2.0901E+12 NOLOGGING
        53    1901058        126         2.0901E+12 NOLOGGING
        53    1901186        126         2.0901E+12 NOLOGGING
        53    1901314         60         2.0901E+12 NOLOGGING
        54     753952         32         2.0901E+12 NOLOGGING
        54     754016         32         2.0901E+12 NOLOGGING
        54     754080         32         2.0901E+12 NOLOGGING
        54     754144         32         2.0901E+12 NOLOGGING
        54     754336         32         2.0901E+12 NOLOGGING
        54     754400         32         2.0901E+12 NOLOGGING
        54     754464         32         2.0901E+12 NOLOGGING
        54     754528         32         2.0901E+12 NOLOGGING
        47    2620934        122         2.0901E+12 NOLOGGING
22 rows selected.
SQL> select unique c.FILE#,c.BLOCK#, s.owner, s.segment_name, s.segment_type, s.partition_name  from v$database_block_corruption c, dba_segments s
  2  where  s.header_file = c.file#
  3  and  s.header_block = c.block#;
no rows selected
SQL> select 
  2  unique c.FILE#,c.BLOCK#, e.owner, e.segment_name, e.segment_type, e.partition_name
  3  from  dba_extents e,v$database_block_corruption c
  4  where  e.file_id = c.file#
  5  and  e.block_id = c.block#;
no rows selected
SQL> select *
  2  from dba_extents
  3  where file_id = &AFN
  4  and &BL between block_id AND block_id + blocks - 1;
Enter value for afn: 54
old   3: where file_id = &AFN
new   3: where file_id = 54
Enter value for bl: 754016
old   4: and &BL between block_id AND block_id + blocks - 1
new   4: and 754016 between block_id AND block_id + blocks - 1
OWNER
SEGMENT_NAME
PARTITION_NAME                 SEGMENT_TYPE       TABLESPACE_NAME
EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS RELATIVE_FNO
SPRTHIST
PIHIST00
                               TABLE              SPRTHISTDATA
       289         54     753792   67108864       8192           54

Similar Messages

  • How to overcome Block corruption using RMAN

    Hi All,
    How to overcome bolck corruption using RMAN. What is the procedure to do so.
    Thanks & Regards
    J.Venugopal

    Hi all,
    I´ve performed the following command on RMAN:
    RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE ARCHIVELOG ALL;After, I query the V$DATABASE_BLOCK_CORRUPTION table, and the below records
    was returned:
         FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO
            67       4670          1         1202832866 LOGICAL
            68     154131        338         1175601952 LOGICAL
            68     155329         60         1174783128 LOGICAL
            68     155409         60         1174783132 LOGICAL
            68     155471         78         1174783135 LOGICAL
            68     155551         78         1174783139 LOGICAL
            68     155631         18         1174783143 LOGICAL
            68     155651         18         1174783144 LOGICAL
            68     155671         18         1174783145 LOGICAL
            68     155691         18         1174783146 LOGICAL
            68     155711         18         1174783147 LOGICAL
            68     155731         18         1174783148 LOGICAL
            68     155751         18         1174783149 LOGICAL
            68     155771         78         1174783150 LOGICAL
            68     155851         78         1174783154 LOGICAL
            68     155931         49         1174783158 LOGICAL
            73     165758          1         1180191676 LOGICALSo, when I try to recover these blocks by using blockrecover command, I got the error:
    RMAN> blockrecover corruption list;
    Starting blockrecover at 27-SEP-07
    using channel ORA_DISK_1
    using channel ORA_DISK_2
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of blockrecover command at 09/27/2007 10:22:10
    RMAN-06026: some targets not found - aborting restore
    RMAN-06023: no backup or copy of datafile 73 found to restore
    RMAN-06023: no backup or copy of datafile 68 found to restore
    RMAN-06023: no backup or copy of datafile 67 found to restoreWhat can I do in this case?
    Thank U very much!
    []´s

  • Rman Detect Block Corruption

    Hi
    I know rman detect block corruption but my question is block corruption having two types one is physical block corruption and other is logical block corruption
    by default rman enable physical block corruption but by default rman not able to detect logical block corruption.Plz tell how i enable logical block corruption with RMAN?
    Please make correction if i m wrong.
    Thanks a lot.

    >> Sorry i am not telling you i am using oracle 9iR2 instead of oracle 10g
    It's okay.
    That's why; it's been already told that before posting in the forums, better it's better to specify/mention the Oracle Version/OS Details, etc to get the accurate and response.
    >> Send me if you have 9i related document.
    No need to send you the related documents, when there is a bulk repository available for free of cost for everybody.
    All you need to do is, just search in http://tahiti.oracle.com/ with the required word or phrase.
    Don't take me wrong, but make a habit of searching related documents from the Oracle Documentations.
    Regards,
    Sabdar Syed.

  • Checking block corruption, why in alert it is saying Error in trace file

    Hi,
    I am using Oracle 10g 10.2.0.1 with linux 32 bit
    I wanted to check block corruption using RMAN by following statement
    backup validate check logical database;
    when i executed the statement, following was the output
    Starting backup at 09-MAY-08
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: sid=91 devtype=DISK
    channel ORA_DISK_1: starting full datafile backupset
    channel ORA_DISK_1: specifying datafile(s) in backupset
    input datafile fno=00004 name=/u01/app/oracle/oradata/test/users01.dbf
    input datafile fno=00008 name=/u01/app/oracle/oradata/test/workflowuser
    input datafile fno=00001 name=/u01/app/oracle/oradata/test/system01.dbf
    input datafile fno=00003 name=/u01/app/oracle/oradata/test/sysaux01.dbf
    input datafile fno=00010 name=/u01/app/oracle/oradata/test/ifan
    input datafile fno=00002 name=/u01/app/oracle/oradata/test/undotbs01.dbf
    input datafile fno=00007 name=/u01/app/oracle/oradata/test/taker
    input datafile fno=00009 name=/u01/app/oracle/oradata/test/testing1
    input datafile fno=00005 name=/u01/app/oracle/oradata/test/brokerdb
    input datafile fno=00006 name=/u01/app/oracle/oradata/test/moneio
    input datafile fno=00011 name=/u01/app/oracle/oradata/test/web1
    input datafile fno=00012 name=/u01/app/oracle/oradata/test/e1
    input datafile fno=00013 name=/u01/app/oracle/oradata/test/ind1
    channel ORA_DISK_1: backup set complete, elapsed time: 00:06:57
    channel ORA_DISK_1: starting full datafile backupset
    channel ORA_DISK_1: specifying datafile(s) in backupset
    including current control file in backupset
    including current SPFILE in backupset
    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
    Finished backup at 09-MAY-08
    and when i do the following query
    select * from v$database_block_corruption in sqlplus
    then there was no row
    so it means there is no logical corruption, but when i am looking at alert log file it is giving following lines
    Fri May 9 10:14:04 2008
    Errors in file /u01/app/oracle/admin/test/udump/test_ora_6606.trc:
    Fri May 9 10:14:04 2008
    Errors in file /u01/app/oracle/admin/test/udump/test_ora_6606.trc:
    Fri May 9 10:14:04 2008
    Errors in file /u01/app/oracle/admin/test/udump/test_ora_6606.trc
    and in above trace file following contents
    /u01/app/oracle/admin/test4/udump/test_ora_6606.trc
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1
    System name: Linux
    Node name: test
    Release: 2.6.18-5-686
    Version: #1 SMP Wed Oct 3 00:12:50 UTC 2007
    Machine: i686
    Instance name: test
    Redo thread mounted by this instance: 1
    Oracle process number: 61
    Unix process pid: 6606, image: oracle@test (TNS V1-V3)
    *** 2008-05-09 10:14:04.093
    *** ACTION NAME:(0000040 STARTED19) 2008-05-09 10:14:04.071
    *** MODULE NAME:(backup full datafile) 2008-05-09 10:14:04.071
    *** SERVICE NAME:(SYS$USERS) 2008-05-09 10:14:04.071
    *** SESSION ID:(91.40318) 2008-05-09 10:14:04.071
    Is it normal, why the in alert file it is saying that Error in.
    And it did not create any backupset in folder of flash recovery but in Enterprise manager it is showing last backup on 09-may-2008, why ?
    Regards,

    See logical corruption is normally termed as the internal inconsistancy within the block which is not caused by Oracle but by the user.So if you find internal inconsistancy than the best option is to look at the user and ask him to get the values sorted out.If the internal inconsistancy is some thig like index fragmentation sort of things or index entry pointing to a null rowid than they are termed as the logical corruption and they should not impact your normal as he data is already there and there is no issue in reading the block as such.
    The term "corrupted blocks" I would call both in the tables and backup for those data blocks which are unreadable by Oracle which actualy is Physical corruption.
    If i am doing the checking at 2:00 am, does it take more than two hours.I didnt understand this.
    what can we do for Physical corruptionThis will need the block to be recovered with the Block Recover command of RMAN and a good backup.Read about it here,
    http://download.oracle.com/docs/cd/B19306_01/backup.102/b14194/rcmsynta010.htm
    About the Logical and Physical corruption checks , check here
    http://download-west.oracle.com/docs/cd/B19306_01/backup.102/b14191/rcmconc1012.htm
    Aman....

  • Block corruption in Free Space

    Hi,
    Environment:-
    Oralce 10.2.0
    Windows platform
    I am facing problem of Logical block corruption.
    RMAN validate block corruption (DBVerify as well) But no entry in Alert log file.
    When I check Which segment has block corruption I found that block corruption are in free blocks of tablespace (DBA_FREE_SPACE).
    To Fix it I create table and allocate corrupted block to that table. I confirm corrupted block allocation in table (using DBA_EXTENTS).
    But when I insert rows in that table to reuse corrupted block Oracle give error of ora-1578 Block corruption, and I am not able to reuse corrupted block(as many expert suggest to overcome block corruption in free space).
    I dropped table and recreate and repeat this process many times but still no success.
    So. can anybody help me on this.
    I appreciate your efforts and time you spend to read this
    Thanks

    Hello,
    Please check the link i posted.
    Example: Detecting Corruption
    The CHECK_OBJECT procedure checks the specified object, and populates the repair table with information about corruptions and repair directives. You can optionally specify a range, partition name, or subpartition name when you want to check a portion of an object.
    Validation consists of checking all blocks in the object that have not previously been marked corrupt. For each block, the transaction and data layer portions are checked for self consistency. During CHECK_OBJECT, if a block is encountered that has a corrupt buffer cache header, then that block is skipped.
    The following is an example of executing the CHECK_OBJECT procedure for the scott.dept table.
    SET SERVEROUTPUT ON
    DECLARE num_corrupt INT;
    BEGIN
    num_corrupt := 0;
    DBMS_REPAIR.CHECK_OBJECT (
    SCHEMA_NAME => 'SCOTT',
    OBJECT_NAME => 'DEPT',
    REPAIR_TABLE_NAME => 'REPAIR_TABLE',
    CORRUPT_COUNT => num_corrupt);
    DBMS_OUTPUT.PUT_LINE('number corrupt: ' || TO_CHAR (num_corrupt));
    END;
    SQL*Plus outputs the following line, indicating one corruption:
    number corrupt: 1

  • RMAN problem with block corruption

    Hi
    I have problem with the block corruption in one of the database .
    here is the error message .
    ora-01578:oracle data block corrupted (file# 10,block # 55309) ora-01110: data file 10:
    '/db/gist1/data/gist1_gis_nologging_01.dbf' ora-26040: data block was loaded using the NOLOGGING option .
    gisq SQL> select * from v$database_block_corruption;
    FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
    10 11 126 3754364971 LOGICAL
    RMAN> blockrecover datafile 10 block 11;
    Starting blockrecover at 14/DEC/2012 16:25:48
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of blockrecover command at 12/14/2012 16:25:48
    RMAN-05009: Block Media Recovery requires Enterprise Edition
    Could some one help me in providing solution for this . we we have standard addition only .
    Thanks in advance ...

    It appears that there was a NOLOGGING operation on an object that resides in '/db/gist1/data/gist1_gis_nologging_01.dbf' .
    NOLOGGING operations, as the name suggests, do generate limited redo log, which makes the objects affected by them non-recoverable.
    RMAN Blockrecover, as far as I understand, uses full and archivelog backup to perform the block recovery. Since the archivelog backup does not store any changes related to the NOLOGGING operation, then Blockrecover would not be able to help you even if you were licensed.
    You can try to restore the object as of the most recent full backup…
    Iordan Iotzov
    http://iiotzov.wordpress.com/

  • How to check & resolve block corruption if no RMAN backup is there?

    *<<+MY Findings+>>*
    to check block corruption :
    (run command)
    select * from v$database_block_corruption;
    DB_VERIFY is useful in these situations:
    When block corruption is expected;
    Forecast any future problems w.r.t. database file/ block corruption;
    When you restore files from a tape. It will help knowing if the first file pulled from tape is corrupt, instead of spending hours to extract all of them.
    to check block corruption
    DBVerify
    C:\>dbv userid=nfadmin/nfadmin file=+DG1/nfdb/datafile/low_s_data.304.782536883 feedback=10000 blocksize=8192
    can use DBMS_REPAIR to detect and repair corrupt blocks in tables and indexes
    BEGIN
    DBMS_REPAIR.admin_tables (
    table_name => 'REPAIR_TABLE',
    table_type => DBMS_REPAIR.repair_table,
    action => DBMS_REPAIR.create_action,
    tablespace => 'USERS');
    DBMS_REPAIR.admin_tables (
    table_name => 'ORPHAN_KEY_TABLE',
    table_type => DBMS_REPAIR.orphan_table,
    action => DBMS_REPAIR.create_action,
    tablespace => 'USERS');
    END;
    Question* :::how to check & resolve block corruption if no RMAN backup is there?

    http://www.oracle.com/technetwork/database/focus-areas/availability/maa-datacorruption-bestpractices-396464.pdf
    http://www.oracle-base.com/articles/misc/detect-and-correct-corruption.php

  • Block corruption problem in alert and rman/dbv no show errors

    Hello, I'm new in Oracle's world. I have one problem with Oracle 10.2.0.4 (RHEL 5.6) x64. Archive redo-log enable
    In the alert.log, three days ago show (the server have kernel panic & rebooted):
    Mon Sep 24 18:18:17 2012
    Hex dump of (file 17, block 669888) in trace file xxxxxxxxxx.trc
    Corrupt block relative dba: 0x044a38c0 (file 17, block 669888)
    Bad check value found during buffer read
    Data in bad block:
    type: 6 format: 2 rdba: 0x044a38c0
    last change scn: 0x0000.14eb5309 seq: 0x1 flg: 0x04
    spare1: 0x0 spare2: 0x0 spare3: 0x0
    consistency value in tail: 0x53090601
    check value in block header: 0x6ea3
    computed block checksum: 0x2
    Reread of rdba: 0x044a38c0 (file 17, block 669888) found same corrupted data
    Mon Sep 24 18:18:19 2012
    Corrupt Block Found
    TSN = 23, TSNAME = TABLE_TSD1
    RFN = 17, BLK = 669888, RDBA = 71973056
    OBJN = 86908, OBJD = 86908, OBJECT = SYS_C0040110, SUBOBJECT =
    SEGMENT OWNER = SCHEMA1, SEGMENT TYPE = Index Segment
    Yesterday, we detected this error because SQL don't execute.
    The error repeat 47times and there is 6 different file-block combination (4 index of schemas, 1 of sys and ¡2 tables!)
    First, I launched expdp and exp of the one problematic schema. The export was fine, no errors while exporting, but in the alert.log show one block corruption. Should exp and expd show error and stop?
    Next, I used dbv and verify all dbfs. Only show 2 blocks error in two datafiles (indexes).
    Next, I used RMAN:
    A) check database: no error.
    B) validate database: error in two blocks (logical error) and different from the 6 in alert.log. This two blocks are indexes.
    I re-create this two indexes. When i re-create, the block error disappear (not inmediate, suppose that disappear when block was rewrite). Now dbv and rman show no error.
    I have read one note about types of error, other about procedures if db is in archivelog/noarchivelog. Also if object is index or table. But I find anything about auto-repair corrupt blocks in Oracle or why now the 6 block error are solved. I don't know if two tables with two block corrupt lost rows or not.
    Appreciate any help.
    Regards

    Hello Fran. Result of query before rebuild problematic INDEXES:
    SQL> select * from V$database_block_corruption;
    FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
    3 98857 1 390928740 LOGICAL
    9 48632 1 390325900 LOGICAL
    When I ran RMAN first time to check blocks, it filled V$database_block_corruption with two bad blocks. Different from the 6 errors from alert.:
    RMAN> backup validate check logical database;
    Error backing up file 9, block 48632: logical corruption
    Error backing up file 3, block 98857: logical corruption
    I extracted index name from each block and I re-created it. Also, I created a temporary table in tablespace's datafile to fill blocks empty. Problem solved. Rman / dbv show no error.
    I'm searching for similar experiences and found: Re: Data in bad block
    First 6 bad checksum errors in alert.log disappear with any visible problem?
    Can I sure that DB is fine if RMAN and DBV show no errors?
    Thank you very much
    Edited by: user7755509 on 27-sep-2012 5:43

  • Logical Block corruption - not enough RMAN backups

    I have to deal with logical block corruption but these guys do not have enough rman backups to go back enough to recover blocks.
    All bad blocks are in SYSAUX and it seems because of it EM doesn't work as it's suppose to do. I dropped and recreated EM repository hoping it will clean itself but .... no.
    Any ideas?
    Oracle Linux 4.7 i386
    Oracle 10.2.0.4

    OCCUPANT_NAME OCCUPANT_DESC SCHEMA_NAME MOVE_PROCEDURE MOVE_PROCEDURE_DESC SPACE_USAGE_KBYTES
    EM Enterprise Manager Repository SYSMAN emd_maintenance.move_em_tblspc Move Procedure for Enterprise Manager Repository 52800
    EM_MONITORING_USER Enterprise Manager Monitoring User DBSNMP *** MOVE PROCEDURE NOT APPLICABLE *** 1600

  • Block corruption + Rman backup.

    I know that when RMAN is in the process of backing up a datafile and when it encounters a corrupted block, rman updated several V$ views. My question is will the backup process run successfully even when corrupted block is found???
    kumaresh

    I believe the answer to your question is YES - RMAN will run and complete succesfully (and do what it is supposed to do) even when it encounters a corrupt block - each time RMAN runs, you will notice an entry in the alert_log file indicating that this block was 'passed through' during the regular back up process.
    I work at a company where we have a corrupt block and where the only available solution is to re-install and restore from backups......(for the APPS portion of things)

  • Block corruption detection in RMAN.

    Hi,
    I'd be be grateful if anyone could confirm or clarify the behaviour of the RMAN backup command with regard to detecting corrupt blocks in the datafiles.
    The environment is as follows:
    10.2.0.5.1
    Solaris 10
    2 node RAC
    Block Change Tracking file is not used.
    DB_BLOCK_CHECKING=OFF
    DB_BLOCK_CHECKSUM=OFF
    Does the BACKUP DATABASE command check both physical and logical block corruptions when run either as a full backup or incremental?
    I'm trying to establish wether running a BACKUP _VALIDATE [CHECK LOGICAL]_* DATABASE on a nightly basis provides any value if the same checks are being performed by the standard backup commands that are already scheduled every night?
    Any input appreciated.
    Thanks

    Hi,
    By default, RMAN just check for physical corruption, either in full or incremental backups. To check logical corruption you have to use the command "backup check logical;".
    About the parameter DB_BLOCK_CHECKSUM, its default is TRUE and Oracle Corporation advises leaving this parameter on default, so that any damage caused while the block is on disk, or corruptions introduced during the write and read process, will be detected.
    Hope it help.
    Regards,

  • How RMAN detect block corruption

    Hi,
    how RMAN detect block corruption( means how RMAN work internally to find corrupted block).
    thanks.

    There are initialization parameters (like DB_BLOCK_CHECKING) which will detect block corruption on block access. Go through the following link also:
    http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/rcmconc1.htm

  • Oracle 11g: Block Corruption in SYSAUX File

    Hello All,
    I am facing Data corruption issue in the SYSAUX file.
    We are using Oracle 11G (Microsoft 32 bit) and our system is running in noarchivelog mode.
    Following are the errors in the alert log.
    e:\sc\sc15.2\databases\oracleconfig\diag\rdbms\enmscsdb\nm45\trace\nm45_p000_5944.trc
    Corrupt block relative dba: 0x0088a9f8 (file 2, block 567800)
    Fractured block found during buffer read
    Data in bad block:
    type: 6 format: 2 rdba: 0x0088a9f8
    last change scn: 0x0000.0b3bb7c7 seq: 0x1 flg: 0x04
    spare1: 0x0 spare2: 0x0 spare3: 0x0
    consistency value in tail: 0xc7000601
    check value in block header: 0xee6b
    computed block checksum: 0x72c6
    Reread of rdba: 0x0088a9f8 (file 2, block 567800) found same corrupted data
    Thu Jan 22 16:46:44 2009
    SMON: Restarting fast_start parallel rollback
    SMON: ignoring slave err,downgrading to serial rollback
    ORACLE Instance nm45 (pid = 12) - Error 1578 encountered while recovering transaction (9, 11) on object 458.
    Errors in file e:\sc\sc15.2\databases\oracleconfig\diag\rdbms\enmscsdb\nm45\trace\nm45_smon_6492.trc:
    ORA-01578: ORACLE data block corrupted (file # 2, block # 567800)
    ORA-01110: data file 2: 'E:\SC\SC15.2\DATABASES\ORACLECONFIG\SYSAUXNM45.ORA'
    Thu Jan 22 16:46:45 2009
    Trace dumping is performing id=[cdmp_20090122164645]
    Corrupt Block Found
    TSN = 1, TSNAME = SYSAUX
    RFN = 2, BLK = 567800, RDBA = 8956408
    OBJN = 458, OBJD = 458, OBJECT = I_WRI$_OPTSTAT_HH_OBJ_ICOL_ST, SUBOBJECT =
    SEGMENT OWNER = SYS, SEGMENT TYPE = Index Segment
    Following query indicates the corruption is in index.
    SQL> SELECT tablespace_name, segment_type, owner, segment_name FROM dba_extents
    WHERE file_id = 2 and 567800 between block_id AND block_id + blocks - 1;
    TABLESPACE_NAME SEGMENT_TYPE OWNER
    SEGMENT_NAME
    SYSAUX INDEX SYS
    I_WRI$_OPTSTAT_HH_OBJ_ICOL_ST
    ==============
    DBverify output:
    ==============
    E:\SC\SC15.2\Databases\OracleConfig>dbv file=SYSAUXNM45.ORA blocksize=8192
    DBVERIFY: Release 11.1.0.7.0 - Production on Thu Jan 22 16:59:11 2009
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    DBVERIFY - Verification starting : FILE = E:\SC\SC15.2\Databases\OracleConfig/SY
    SAUXNM45.ORA
    DBV-00200: Block, DBA 8956312, already marked corrupt
    Page 567800 is influx - most likely media corrupt
    Corrupt block relative dba: 0x0088a9f8 (file 2, block 567800)
    Fractured block found during dbv:
    Data in bad block:
    type: 6 format: 2 rdba: 0x0088a9f8
    last change scn: 0x0000.0b3bb7c7 seq: 0x1 flg: 0x04
    spare1: 0x0 spare2: 0x0 spare3: 0x0
    consistency value in tail: 0xc7000601
    check value in block header: 0xee6b
    computed block checksum: 0x72c6
    DBVERIFY - Verification complete
    Total Pages Examined : 1623864
    Total Pages Processed (Data) : 540984
    Total Pages Failing (Data) : 0
    Total Pages Processed (Index): 964944
    Total Pages Failing (Index): 0
    Total Pages Processed (Other): 17849
    Total Pages Processed (Seg) : 0
    Total Pages Failing (Seg) : 0
    Total Pages Empty : 100086
    Total Pages Marked Corrupt : 2
    Total Pages Influx : 1
    Total Pages Encrypted : 0
    Highest block SCN : 190789648 (0.190789648)
    SQL> select * from v$database_block_corruption;
    FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
    2 567800 1 0 FRACTURED
    2 567704 1 0 FRACTURED
    How to resolve this issue.
    Thanks
    With Regards
    Hemant Joshi.

    Drop and re-creating the index would be better than re-building the index.
    Check the metalink note: Identify the corruption extension using RMAN/DBV/ANALYZE etc - 836658.1
    Note 28814.1 - Handling Oracle Block Corruptions in Oracle7/8/8i/9i/10g
    Note 472231.1 - How to identify all the Corrupted Objects in the Database reported by RMAN
    ORA-1578 Main Reference Index for Solutions -830997.1

  • 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....

  • Logical block corruption in an unused block which is a part of index

    Hi All,
    During RMAN backup level 0 I am getting a corrupted block my DB:
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03009: failure of backup command on t20 channel at 07/22/2009 21:30:49
    ORA-19566: exceeded limit of 0 corrupt blocks for file /oracle/oradata/DB2/plind05_02.dbf
    SQL> select * from v$database_block_corruption;
    FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
    2950 1879477 1 1.0124E+13 LOGICAL
    SQL> SELECT tablespace_name, partition_name,segment_type, owner, segment_name FROM dba_extents WHERE file_id = 2950 and 1879477 between block_id AND block_id + blocks - 1;
    no rows selected
    So this block does not belong to any object.
    SQL > select * from dba_free_space where file_id= 2950 and 1879477 between block_id and block_id blocks -1;+
    TABLESPACE_NAME FILE_ID BLOCK_ID BYTES BLOCKS RELATIVE_FNO
    USAGIDX_200907 2950 1879433 1048576 128 909
    But it exists in dba_free_space so it belongs to file space usage bitmap.
    DB Verify shows:
    myserver:/oracle/rman/DB2:DBINST1> dbv file=/oracle/oradata/DB2/plind05_02.dbf BLOCKSIZE=8192
    DBVERIFY: Release 10.2.0.4.0 - Production on Wed Jul 29 13:47:38 2009
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    DBVERIFY - Verification starting : FILE = /oracle/oradata/DB2/plind05_02.dbf
    Block Checking: DBA = -480465494, Block Type = KTB-managed data block
    **** row 2: key out of order
    ---- end index block validation
    Page 1879477 failed with check code 6401
    DBVERIFY - Verification complete
    Total Pages Examined : 4194176
    Total Pages Processed (Data) : 0
    Total Pages Failing (Data) : 0
    Total Pages Processed (Index): 3404935
    Total Pages Failing (Index): 1
    Total Pages Processed (Other): 569
    Total Pages Processed (Seg) : 0
    Total Pages Failing (Seg) : 0
    Total Pages Empty : 788672
    Total Pages Marked Corrupt : 0
    Total Pages Influx : 0
    Highest block SCN : 1795222745 (2360.1795222745)
    Now, I have identified that this block belongs to an index subpartition so I have rebuild it with alter index ... rebuild subpartition... However, the RMAN backup still fails and DBV still reports an error.
    I know that we could simply recreate the index but the problem is that its quite big (>6GB and table is >7TB).
    My strong feeling is that the cause of this is that corrupted blocks will still be reported by RMAN and DBV until they are reused and reformatted.
    My question is:
    How can I reuse or reformat a block which does not belong to any object?

    Hi,
    Yes you're right, you need to reformat that block.
    For that you need to allocate that block to a table, and fill that table with data until high water mark goes higher than block 1879477.
    This isthe way I've done it once:
    1) check the free space size below that block:
    select sum(bytes)/1024/1024 before from dba_free_space where file_id=1879477 and block_id <= 1503738;
    Let's say it is 6000 MB
    2) create a dummy table, allocate enough extents to fill the size returned from the previous query
    This does not format blocks, but the advantage of allocate extents is that you can specify size and datafile:
    alter table allocate extents size 6000M datafile '/oracle/oradata/DB2/plind05_02.dbf';
    you can check dba_extents to see if it covers block 1879477. If not, try to add a little more extents.
    3) fill the table with data to fill those extents.
    One idea is to insert one rows into the table, then use 'alter table test minimize records_per_block;' so that each block will have 2 rows maximum.
    check the number of blocks (from dba_segments). Say you have 768000 blocks. Then you need to insert 768000/2 rows:
    insert into ... select ... from dual connect by level < (768000/2)
    4) check the high water mark has reach the end of all extents (compare dba_tables.blocks and dba_segemnts.blocks)
    5) if not enough, try to add a little more rows.
    Be careful that you don't go too far (especially if you have extensible datafile). Unfortunately, maxextents is ignored on LMT :(
    6) now, your block should be reformatted. Just drop the dummy table.
    Regards,
    Franck.

Maybe you are looking for

  • Webdynpro UI element

    I am using a table UI element and i want to add a row header in it so that i have a separate column header in correspondence with a row header thereafter i may have my data fields. How do i do that? Please help..My output should be of the format: Sno

  • Nickname NOT shown with app reviews.

    I know this has been asked before but all the solutions are months old and pertain to when Ping was relevant with older verions on iTunes. To start off, I have iTunes 10.7, on ML 10.8.2 I have disabled the Ping option (which for some reason still exi

  • I  need change main email address in iCloud, make alias email main

    i  need change main email address in iCloud, make alias email main

  • Floating, unlinked org unit in CRM

    Hi All CRM4.0 In ERP I have an org unit that is linked to a higher level org unit.  In CRM the same org unit exists but it does not have higher level org unit.  I want to run PFAL in ERP with the correct evaluation path so that in CRM the org unit is

  • Intermittent loss of sound on Toshiba 32BL505B

    Could someone please help me. I purchased a Toshiba 32inch Flat Screen television (Model No 32BL505B) approximately 14 months ago. For the last couple of weeks we have been struggling to use the set. All appears ok for the first hour, but after that