Block recovery
RMAN> run {
blockrecover corruption list;
backup validate datafile 23,25,26;
2> 3> 4>
Starting blockrecover at 27-JUN-08
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of blockrecover command at 06/27/2008 12:27:29
RMAN-05009: Block Media Recovery requires Enterprise Edition
I dont have enterprise edition. Is there any other way to fix the corrupted blocks.
What do you mean by saying that "when I tried to start the backup" when you had already recovered?
If you want to skip the corrupted blocks,you can do the same with DBMS_REPAIR package.You haven't mentioned your db's version so I am posting the link from 8i which I am assuming the minimum version you wouldbe using.
http://www.oracle-base.com/articles/8i/DetectAndCorrectCorruption.php
Aman....
Similar Messages
-
Block recovery why it needs so many archive dlogs
Subject: Why does block recovery needs so many archived logs
My blocks were corrupted on Sept 8 (looking at rman backup log).
I am doing
recover datafile 19 block 321, 322, 385, 513, 577 restore until time 'sysdate - 15';
I am finding that this command first restores datafile of backup of Sept 7 and then it tries to get
1. All the archived logs from Sept 7 until today. If my blocks were corrupted on Sept 8 why does it need logs of next 10 days or so.
2. If restore of archived logs from tape somehow fails; then If I rerun recover data file 19 block command,
It starts from the beginning; why?
3. Is there a way to do recovery based on archived logs received
So far since I do not think more are needed. Can I just run:
recover datafile 9 command.
Can it be run while database is in open mode.user632098 wrote:
Can I just run:
recover datafile 9 command.
Can it be run while database is in open mode.You can try to recover only a datafile if you have the right backup for the datafile and and all archived redo logs needed.
It can be done online if the datafile does not belong to SYSTEM or UNDO tablespace.
Example:
RMAN> sql 'alter database datafile 4 offline';
sql statement: alter database datafile 4 offline
RMAN> restore datafile 4;
Starting restore at 18-SEP-10
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=21 devtype=DISK
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00004 to C:\ORACLEXE\ORADATA\XE\USERS.DBF
channel ORA_DISK_1: reading from backup piece C:\ORACLEXE\APP\ORACLE\FLASH_RECOV
ERY_AREA\XE\BACKUPSET\2010_09_16\O1_MF_NNNDF_TAG20100916T210407_694TK7BY_.BKP
channel ORA_DISK_1: restored backup piece 1
piece handle=C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\BACKUPSET\2010_09_16\
O1_MF_NNNDF_TAG20100916T210407_694TK7BY_.BKP tag=TAG20100916T210407
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
Finished restore at 18-SEP-10
RMAN> recover datafile 4;
Starting recover at 18-SEP-10
using channel ORA_DISK_1
starting media recovery
archive log thread 1 sequence 70 is already on disk as file C:\ORACLEXE\APP\ORAC
LE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2010_09_17\O1_MF_1_70_695ZOOOH_.ARC
archive log thread 1 sequence 71 is already on disk as file C:\ORACLEXE\APP\ORAC
LE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2010_09_17\O1_MF_1_71_6977XBK5_.ARC
archive log thread 1 sequence 72 is already on disk as file C:\ORACLEXE\APP\ORAC
LE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2010_09_18\O1_MF_1_72_698RLXQC_.ARC
archive log filename=C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\20
10_09_17\O1_MF_1_70_695ZOOOH_.ARC thread=1 sequence=70
archive log filename=C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\20
10_09_17\O1_MF_1_71_6977XBK5_.ARC thread=1 sequence=71
media recovery complete, elapsed time: 00:00:01
Finished recover at 18-SEP-10
RMAN> sql 'alter database datafile 4 online';
sql statement: alter database datafile 4 online
RMAN> -
I have a database which has database block corruption. I had a successful rman backup of Sunday.
Monday and Tuesday rman backup failed saying
ORA-19566: exceeded limit of 0 corrupt blocks for file F:\EM…….
Then I modified rman script to skip up to 5 corrupt blocks..
set maxcorrupt for datafile 'F:\......' to 5;
Now my rman backup is successful on Wednesday…
Now, I want to repair blocks using rman’s block recover command:
recover datafile 19 block 321, 322, 385, 513, 577 restore
My questions are:
a. Will rman automatically start with Sunday’s successful back and then apply archived logs.. or
Will it start with Wednesday’s backups and then it won’t be able to recover corrupted blocks…
b. How to force rman block recover to start from Sunday’s backup …My questions are:
a. Will rman automatically start with Sunday’s successful back and then apply archived logs.. or
Will it start with Wednesday’s backups and then it won’t be able to recover corrupted blocks…If the sunday's RMAN backup is available. It will start with sunday's backup and will perform block recovery from required archive log.
b. How to force rman block recover to start from Sunday’s backup …Not required. it will check for required backuppiece and go ahead with the process. -
Doing Block Recovery of a Table
Hello,
We have to do a single block recovery of a table on Oracle 10gR2 Solaris machine.
One of the archive was missing or corrupted.
I was trying to do block recovery from the backup of 3 days. But it is applying all the archives and after that errors out saying media recovery failure due to missing/corrupt archive log.
I have tried until scn , until sysdate-2 , using tag tagname etc....
But in all the situations it is applying archive logs and giving media recovery failure.
Is there any way I can only apply certain archive logs or do until a point in time of recovery of that single block.
or just get the block from the backup and not apply the archive logs.
ThanksStreet Hawk wrote:
Then you have to forget that block.
OR
you will have to do an incomplete recoveryI have to say that its "really wrong". How would you do an incomplete recovry of a corrupted block?
http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/rcmconc2.htm#i1008221
>
Note these restrictions of block media recovery:
You can only perform block media recovery with RMAN. No SQL*Plus recovery interface is available.
You can only perform complete recovery of individual blocks. In other words, you cannot stop recovery before all redo has been applied to the block.
You can only recover blocks marked media corrupt. The V$DATABASE_BLOCK_CORRUPTION view indicates which blocks in a file were marked corrupt since the most recent BACKUP or BACKUP ... VALIDATE command was run against the file.
You must have a full RMAN backup. Incremental backups are not used by block media recovery. Proxy backups are also not used by block media recovery. Only full backups and archived log files are used.
Block media recovery is able to restore blocks from parent incarnation backups and recover the corrupted blocks through a RESETLOGS.
Blocks that are marked media corrupt are not accessible to users until recovery is complete. Any attempt to use a block undergoing media recovery results in an error message indicating that the block is media corrupt.>
Flashback also is WRONG suggestion. It recovers your logical changes,not the physcial corruptions like block failure and you don't need to enable it. Its there by default. The flashback database option has to be enabled. But putting the whole database back in past , just because a block is corrupted , is that a wise thing to do?
@OP,
If you don't have all the archive logs, I would suggest to repair the block using [dbms_repair|http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_repair.htm] package. Note that the name of the package is "misleading".
HTH
Aman.... -
Hi all
in alert log file i am getting following messege
Sat Jan 23 04:00:03 2010
Recovery of Online Redo Log: Thread 1 Group 19 Seq 443514 Reading mem 0
Mem# 0: /redo_odd2/oracle/VIGILANCE/data/VIGILANC/redo19aa.log
Mem# 1: /redo_odd3/oracle/VIGILANCE/data/VIGILANC/redo19bb.log
Mem# 2: /redo_odd1/oracle/VIGILANCE/data/VIGILANC/redo19cc.log
Block recovery interrupted at rba 443514.342069.476
Doing block recovery for file 15658 block 21511
Block recovery from logseq 443514, block 182898 to scn 9095198491615
Why it so
it is critical production serverHi,
Do You have any rman backup of that datafile ,
if have then using rman you can recover the block as
rman> recoverblock datafile <no.> block <no.>;
try this
farhan. -
Hello,
Well, this one isn't as desperate as my last post. Basically, I need to know where to go to get a boot block recovery cd. Is it downloadable from here? If so, where? Otherwise, how else do I get one? How do I get a backup disk in case this happens again?hello
i can lead you to the correct download section if you could provide your model number for your BIOS update
Message Edited by samavedam_vijay on 04-04-2009 11:37 PM
Cheers and regards,
• » νιנαソѕαяα∂нι ѕαмανє∂αм ™ « •
●๋•کáŕádhí'ک díáŕý ツ
I am a volunteer here. I don't work for Lenovo -
Problem with block recovery!!!
I backedup a database but,unable to backup this coz i got an error in which i found that my datafile 1 block's is currupt,then i look into session trace file in which i found that which block number has been currupt,then i recover block,but i get an error in which i see that no backupset is found to rman to recover,now i wanted to know that if i heven't a valid backup a database which block has been currup,can i recover a block? and also can backup database too???
please help me out of this i would be very thankfull of you..You could try to repair a block with the built-in package DBMS_REPAIR.
DBMS_REPAIR
DBMS_REPAIR contains data corruption repair procedures that enable you to detect and repair corrupt blocks in tables and indexes. You can address corruptions where possible and continue to use objects while you attempt to rebuild or repair them.
http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96612/d_repair.htm#ARPLS044
Joel Pérez
http://otn.oracle.com/experts -
Oracle 11g - How to repair block corruption(on free space) in datafile
Hi,
I have a tablesopace with 3 datafiles, out of which one datafile has corrupted block. But no objects or data is affected as the corrupted block os in free space. This was shown in the alert logs.
Please see below the details:
Wed Apr 06 15:30:04 2011
SMON: Restarting fast_start parallel rollback
SMON: ignoring slave err,downgrading to serial rollback
ORACLE Instance geooap (pid = 12) - Error 1578 encountered while recovering transaction (10, 6) on object 149755.
Errors in file f:\oracle11g\diag\rdbms\geooap\geooap\trace\geooap_smon_5540.trc:
ORA-01578: ORACLE data block corrupted (file # 7, block # 54053)
ORA-01110: data file 7: 'F:\ORACLE11G\ORADATA\GEOOAP\ORDER_DATA_01.DBF'
GEOAP:
Fri Apr 01 14:57:48 2011
Errors in file f:\oracle11g\diag\rdbms\geop\geop\trace\geop_arc1_2156.trc:
ORA-00235: control file read without a lock inconsistent due to concurrent update
Fri Apr 01 14:57:58 2011
================================================================
The corruption is being reported in a free space block of the ORDER_DATA_01.DBF.
I’ve checked all the tables (and indexes) in this tablespace and none report corruption.
=====================================================Is there any action I need to take to remove corruption at this point?It is not affected any operation on the database yet.
What is the best way to do get rid of the corrupt block, without dropping and rebuillding the full tablespace(which is around 6 GB -total of 3 datafiles)
Thanks a lotCan RMAN recover the datablock from this cold backup(which is a week old, the data file was not corrupted then) ?Please note that to do the recovery, you would need the backup and the archivelog files since the backup. Think about what you are asking to do. Its a single block whose recovery you are asking from a week old backup which obviously would be on an much older SCN compared to the rest of the database. How would you make that block consistent with the rest of the datafile. If you don't have archivelog in that db whose block is corrupted, you may forget that block and any data that it might ever had. Also, please read the documentation about the block recovery which explains the requirements very clearly,
http://download.oracle.com/docs/cd/E11882_01/backup.112/e10642/rcmblock.htm#BRADV89784
From the above link, 1st point,
The target database must run in ARCHIVELOG mode and be open or mounted with a current control file.HTH
Aman.... -
how can i corrupt a block to mock up BMR (block media recovery) workaround , i want to corrupt some block of Oracle seeded table "emp" within scott schema.
Regards
AbhiTry this
http://momendba.blogspot.com/2008/02/practicing-block-recovery-in-oracle.html
http://naveenkumarsr.wordpress.com/2011/03/29/corrupting-oracle-blocks/ -
Needs help regarding block corruption
DB Version - 11.2.0.3.0
Issue - Last backup failed due to block corruption ,message says "ORA-19566: exceeded limit of 0 corrupt blocks for file /GP/GAA01-N-P/db00/index01/GPEDWPR/bi_gpedw_fcct.dbf'
I tried to perform block recovery using RMAN but it was not present in backup, hence failed. tried in the below way also :-
RMAN> LIST FAILURE
2> ;
using target database control file instead of recovery catalog
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
72981 HIGH OPEN 13-JAN-13 Datafile 58: '/GP/GAA01-N-P/db00/index01/GPEDWPR/bi_gpedw_fcct.dbf'
contains one or more corrupt blocks
RMAN> ADVISE FAILURE
2> ;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
72981 HIGH OPEN 13-JAN-13 Datafile 58: '/GP/GAA01-N-P/db00/index01/GPEDWPR/bi_gpedw_fcct..dbf' contains one or more corrupt blocks
analyzing automatic repair options; this may take some time
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2055 device type=DISK
analyzing automatic repair options complete
Mandatory Manual Actions
========================
1. No backup of block 3106752 in file 58 was found. Drop and re-create the associated object (if possible), or use the DBMS_REPAIR package to repair the block corruption
2. No backup of block 3106911 in file 58 was found. Drop and re-create the associated object (if possible), or use the DBMS_REPAIR package to repair the block corruption
3. No backup of block 3106976 in file 58 was found. Drop and re-create the associated object (if possible), or use the DBMS_REPAIR package to repair the block corruption
4. No backup of block 3107504 in file 58 was found. Drop and re-create the associated object (if possible), or use the DBMS_REPAIR package to repair the block corruption
5. Contact Oracle Support Services if the preceding recommendations cannot be used, or if they do not fix the failures selected for repair
Now how to troubleshoot ? Any help will be highly appreciatedFirst, you need to determine to which segment the block is assigned:
select segment_type,owner,segment_name
from dba_extents
where file_id=58 and 3106752 between block_id and (blockid + blocks -1);
Your action from there will depend on the type of segment. Since you have no backup, the options are limited. But there are still possibilities. -
Block Corruption in the SYSAUX tablespace
Problem Description: Block Corruption in the SYSAUX tablespace :
==================================
We are facing block corruption issue in the SYSAUX tablespace during rman backup..
So currently we are using SET MAXCORRUPT FOR DATAFILE 3 TO 2; parameter to take the backup and it is running fine.. Now we have to fix the issue..
Please let us know the steps to fix the issue..
Please find the details below.
Dbv output:
sesoxpro33.p51x1> dbv file=/oradata/p51x/data/p51x_sysaux_01.dbf blocksize=32768 end=64000
DBVERIFY: Release 10.2.0.3.0 - Production on Fri Aug 26 20:47:29 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
DBVERIFY - Verification starting : FILE = /oradata/p51x/data/p51x_sysaux_01.dbf
Page 64 is influx - most likely media corrupt
Corrupt block relative dba: 0x00c00040 (file 3, block 64)
Fractured block found during dbv:
Data in bad block:
type: 0 format: 0 rdba: 0x00000000
last change scn: 0x0000.00000000 seq: 0x0 flg: 0x00
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x00000001
check value in block header: 0x0
block checksum disabled
DBVERIFY - Verification complete
Total Pages Examined : 64000
Total Pages Processed (Data) : 22547
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 23859
Total Pages Failing (Index): 0
Total Pages Processed (Other): 14586
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 3007
Total Pages Marked Corrupt : 1
Total Pages Influx : 1
Highest block SCN : 281617057 (2054.281617057)
SELECT tablespace_name, segment_type, owner, segment_name FROM dba_extents
WHERE file_id = 3 and 64 between block_id AND block_id + blocks - 1;
TABLESPACE_NAME SEGMENT_TYPE OWNER
SEGMENT_NAME
SYSAUX SYS_LOB0000000594C00007$$
OS & database Details :
==========
Oracle Solaris on x86-64 (64-bit)
Oracle Server - Enterprise Edition -- 10.2.0.3
If any more informatin is needed, Please let me know..
Thanks & Regards,
Suresh Bommalata.refer:
logical corruption found in the sysaux tablespace
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
http://download.oracle.com/docs/cd/B12037_01/server.101/b10734/rcmrecov.htm
http://oracleinstance.blogspot.com/2010/05/block-recovery-using-rman-backup.html -
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/ -
Hi,
we have 805 database. We have a table which contiants corrupted blocks.
So I went to export dump (backup) and imported to a new temp instance. But strage thing is when I select on new instance, it giving again block corruption error for this table, (new database, new datafile)
so any idea what can cause for this ? and any suggestion plz ???
Thanks in advance.refer:
logical corruption found in the sysaux tablespace
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
http://download.oracle.com/docs/cd/B12037_01/server.101/b10734/rcmrecov.htm
http://oracleinstance.blogspot.com/2010/05/block-recovery-using-rman-backup.html -
Hi all,
db version - 10.2.0.4 ; OS version : RHEL 5.7
There was a corruption in the block in undo datafile in one of our production database. I tried to recover the block using RMAN :
RMAN> blockrecover datafile # block #;
but what its doing is restoring all the archive logs to the archive destination. I have started the block recovery at 10:30am and its already 11:50pm but still its restoring all the archive logs. First it read the last FULL backup which was of date 02-July-2012 , Once it completed that it started restoring all the archived logs to the archive destination.
I am really confused what I have to do know. I am thinking of stopping the restoration and then add a new datafile to the Undo tablespace and then remove the corrupted block undo datafile.
Is my approach correct or Do I need to follow any other procedure to overcome the issue.
Regards,
Imran KhanI mean rman block recovery procedure. I am not deleting yet. I just wanna know which approach I have to take in order to resolve the issue.
Regards,
Imran Khan -
How to overcome from Data block corruption error
Hi,
I am using one table when i was deleting one row, i encountered "Data block corruption error".
Kindly suggest solutions for the same.
Regards,
AbhishekIf you have a recovery manager backup, then you can perform a block recovery operation, after the information shown on the error message where the file# and the block# are displayed you can perform the block recovery operation.
Syntax for the block recovery operation can be found here : BLOCKRECOVER
In case of an index block, it is enough to rebuild the index.
In case you have a regular backup with archivelog enabled you can restore the damaged datafile and perform a simple file recovery operation.
One more additional tip that can be used, you may be interested in using the DBMS_REPAIR package unit.
Finally, I suggest you to check the complete datafile using dbv (Database Verifier) utility to find out if there are more corrupt blocks in your datafile, and proactively run this utility as a maintenance task.
~ Madrid
Maybe you are looking for
-
Delete file from original location and when copied size of file increases.
hi ! I have 2 exe's both of 1.15MB which I want to move to another folder. The files are copied to the folder but the size of exe increases to around 350MB each. What can be the problem ? BufferedOutputStream bos=new BufferedOutputStream(new FileOutp
-
How to insert data from a table to database
Hi all, My problem statement is that: I have jsp page, which has a table with some columns editable for inserting data. I am using MySql database. Now when I insert the data in the table and click submit button , the data entered must get stored in t
-
hello, We have SCVMM 2012 R2 environment and Hyper-v host are added. I created a VM on host machine and then its clone but jobs gets failed with following below error and this error am getting very frequently on scvmm server/ Error (2912) An inte
-
How do I get rid of 'Top Hits' in the search bar/ url address bar?
I have websites in my bookmark folders but I don't want them to appear as a suggestion when I search, I've cleared my history and they are still there. I don't wish to delete my bookmarks though. I'm using Safari version 6.0
-
i have 65 G of music on my mac and would like to take it off my hard drive and put it on a external hard drive. is there any way i could play my music through itunes and not actually have to load all the songs back into itunes. maybe if i ran itunes