RMAN identifies corrupt block
Hi,
If Rman identify corrupt block while performing a backup of the archive logfiles, it failover to an existing intact copy...wht does tht mean...
If there is no copy available then RMAN backup fails. You can override this by using skip inaccessible option with backup command.
RMAN > BACKUP DATABASE PLUS ARCHIVELOG SKIP INACCESSIBLE; OR
rman > BACKUP ARCHIVELOG ALL SKIP INACCESSIBLE;
BUT this compromises sthe database recovery as missed archivelog file is not present is the backup. The SKIP INACCESSIBLE option just asks the RMAN to continue the backup if an archivelog is missing . This completes the backup of all other datafiles, archivelog files , controlfiles . The backup will not fail in this case.
Similar Messages
-
Hi
As far as I know, if rman finds block corruption, it will terminate the backup session.
However, in my scenerio, rman skipped the corrupted block and continue taking backup of remaining datafiles.
What is the reason for this?
Note that, I didnt use maxcorrupt in rman script.
The below is the end of the logfile:
channel t4: backup set complete, elapsed time: 01:02:50
released channel: t1
released channel: t2
released channel: t3
released channel: t4
released channel: t5
released channel: t6
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on t2 channel at 03/20/2010 17:29:52
ORA-19566: exceeded limit of 0 corrupt blocks for file /dbs02/prd/mis_refrence.dbf01
Recovery Manager complete.Hi,
RMAN is terminated only when it does not find the data file etc. But it does not terminate due to block corruption.
See the following excerpts from the following oracle document link.
http://download-west.oracle.com/docs/cd/B14117_01/server.101/b10734/rcmconc1.htm#1016108
RMAN detects and responds to two primary types of backup errors: I/O errors and corrupt blocks. Any I/O errors that RMAN encounters when reading files or writing to the backup pieces or image copies cause RMAN to terminate the backup jobs. For example, if RMAN tries to back up a datafile but the datafile is not on disk, then RMAN terminates the backup. If multiple channels are being used, or redundant copies of backups are being created, RMAN may be able to continue the backup without user intervention.
If BACKUP AS BACKUPSET creates more than one complete backup set and an error occurs, then RMAN needs to rewrite the backup sets that it was writing at the time of the error. However, it retains any backup sets that it successfully wrote before terminating. The NOT BACKED UP SINCE option of the BACKUP command restarts a backup that partially completed, backing up only files that did not get backed up.
RMAN copies datafile blocks that are already identified as corrupt into the backup. If RMAN encounters datafile blocks that have not already been identified as corrupt, then RMAN stops the backup unless SET MAXCORRUPT has been used. Setting MAXCORRUPT allows a specified number of previously undetected block corruptions in datafiles during the execution of an RMAN BACKUP command. If RMAN detects more than this number of corruptions while taking the backup, then the command terminates. The default limit is zero, meaning that RMAN does not tolerate corrupt blocks by default.
When RMAN finds corrupt blocks, until it finds enough to exceed the MAXCORRUPT limit, it writes the corrupt blocks to the backup with a reformatted header indicating that the block has media corruption. If the backup completes without exceeding MAXCORRUPT,then the database records the address of the corrupt blocks and the type of corruption in the control file. Access these records through the V$DATABASE_BLOCK_CORRUPTION view. Note that if more than MAXCORRUPT corrupt blocks are found, the V$DATABASE_BLOCK_CORRUPTION view is not populated. In such a case, you should set MAXCORRUPT higher and re-run the command to identify the corrupt blocks.
Regards
Edited by: skvaish1 on Mar 24, 2010 4:39 PM -
RMAN Skips the corrupted Block
Hi,
We are using Oracle 10.2.0.4 rman utility for backup, In SYSAUX tablespace, datafile 3, one block has been corrupted.
I have try to export the tablespace , i found warning message of "corrupted block and table name". But RMAN, while try to backup datafile 3, or validate the backup, it doesn't popu any error message and went through with out any problem.
==>I have set maxcorrupt 0 in run block
==> Check logical i have used
==> V$database_block_corruption pops the result but MAXCORRUPT 0.
==> But Analyis the table show the corrupted block error.
===> Try to select * from corrupted table. it throws the error message.
Please advice
Regards
KrishSteve,
Thank you for the doc, But i have already mentioned,
--> i have tried from check logical
--> Also MaxCorrupt parameter
Am able to view the corrutped block information in database_block_corruption
but while backing with rman using
RMAN> run
2> {
3> set MAXCORRUPT for datafile 3 to 0;
4> backup datafile 3;
5> }
executing command: SET MAX CORRUPT
using target database control file instead of recovery catalog
Starting backup at 27-APR-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=12 instance=TEST devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00003 name=+DBFILE_GRP1/TEST/datafile/sysaux.499.667900479
channel ORA_DISK_1: starting piece 1 at 27-APR-09
channel ORA_DISK_1: finished piece 1 at 27-APR-09
piece handle=/usr/oradata/BKUP/TEST/backup/database/BIRTEF1_4229_1_1_45kdh7uj tag=TAG
comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
Finished backup at 27-APR-09
Starting Control File and SPFILE Autobackup at 27-APR-09
Finished Control File and SPFILE Autobackup at 27-APR-09
SQL> select * from v$database_block_corruption;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
3 23260 1 0 CORRUPT
3 123228 1 0 CORRUPT
ITs backing up with no issues. Thats the confusion here.
REgards
KRishnan -
Rman backup with corrupted block
Hello,
Firstly - I have problem on non-production database 11.2.0.1.0, so I am not deeply worried about data. But I need to understand what happened with database backups and how to prevent such things in future.
So - I have EM scheduled weekly full backup and daily incremental backups. Later there was problem with hardware and some corrupted blocks in database were found. The weekly backup ran without error and obsolete backups were deleted. Now it is not possible to "recover corruption list" because no backup without corruption exists (RMAN-06023: no backup or copy of datafile 6 found to restore). I am not worried about the lost data, but I need to find out how come the backup contains corrupted block.
I have checked the data file using dbv utility
DBVERIFY - Verification starting : FILE = /opt/oracle/oradata/orcl/users03.dbf
DBV-00200: Block, DBA 27525766, already marked corrupt
csc(0x0001.7b01729f) higher than block scn(0x0000.00000000)
Page 2359942 failed with check code 6054
DBVERIFY - Verification complete
Total Pages Examined : 3840000
Total Pages Processed (Data) : 453896
Total Pages Failing (Data) : 1
Total Pages Processed (Index): 2959104
Total Pages Failing (Index): 0
Total Pages Processed (Other): 424025
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 2975
Total Pages Marked Corrupt : 1
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 2156227446 (1.2156227446)As you can see the datafile 6 - user03.dbf has errors. Also backups now contain errors.
1) So how is it possible that the EM scheduled backup ran without problems and the backup now contains corrupted blocks. How to prevent this in future ? I know there is setting MAXCORRUPT. How can I check its current value ? How can I configure it using EM scheduled backups ?
2) Secondly, meanwhile I studied the RMAN commands. So I have suspended EM backup jobs, and executed follwing command. And backup ran without error again. How is this possible, if data file users06.dbf has corrupted block ?
Thanks !
RMAN> run {
set MAXCORRUPT for datafile 6 to 0;
backup as compressed backupset datafile 6;
2> 3> 4>
executing command: SET MAX CORRUPT
Starting backup at 07-NOV-12
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/opt/oracle/oradata/orcl/users03.dbf
channel ORA_DISK_1: starting piece 1 at 07-NOV-12
channel ORA_DISK_1: finished piece 1 at 07-NOV-12
piece handle=/opt/oraBackup/rman/nrnpo0sg_1_1 tag=TAG20121107T200120 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 01:13:05
Finished backup at 07-NOV-12
Starting Control File and SPFILE Autobackup at 07-NOV-12
piece handle=/opt/oraBackup/rman/c-1253245572-20121107-03 comment=NONE
Finished Control File and SPFILE Autobackup at 07-NOV-12I have updated database to 11.2.0.3
However, the problem still persists. rman backup went ok on broken file
oracle@orcl-cluster:~> sqlplus
SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 20 09:24:11 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter user-name: system
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from V$DATABASE_BLOCK_CORRUPTION;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
6 2359942 1 0 FRACTURED
25 1855622 1 0 FRACTURED
oracle@orcl-cluster:~> rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Tue Nov 20 08:04:57 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1253245572)
RMAN> backup as compressed backupset datafile 6;
Starting backup at 20-NOV-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1596 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=1568 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=2357 device type=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: SID=2341 device type=DISK
allocated channel: ORA_DISK_5
channel ORA_DISK_5: SID=86 device type=DISK
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/opt/oracle/oradata/orcl/users03.dbf
channel ORA_DISK_1: starting piece 1 at 20-NOV-12
channel ORA_DISK_1: finished piece 1 at 20-NOV-12
piece handle=/opt/oraBackup/rman/2rnqovpp_1_1 tag=TAG20121120T080513 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 01:10:35
Finished backup at 20-NOV-12
Starting Control File and SPFILE Autobackup at 20-NOV-12
piece handle=/opt/oraBackup/rman/c-1253245572-20121120-00 comment=NONE
Finished Control File and SPFILE Autobackup at 20-NOV-12
RMAN> backup validate datafile 6;
Starting backup at 20-NOV-12
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/opt/oracle/oradata/orcl/users03.dbf
channel ORA_DISK_1: backup set complete, elapsed time: 00:03:05
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
6 OK 1 2975 3840000 6489027926
File Name: /opt/oracle/oradata/orcl/users03.dbf
Block Type Blocks Failing Blocks Processed
Data 0 453912
Index 0 2959091
Other 0 424022
Finished backup at 20-NOV-12Edited by: kamilp on Nov 20, 2012 12:23 AM -
ORA-19566: exceeded limit of 999 corrupt blocks for file
Hi All,
I am new to Oracle RMAN & RAC Administration. Looking for your support to solve the below issue.
We have 2 disk groups - +ETDATA & +ETFLASH in our 3 node RAC environments in which RMAN is configured in node-2 to take backup. We do not have RMAN catalog and the RMAN is fetching information from control file.
Recently, the backup failed with the error ORA-19566: exceeded limit of 999 corrupt blocks for file +ETFLASH/datafile/users.6187.802328091.
We found that the datafiles are present in both disk groups and from the control file info, we got to know that the datafiles in +ETDATA are currently in use and +ETFLASH is having old datafiles.
RMAN> show all;
RMAN configuration parameters for database with db_unique_name LABWRKT are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+ETFLASH/CONTROLFILE/snapcf_LABWRKT.f';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+ETFLASH/controlfile/snapcf_labwrkt.f';
Above configuration shows that SNAPSHOT CONTROLFILE is pointing to +ETFLASH. So I changed the configuration with the SNAPSHOT CONTROLFILE points to '+ETDATA/controlfile/snapcf_labwrkt.f'. At the end of backup, SNAPSHOT file was created in +ETDATA and I was expecting it to be the copy of control file being used which has dbf located in +ETDATA. But still the backup was pointing to old datafiles in +ETFLASH. Since we dont have RMAN catalog, resync also is not possible.
When I ran it manually, it was successfull without any error and was pointing to the exisiting datafiles.
RMAN> backup database plus archivelog all;
I hope the issue will get resolved if the RMAN points only to the datafiles present in +ETDATA. If I am correct, please let me know how can i make it possible? Also please explain me why the newly created snapshot file does not reflect the existing control file info?Hi,
I am getting an error from the DBA Planning Calendar every time the job ...
So when was your last successfull backup of this datafile. Check if still available.
If this is some time ago, and may be you are currently without any backup, try to backup without rman at once,
to have at least something to work with in case you get additional errors right now.
Then you need to find out what object is affected. You are on the right way already. You need the statement,
that goes to dba_extents to check what object the block belongs to.
Has the DB been recovered recently, so the block might possibly belong to an index created with nologging ?
(this could be the case on BW systems).
If the last good backup of that file is still available and the redologs belonging to this backup up to current time are as well, you could try to recover that file. But I'd do this only after a good backup without rman and by not destroying the original file.
If the last good backup was an rman backup, you can do a verify restore of that datafile in advance, to check if the corruption is really not inside the file to be restored.
Check out the -w (verify) option of brrestore first, to understand how it works.
(I am not sure it this is already available in version 7.00, may be you need to switch to 7.10 or 7.20)
brrestore -c -m /oracle/SHD/sapdata4/sr3_16/sr3.data16 -b xxxxxxxx.ffr -w only_rmv
You should do a dbv check of that file as well, to check if it gets more information. I.E if more blocks are
affected. rman stops right after the first corruption, but usually you have a couple of those in line, esp. if these are
zeroed ones. (This one would also work with version 7.00 brtools)
brbackup -c -u / -t online -m /oracle/SHD/sapdata4/sr3_16/sr3.data16 -w only_dbv
Good luck.
Volker -
Hi
1-)
If the database in noarchivelog mode I cannot issue:
Rman>
BACKUP VALIDATE DATABASE;
Since this command just checks if there is any corrupted blocks, and doesnt take backup, why it wants archivelog mode ?
2-) If I want to search corrupted blocks is there any diffrence among using
RMAN> BACKUP VALIDATE DATABASE;
or
dverify
or
analyze ... validate structure ;
P.S:noarchivelog mode.I read the link
The thing is I dont want to specify one by one all datafiles.
I want to scan all datafiles automatically? What if I have more than 700 datafiles?
Is that possible with dbv? -
Does a truncate table solve corrupt blocks in a table
Hi Guys,
Got a question:
Does a truncate table solve corrupt blocks in a table?
I have found corrupt blocks in rman, located them, they are in 1 table.
And contacted the business, and have permission to drop and recreate the table,
but my question is does truncate table drop storage also solves my problem?
And will it let me to do a full backup without set max corrupt blocks?
To my knowledge does a truncate table moves the high watermark to 0 + 1 extend, but I am unsure how this will effect the corrupt blocks.
Thanks in advance for your adviceHi,
Yes truncate/drop table fixes the corruption at the database level. You may like to take the backup(if you have index on it) of that table so that you may restore it later if anything goes wrong.
Note: This would not fix any corruption at the disk level (like bad sectors).
Regards
Anurag -
Hi Gurus,
My alert log was showing a block corrupt and i repaired it with dbms utility. After this oracle starts generating a trace file in udump folder every minute which shows follwing error.
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
*** 2010-04-30 19:52:51.203
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
I don't so many trace files to be gerated . Can i do something .
Please help me.Vivek Agarwal wrote:
Hi Gurus,
My alert log was showing a block corrupt and i repaired it with dbms utility. After this oracle starts generating a trace file in udump folder every minute which shows follwing error.
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
*** 2010-04-30 19:52:51.203
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
table scan: segment: file# 19 block# 67
skipping corrupt block file# 19 block# 79161
I don't so many trace files to be gerated . Can i do something .
Please help me.Dear Vivek. If you have used DBMS_REPAIR package, it means that you've marked those blocks corrupted and ORacle will bypass those blocks in I/O
Why you haven't used RMAN Block Media Recovery? You can watch my video tutorial on this: http://kamranagayev.wordpress.com/2010/03/18/rman-video-tutorial-series-performing-block-media-recovery-with-rman/
(And please don't tell me that you haven't taken RMAN backup if it's not a production database)
It's just a informatino written to the trace files that Oracle bypasses those data blocks
Read the following article :
http://www.askthegerman.com/archives/107
My Oracle Video Tutorials - http://kamranagayev.wordpress.com/oracle-video-tutorials/ -
ORA-19566: exceeded limit of 0 corrupt blocks
Hi All,
We have been encountering some issues with RMAN backup; it has been erroring out with same errors (max corrupt blocks). As of now, I ran the db verify for affected files and found that indexes are failing. When I tried to find out the indexes from extent views, I was unable to find it. Looks like these blocks are in free space as I found it and also the V$backup corruption view shows the logical corruption.
Waiting for you suggestion....
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for HPUX: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
RMAN LOG:
channel a3: starting piece 1 at 14-DEC-09
RMAN-03009: failure of backup command on a2 channel at 12/14/2009 05:43:42
ORA-19566: exceeded limit of 0 corrupt blocks for file /ub834/oradata/TERP/applsysd142.dbf
continuing other job steps, job failed will not be re-run
channel a2: starting incremental level 0 datafile backupset
channel a2: specifying datafile(s) in backupset
including current control file in backupset
channel a2: starting piece 1 at 14-DEC-09
channel a1: finished piece 1 at 14-DEC-09
piece handle=TERP_1769708180_level0_292_1_1_20091213065437.rmn tag=TAG20091213T065459 comment=API Version 2.0,MMS Version 5.0.0.0
channel a1: backup set complete, elapsed time: 01:14:45
channel a2: finished piece 1 at 14-DEC-09
piece handle=TERP_1769708180_level0_296_1_1_20091213065437.rmn tag=TAG20091213T065459 comment=API Version 2.0,MMS Version 5.0.0.0
channel a2: backup set complete, elapsed time: 00:24:54
RMAN-03009: failure of backup command on a4 channel at 12/14/2009 06:14:33
ORA-19566: exceeded limit of 0 corrupt blocks for file /ub834/oradata/TERP/applsysd143.dbf
continuing other job steps, job failed will not be re-run
released channel: a1
released channel: a2
released channel: a3
released channel: a4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on a3 channel at 12/14/2009 06:41:00
ORA-19566: exceeded limit of 0 corrupt blocks for file /ub806/oradata/TERP/icxd01.dbf
Recovery Manager complete.
Thanks,
Vimlendu
Edited by: Vimlendu on Dec 20, 2009 10:27 AMdbv file=/ora/oradata/binadb/RAT_TRANS_IDX01.dbf blocksize=8192
The result:
DBVERIFY: Release 10.2.0.3.0 - Production on Thu Nov 20 11:14:01 2003
(c) Copyright 2000 Oracle Corporation. All rights reserved.
DBVERIFY - Verification starting : FILE =
/ora/oradata/binadb/RAT_TRANS_IDX01.dbf
Block Checking: DBA = 75520968, Block Type = KTB-managed data block
**** row 80: key out of order
---- end index block validation
Page 23496 failed with check code 6401
DBVERIFY - Verification complete
Total Pages Examined : 34560
Total Pages Processed (Data) : 1
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 31084
Total Pages Failing (Index): 1
Total Pages Processed (Other): 191
Total Pages Empty : 3284
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Seems like I have 1 page failing. I try to run this script:
select segment_type, segment_name, owner
from sys.dba_extents
where file_id = 18 and 23496 between block_id
and block_id + blocks - 1;
No rows returned.
Then, I try to run this script:
Select tablespace_name, file_id, block_id, bytes
from dba_free_space
where file_id = 18
and 23496 between block_id and block_id + blocks - 1
Resulting 1 row.
Seems like I have the possible corrupt block on unused space.
Edited by: Vimlendu on Dec 20, 2009 2:30 PM
Edited by: Vimlendu on Dec 20, 2009 2:41 PM -
Strange Corrupt Block Error in Control File not in CONTROL_FILES
When in RMAN connected to the TARGET and CATALOG I issue a RESYNC CATALOG I get this error:
RMAN> RESYNC CATALOG;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of resync command on default channel at 08/17/2009 10:36:59
ORA-00227: corrupt block detected in control file: (block 15, # blocks 1)
ORA-00202: control file: 'E:\ORACLE\PRODUCT\10.2.0\DATABASE\SNCFEBIZ01PD.ORA'
RMAN>
This control file is in the Oracle Windows default dir but I am not using it and did not create it.
My control files listed in the init.ora are:
SQL> show parameter control
NAME TYPE VALUE
control_file_record_keep_time integer 7
control_files string E:\ORACLE\ORADATA\EBIZ01PD\CNT
RL01.DBF, D:\ORACLE\ORADATA\EB
IZ01PD\CNTRL02.DBF, E:\ORACLE\
ORADATA\EBIZ01PD\CNTRL03.DBF
Any idea why this is happening?That is a SNAPSHOT CONTROLFILE, created by RMAN as a copy of the current controlfile.
Wonder how and why the copy is corrupted ? Check the timestamp of the file to see when it was created. A RESYNC will always create a fresh Snapshot Controlfile.
See http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/rcmarchi.htm#sthref65 -
Finding Total Number Of Corrupted Blocks
Hello,
I just browsed several websites including RMAN documentation and information on how to identifiy corrupted blocks.
I´m in the middle of reorganizing production backups and their restore tests by duplication, which should (in my opinion) be followed by an analysis for corrupted blocks.
I found RMAN command BACKUP VALIDATE CHECK LOGICAL DATABASE ARCHIVELOG ALL; to fit my needs. Recently I read the validate command only writes NEWLY found corrupted blocks to View V$DATABASE_BLOCK_CORRUPTION.
1. How do I check the WHOLE database for its TOTAL physical and logical corrupted blocks?
2.Under which circumstances is it NOT necesssary to check the database after the restore? In other words is there a way to ensure the backup cancels immediately when finding a corrupted block?
3. Is it necessary to set maxcorrupt to "0" during the Backup to get it cancelled for every corrupted block found?
4. What does dbv in contrast to backup validation?
Please be so kind to post me some short hints.
Regards
DominikHi,
thanks for your feedback again.
Yesterday I "accidently" faced the situation to work with a block corrupted database during a restore test.
So I had the chance to run both backup validate and dbv against its corrupted files.
dbv worked fine, recognized all corrupted blocks and reported them in its output.
Disappointingly backup validate neither reportted any corrupt withtin the whole database (there are several datafiles with corrupted blocks), nor posted them to V$DATABASE_BLOCK_CORRUPTION. There I could only find a hand full, but not all of them.
I´m very consufed now, what would I need backup validate for anymore??? :-/
I built myself a script to check the whole database with dbverify. Regarding production databases we cannot live with uncertainties like that
Regards
Dominik -
Corrupt blocks in the LOB segment 11.2.0.2
Hello,
at a dbexport we found corrupted blocks in a LOB-Segment. Then we start rman and do a backup validate check logical database, nothing, rman didn't found any corruption. meanwhile we have repaired the LOB-Segment with restore, now all is ok. But we are confused about this situation, why did rman not found the corruption ? we are making backups with rman (with parameter check logical) and we think rman found logical data corruption. should we now make daily an export to dev_null that we found any corruption.It would be very nice if someone had an answer for us.
thanks very muchAs far as I know rman validate backup only check for corrupted blocks among database blocks which are used at least once(i.e. used, or free-but at least once used before). For not used blocks RMAN will not report any block corruption.
The alternate approach could be using dbv utility(Database verification utility) -
How to identify corrupted block in Particular tablespace?
Hi,
i am getting lot of block corruption error from particular tablesapce datafile. i couldn't able to use DBVerify utility .bcz datafiles not created using .dbf format.
how to idetify corrupted blocks?Detecting and Repairing Data Block Corruption
http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/repair.htm(9i)
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/repair.htm(10g)
Find more information “Handling Oracle Block Corruptions in Oracle7/8/8i/9i/10g” Metalink Note: 28814.1.
http://dbataj.blogspot.com/2008/04/oracle-database-block-corruption.html
http://sysdba.wordpress.com/2006/04/05/how-to-check-for-and-repair-block-corruption-with-rman-in-oracle-9i-and-oracle-10g/ -
Old corrupted blocks in nologging mode.
Dear All,
I m facing issue of block corruption, when I check through select from v$database_block_corruption it shows total 511 blocks corrupted and below is one result. This are old one and not having backup for the same.
But when I validate the backup it shows no error. How to resolve this.....
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
11 3638851 6 5.4254E+12 NOLOGGINGthe RMAN backup validate to check block corruption will return if any ACTIVE DB blocks are corrupted or not. So to my knowledge the corrupted blocks u have are not being used by the DB for any read/write hence RMAN backup is not returning an information about the block corruption. The DBverify is an old version if RMAN did not find the corruption then DBVerify will also not return anything. So if RMAN des nt return any block corruption then you will not have any DB outage.
-
Question on fixing a corrupt block with dbms_repair?
I am not using RMAN.
Can I fix a corrupt block with dbms_repair.
I know the table, file, block id.
FILE_ID = 3
Block ID = 1555205
Table: ARFCSDATA1) This is what I did so far
BEGIN
DBMS_REPAIR.ADMIN_TABLES (
TABLE_NAME => 'REPAIR_TABLE',
TABLE_TYPE => dbms_repair.repair_table,
ACTION => dbms_repair.create_action,
TABLESPACE => 'PSAPD3P');
END;
SET SERVEROUTPUT ON
DECLARE num_corrupt INT;
BEGIN
num_corrupt := 0;
DBMS_REPAIR.CHECK_OBJECT (
SCHEMA_NAME => 'SAPD3P',
OBJECT_NAME => 'ARFCSDATA',
REPAIR_TABLE_NAME => 'REPAIR_TABLE',
CORRUPT_COUNT => num_corrupt);
DBMS_OUTPUT.PUT_LINE('number corrupt: ' || TO_CHAR (num_corrupt));
END;
It is still running after an hour.
2) What does FIX_CORRUPT_BLOCKS actually do?
Maybe you are looking for
-
When I tried to print a borderless 4x6 photos on HP photo paper the image came out with too much red. I tried again with the same result. I then put in plain paper and the photo colors were fine. I was using a tri-color(97) and photo(99) cartridge. I
-
How to check iPhone 6 order status
Just pre-ordered and got an order number. But connection dropped before completed carrier selection. Impossible to get back to the order! Help!
-
Battery problems with Hp Compaq CQ60
So I inherited my sisters HP comapaq cq60 307-SA so that i have a laptop to take to university, but it has a lot of issues when it comes to battery. Sometimes the battery works fine, I charge it to 100%, and leave it to discharge, which it seems to d
-
I am new to Microsoft Visual Studio and am experimenting with the Reporting tool. I have created a Pie Chart and have the Labels outside the Pie Chart, basic I know. However, to get the values that I need I have wrote an expression to count certain f
-
Accessing a Static Array in one CAP file from another CAP in same project
Hi all, I have been developing a banking application on JavaCard. So the size of the applet has grown size able and have now split the file to multiple CAP files. I have been using NXP JCOP plugin in Eclipse for development. Below are the steps done