The BACKUP … VALIDATE command is very similar to the VALIDATE command, in that it can check to see if data files are available and if the data files contain any corrupt blocks, for example:
RMAN> backup validate database;
This command does not actually create any backup files, it only reads the data files and checks for corruption.
Like the VALIDATE command, BACKUP VALIDATE, by default, checks only for physical corruption.
You can instruct it to check as well for logical corruption, as shown here:
RMAN> backup validate check logical database;
Here are some variations of the BACKUP … VALIDATE command:
RMAN> backup validate database current controlfile;
RMAN> backup validate check logical database current controlfile plus archivelog;
Also like the VALIDATE command, BACKUP … VALIDATE will populate V$DATABASE_ BLOCK_CORRUPTION if it detects any corrupt blocks.
The information in this view can be used to determine which blocks can potentially be restored by block-level recovery.
Using RESTORE … VALIDATE
The RESTORE … VALIDATE command is used to verify backup files that would be used in a restore operation. This command validates backup sets, data file copies, and archivelog files.
RMAN> restore validate database;
No actual files are restored when using RESTORE … VALIDATE. This means you can run the command while the database is online and available.
Using a Recovery Catalog
When you use a recovery catalog, it is possible to create the recovery catalog user in the same database, on the same server, as your target database.
However, that approach is not recommended because you do not want the availability of your target database or of the server on which the target database resides to affect the recovery catalog.
Therefore, you should create the recovery catalog database on a server different from that of your target databases.
The recovery catalog can be used for the whole database environment depending on sizing, but remember it normally is going to store the information stored in control files.