在Oracle Database 11g 中,不同数据库组件层和工具可自行检测受损块,然后将其记
录到VDATABASE_BLOCK_CORRUPTION 视图中。在11g 之前的版本中,只有RMAN
能记录到该视图中。每当新块(从一个不可恢复事件)记录到VDATABASE_BLOCK_
CORRUPTION 视图时,可触发一个Enterprise Manager 警报。
Oracle Database 11g 还引入了一个内置机制,通过数据库的全面块检测机制,来提
高数据保护能力。通过将DB_ULTRA_SAFE 初始化参数设为TRUE,可启用这个块检测
功能。该参数允许及时检测数据受损情况。DB_ULTRA_SAFE 参数包含下列检测和验证
功能。
2. 请参阅MetaLink Note 454848.1:“安装和使用版本11g R1 中的备用Statspack”。
● 检测重做损坏。
● 提供检验和以及内部元数据检查。
● 确保重做是适用于数据块的“下一个变化”。
● 检测写丢失和数据库损坏。
● 在读入期间和更新后验证数据块。
● 读入期间通过校验和检测数据块损坏,在DML 块操作后通过db_block_checking
检测数据块损坏。
● 如果使用了ASM 冗余,则在基于ASM 的数据文件上强制实施顺序镜像写入。
DB_ULTRA_SAFE初始化参数隐式启用其他与数据保护相关的初始化参数的设置,包
括DB_BLOCK_CHECKING、DB_BLOCK_CHECKSUM和DB_LOST_WRITE_PROTECT。
注意,在主数据库上设置DB_ULTRA_SAFE 参数时,可能影响应用程序的性能。
性能影响程度取决于块更改数量以及可用系统资源,通常在1%~10%之间。物理备用受
到的性能影响高于主数据库。




