RE: Block media recovery with standard edition

  • From: Jonathan Lewis <jonathan@xxxxxxxxxxxxxxxxxx>
  • To: oracle-l-freelists <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 9 Dec 2015 00:01:45 +0000


Might it be possible to create an object that manages to overwrite that block ?
CTAS No logging, pctfree 99 pctused 1.



Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
@jloracle
________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx [oracle-l-bounce@xxxxxxxxxxxxx] on behalf
of Mladen Gogala [gogala.mladen@xxxxxxxxx]
Sent: 08 December 2015 23:45
To: oracle-l-freelists
Subject: Block media recovery with standard edition

I ran into a corrupt block which makes rman backup fail:

released channel: backup_ch1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 12/08/2015 01:58:24

RMAN-03009: failure of backup command on backup_ch1 channel at 12/08/2015
01:58:01
ORA-19566: exceeded limit of 0 corrupt blocks for file
+DATA/prod/datafile/indexes.1030.873578613

OK, let's see what is it:

SQL> select file#,block# from v$database_block_corruption;

FILE# BLOCK#
---------- ----------
36 3650527

SQL> select owner,segment_name,segment_type
2 from dba_extents
3 where file_id=36 and
4 block_id<=3650527 and
5 block_id+blocks>=3650527;

no rows selected

Great! No segments are affected! Let's fix it:

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

connected to target database: PROD (DBID=204240718)

RMAN> recover corruption list;

Starting recover at 08-DEC-15
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 12/08/2015 15:23:40
RMAN-05009: Block Media Recovery requires Enterprise Edition

RMAN>

@#$%! and standard edition! Does anyone have an idea how to fix it, short of
taking the entire tablespace offline and recovering it? The tablespace contains
indexes for the central application schema and such a procedure would amount to
downtime, which would sit well with the customer. I cannot use DBMS_REPAIR
because this repairs objects and the corrupt block is not in any segment.
Backup validate datafile 36 still finds corrupt blocks, which means that the
subsequent backup will fail.

--
Mladen Gogala
Oracle DBA
http://mgogala.freehostia.com

Other related posts: