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.
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
|