After completing this lesson, you should be able to: • Identify the causes of database corruption: – Hardware – Software • Detect database corruption by using: – ANALYZE – DBVERIFY – DB_BLOCK_CHECKING – DBMS_REPAIR • Repair corruptions by using RMAN | Dealing with Database Corruption Objectives After completing this lesson, you should be able to: Identify the causes of database corruption: Hardware Software Detect database corruption by using: ANALYZE DBVERIFY DB_BLOCK_CHECKING DBMS_REPAIR Repair corruptions by using RMAN What Is Block Corruption? Whenever a block is read or written, a consistency check is performed. Block version DBA (data block address) value in cache as compared to the DBA value in the block buffer Block-checksum, if enabled A corrupt block is identified as being one of the following: Media corrupt Logically (or software) corrupt What Is Block Corruption? A corrupted data block is a block that is not in a recognized Oracle format, or whose contents are not internally consistent. Typically, corruptions are caused by faulty hardware or operating system problems. The Oracle database identifies corrupt blocks as either “logically corrupt” or “media corrupt.” If it is logically corrupt, then there is an Oracle internal error. Logically corrupt blocks are marked corrupt by the Oracle database after it detects the inconsistency. If it is media corrupt, then the block format is not correct; the information in the block does not make any sense after being read from disk. You can repair a media corrupt block by recovering the block or dropping the database object that contains the corrupt block, or both. If media corruption is due to faulty hardware, the problem will not be completely resolved until the hardware fault is corrected. Block Corruption Symptoms: ORA-01578 The error ORA-01578: "ORACLE data block corrupted (file # %s, block # %s)": Is generated when a corrupted data block is found Always returns the absolute file number and block number Is returned to the session that issued the query being performed when the corruption was discovered Appears in the file Block Corruption Symptoms: ORA-01578 Usually, the ORA-01578 error is the result of a hardware problem. If the ORA-01578 error is | Dealing with Database Corruption Objectives After completing this lesson, you should be able to: Identify the causes of database corruption: Hardware Software Detect database corruption by using: ANALYZE DBVERIFY DB_BLOCK_CHECKING DBMS_REPAIR Repair corruptions by using RMAN What Is Block Corruption? Whenever a block is read or written, a consistency check is performed. Block version DBA (data block address) value in cache as compared to the DBA value in the block buffer Block-checksum, if enabled A corrupt block is identified as being one of the following: Media corrupt Logically (or software) corrupt What Is Block Corruption? A corrupted data block is a block that is not in a recognized Oracle format, or whose contents are not internally consistent. Typically, corruptions are caused by faulty hardware or operating system problems. The Oracle database identifies corrupt blocks as either “logically corrupt” or “media corrupt.” If it is logically corrupt, then there is an Oracle .