可以将数据库配置为使用校验和来验证重做日志文件中的块。如果将初始化参数DB_BLOCK_CHECKSUM设置为TYPICAL(缺省值),则数据库会在每个数据库块写入磁盘时计算每个数据库块的校验和,包括每个重做日志块在写入当前日志时。校验和存储在块的标题中。
Oracle数据库使用校验和来检测重做日志块中的损坏。在恢复期间从存档日志中读取块时以及将块写入存档日志文件时,数据库将验证重做日志块。如果检测到损坏,则会引发错误并将其写入警报日志。
如果在尝试存档时在重做日志块中检测到损坏,系统将尝试从组中的另一个成员读取该块。如果该块在重做日志组的所有成员中都已损坏,则无法继续存档。
可以使用ALTER SYSTEM语句动态更改DB_BLOCK_CHECKSUM参数的值。
启用DB_BLOCK_CHECKSUM后,数据库性能会有轻微的开销和降低。监视数据库性能,以确定使用数据块校验和检测损坏的好处是否超过性能影响。
Oracle Database Reference,了解DB_BLOCK_CHECKSUM初始化参数的说明
参考资料
https://docs.oracle.com/cd/E11882_01/server.112/e25494/onlineredo.htm#ADMIN11326