Oracle数据库优化: Adaptive Log File Sync 详解与最佳实践

需积分: 41 90 下载量 109 浏览量 更新于2024-08-05 收藏 39.69MB PDF 举报
“中提出的一个优化重做日志-王晓波-从微服务到serverless+架构应用与实践v2” 本文主要关注Oracle数据库中的一个优化特性——adaptive log file sync,这是在11.2版本中引入的新功能。该特性旨在改进重做日志的写入效率,但在某些情况下可能会导致性能下降。在11.2.0.3及之后的版本,默认设置为TRUE。然而,将`_use_adaptive_log_file_sync`参数设置为false后,一些客户观察到log file sync等待事件的平均等待时间显著降低,从10毫秒降至1到2毫秒。 adaptive log file sync可能导致性能下降的原因是LGWR(日志写进程)开始使用polling方式代替post/wait机制,并且polling间隔固定为10毫秒,这个值在代码中硬编码。这可能会在特定工作负载下增加不必要的CPU使用率,从而影响整体性能。 此外,如果系统中使用了Veritas/symantec的ODM(操作系统动态管理),可能会遇到Bug 13551402,表现为“log file parallel write”和“log file sync”等待事件升高。这个问题已经在11.2.0.3和11.2.0.2版本中被确认。内部讨论指出,11.2版本中LGWR的IO操作使用了一种批量同步I/O接口,与Veritas/symantec的ODM结合使用时,会导致性能问题。为解决此BUG,已经在多个Unix/Linux平台上提供了补丁。 在Oracle数据库运维的最佳实践中,除了上述的性能调优,还涵盖了数据模型设计的关键方面。包括但不限于: 1. 数据模型设计原则,强调如何创建高效、灵活且易于维护的数据结构。 2. 数据模型设计步骤,指导如何逐步构建和验证数据模型。 3. 主键设计,确保数据的唯一性和完整性。 4. 外键设计,用于关联不同表之间的数据,维护数据的参照完整性。 5. 字段设计,包括选择适当的字段类型和排列顺序。 6. 逆范式设计,考虑在特定场景下牺牲规范化以提升性能。 7. 大对象(LOB)设计,涵盖传统LOB技术以及新一代的Securefiles技术,讨论其性能指南和可能遇到的问题。 此外,文档还提到了11g中的虚拟列(virtual columns)特性,包括创建、索引、约束、添加、基于PL/SQL函数的虚拟列,以及它们对存储、成本基础优化器(CBO)的影响,甚至与视图的比较。 这份资料提供了丰富的Oracle数据库运维知识,从性能优化到数据模型设计,为数据库管理员提供了深入的实践指导。对于处理复杂的数据库系统和解决性能问题具有很高的参考价值。