Networker

Re: [Networker] Oracle again

2004-02-29 08:26:22
Subject: Re: [Networker] Oracle again
From: Matthew Huff <mhuff AT OX DOT COM>
To: NETWORKER AT LISTMAIL.TEMPLE DOT EDU
Date: Sun, 29 Feb 2004 08:25:46 -0500
You attempt to write the last block of the file to determine if  
the requested size is valid. This overwrites the initial block that was
just  
written to the last block of the file and results in the corrupt block
message  
when we try to back up or copy the file.    
 
 
Problem Explanation:  
====================  
 
The function that calculates the raw device size is not implemented on
most  
UNIX platforms.  
 
  
Problem References:  
===================  
 
Note:60929.1  Patches/Issues for Oracle 8 on Digital Unix 
Note:60953.1  Alert on raw and recovery 
BUG:667651    ORA-19566 DURING RMAN BACKUPS FROM RAW DEVICE 
Bug:702379    ORA-19566 WHEN RMAN BACKUP FROM RAW DEVICE 
BUG:772995    RMAN BACKUP OF RAW DEVICES CAN'T DETERMINE END OF DEVICE 
BUG:690327    ORA-19501, ORA-27072 OCCURS WHEN EXECUTING BACKUP BY RMAN
ON RAW  
              DEVICE 
 
Solution Description:  
=====================  
 
1) get the patch for the bug: 702379 (contact Oracle Support Services
for patch) 
 
                   OR 
 
2) use the following workaround: 
 
To tell RMAN to permit corrupt blocks to be backed up, you must use the 
SET MAXCORRUPT command (note that this goes inside the RUN command): 
   
             SET MAXCORRUPT FOR DATAFILE 'foo' TO n; 
 
where 'n' is the number of corrupt blocks which will be allowed in the
backup. 
 
 
Solution Explanation: 
===================== 
 
After loading a new file with initial blocks, skgfrsz is called to set
the true  
size of the file.  Because get raw device size is not implemented on
most of  
the Unix platforms, we attempt to write the last block of the file to
determine  
if the requested size is valid. This overwrites the initial block that
was just  
written to the last block of the file, and results in the corrupt block
message  
when we try to back up or copy the file. 
 
As noted above, this can be worked around by using the 'set maxcorrupt'
command. 
   
 
However, the 'set maxcorrupt' command only applies to the rman BACKUP
command,  
not the rman COPY command.  To work around this problem for the rman
COPY  
command, you must modify "recover.bsq".  Find the line in  
"$ORACLE_HOME/rdbms/admin/recover.bsq" which looks like this: 
   
     sys.dbms_backup_restore.copyDataFile(full_name => full_name, 
 
and add the following line immediately after that line: 
        max_corrupt => 1, 
 
 
Solution References:  
==================== 
  
Bug702379: ORA-19566 WHEN RMAN BACKUP FROM RAW DEVICE 
Bug772995: RMAN BACKUP OF RAW DEVICES CAN'T DETERMINE END OF DEVICE 

--
Matthew Huff           | One Manhattanville Rd
Director of Operations | Purchase, NY 10577
OTA LLC                | Phone: 914-460-4039 
mailto:mhuff AT ox DOT com    | Fax:   914-460-4139   

> -----Original Message-----
> From: Anuj Mediratta [mailto:anuj AT ACE-DATA DOT NET] 
> Sent: Sunday, February 29, 2004 6:32 AM
> To: NETWORKER AT LISTMAIL.TEMPLE DOT EDU
> Subject: [Networker] Oracle again
> 
> 
> Hi all,
> 
> Has anyone worked on Oracle & faced this type of error in backups -
> 
> ORA-19566: exceeded limit of 0 corrupt blocks for
> file /oracle/oradata/pin/oradata/pin/pin08.dbf
> ORA-06512: at "SYS.DBMS_BACKUP_RESTORE", line 408
> 
> If yes, please help me with this.
> 
> Regards,
> Anuj
> 
> --
> Note: To sign off this list, send a "signoff networker" 
> command via email to listserv AT listmail.temple DOT edu or visit 
> the list's Web site at 
> http://listmail.temple.edu/archives/networker.> html where you 
> can also view and post messages to the list. 
> =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
> 
> 

--
Note: To sign off this list, send a "signoff networker" command via email
to listserv AT listmail.temple DOT edu or visit the list's Web site at
http://listmail.temple.edu/archives/networker.html where you can
also view and post messages to the list.
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=

<Prev in Thread] Current Thread [Next in Thread>