Is there a way to tell the
VALIDATE RECOVERY FILES command to use a different location with more available disk space?
When I run the command in RMAN, it fails with the following error stack:
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of validate command on ORA_DISK_1 channel at 06/05/2012 12:02:42 ORA-19502: write error on file "/opt/app/oracle/product/11.2.0/dbhome_1/dbs/... ORA-27072: File I/O error Additional information: 4 Additional information: 1071488 Additional information: 286720 ORA-19502: write error on file "/opt/app/oracle/product/11.2.0/dbhome_1/dbs/...
This appears to be due to the fact that the validation is using the database home for it's work area and there isn't enough disk space there. I can actually see the 8GB free there drop to zero before the command fails and the space is returned.
This location is not affected by setting the location in the format when allocating the channel for the device.
DB_RECOVERY_FILE_DEST is set to '+FRA', but currently most of the backups are in /u01/back rather than ASM. '+FRA' does have some control file backups.
I haven't found a way to do this, but I also haven't found anything definitive saying it is not possible. There is an Oracle community topic discussing this, but no resolution. Interestingly
RESTORE ARCHIVELOG ALL VALIDATE and
RESTORE VALIDATE DATABASE CHECK LOGICAL do not exhibit this behavior, which may be why more people haven't run into it.
I opened a SR with Oracle support to see if they can shed light on this question.
Oracle support was able to reproduce this issue in house and they are treating it as a bug.