【恩墨学院】 盘点 Oracle 11g 中新特性带来的10大性能影响(下)

[复制链接]
查看11 | 回复0 | 2015-3-4 14:54:42 | 显示全部楼层 |阅读模式
本帖最后由 恩墨学院 于 2017-11-9 16:57 编辑
【恩墨学院】 盘点 Oracle 11g 中新特性带来的10大性能影响(下)还记得我们前些天盘点的Oracle 11g 的10大性能影响(上)吗?Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先引起的是一些麻烦,因为对于心技术的不了解,因为对于旧环境的不适应,从Oracle产品到技术服务运维,总是要走过一个磨合的长期过程。 那么这次,我们将继续为大家分享那些新特性带来的新烦恼,为那些准备或者刚刚踏入这个新版本的用户,作为借鉴和参考。 6. _optimizer_use_feedback - 优化器的基数反馈 Cardinality Feedback - 基数反馈,是Oracle 11.2中引入的新特性,这个新特性利用SQL执行过程中的信息采集,动态的调整执行计划,以解决统计信息陈旧、无直方图或基于直方图基数计算不准确等情况。 Oracle希望由此提升执行计划的准确性,但是在某些情况下,我们可能遇到SQL 第一次执行性能最好,之后再运行其性能变差的情况。 初始化参数_optimizer_use_feedback 可以控制这个特性的启用,设置为False关闭了这个特性:alter system set “_optimizer_use_feedback”=false; 7. deferred_segment_creation - 延迟段创建 在Oracle 11.2中, 当我们创建一个空表或者空分区时,为了加快创建速度,Oracle并不会立即分配初始段和空间,实际的表段Table Segement被延迟到第一行数据插入时创建。 该功能通过DEFERRED_SEGMENT_CREATION参数启用,默认为TRUE。延迟段创建可以节省空间,加快初始化过程,是面向性能和资源的一个优化。这个新特性带来的一个问题是,在使用 exp / imp进行导出导入时,不会包含这些空表,可能导致遗漏对象。 如果觉得这个特性是困扰,可以通过修改参数关闭这个特性:alter system setdeferred_segment_creation=flase sscope=spfile; 8. _resource_manager_always_on - 资源管理器 在11g中,Oracle的资源管理器缺省被启用,并且时常发挥作用,并可能引发竞争。 你可能在TOP 5事件中看到类似的情景:


image001.png (18.34 KB, 下载次数: 3)
下载附件
恩墨学院-专注oracle大数据培训
2017-11-3 17:52 上传
有两个参数配合设置,可以在你不需要资源管理器时彻底关闭这个隐含的控制:SQL> altersystem set "_resource_manager_always_off"=true scope=spfile; SQL> altersystem set "_resource_manager_always_on"=false scope=spfile; 9. _gc_policy_time - RAC集群中的DRM管理 DRM是 DynamicResource Management 的简称,意思就是动态资源管理。在Oracle RAC中,所有的数据块(Data block)都有一个实例作为主实例进行管理,叫做Master,Master 负责照看好自己所管辖的data block的状态,包括锁定等,并对跨实例访问进行授权。如果能随着数据块的访问频繁动态的修改数据块的master节点,那么对应GC的grant message则会大量的减少。基于以上考虑,DRM特性应运而生。但是早期的DRM在进行 re-master的过程中长长带来短时的性能影响,在很多重要环境中,这是不能忍受的。 如果希望关闭DRM这个特性,可以结合设置 _gc_policy_time 和 _gc_undo_affinity :alter system set"_gc_policy_time" = 0 scope=spfile;alter system set"_gc_undo_affinity" = false scope=spfile; 10. _cleanup_rollback_entries 、_undo_autotune - UNDO的清理和调整 在UNDO的管理中,如何设置保留时间,清理回滚段条目,释放UNDO空间,在高事务率的数据库中非常重要。 _cleanup_rollback_entries - 指定回滚时每次回滚的ENTRIES个数,默认为100,可以设置更高提升回滚速度; _undo_autotune - 用于自动调整undo retention时间,设置 _undo_autotune=true,则undo_retention不再适用,Oracle会自行决定tuned_undo_retention; 以下设置在需要时对这些特性做出调整:alter system set "_undo_autotune"= false scope=spfile;alter system set"_cleanup_rollback_entries" = 1000 scope=spfile;


邮件文章尾部.png (36.38 KB, 下载次数: 9)
下载附件
恩墨学院-专注oracle大数据培训
2017-11-3 17:53 上传
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行