Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

How does RMAN perform corruption detection?

0
10 Posted

How does RMAN perform corruption detection?

0
10

Corruption detection is actually performed by the Oracle server. RMAN does NOT perform the backup, but just directs the server to backup a specified list of datafiles. During backup, the Oracle server detects certain types of corruptions. Many of the verification checks that are performed when a block is read into the buffer cache are also performed by a server process performing a backup. Some types of corruptions cannot be detected because the exact structure of table/index block distribution in the database object is unknown; this can happen during a closed database backup, as the server process is unavailable. If a block is detected as newly corrupted, it will be identified as such in the alert log and also in the database controlfile. You can view this information by querying the V$COPY_CORRUPTION or V$BACKUP_CORRUPTION views. If a block was already detected as corrupted by the server, then the block will not be identified in the same way as a newly corrupted block.

0

Note it is NOT RMAN that performs the backup, it is the Oracle server. RMAN just directs the server to backup a specified list of datafiles. During backup, the oracle server detect certain types of corruptions. Many of the verification checks that are performed when a block is read into the buffer cache are also performed by a server process performing a backup. Some types of corruptions cannot be detected unless the exact structure of the table/index the object belongs to is known – this information is not known by the backup server process (especially considering the database can be backed up while it is closed). If a block is detected as newly corrupt, it will be identified in the alert log and also in that database’s controlfile. You can view this information by querying the views v$copy_corruption or v$backup_corruption. If a block has already been detected as corrupt by the server, the block will not be identified in the same way as a new corrupt block.

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.

Experts123