盘点 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 set deferred_segment_creation=flase sscope=spfile;

8. _resource_manager_always_on - 资源管理器

在11g中,Oracle的资源管理器缺省被启用,并且时常发挥作用,并可能引发竞争。

你可能在TOP 5事件中看到类似的情景:

有两个参数配合设置,可以在你不需要资源管理器时彻底关闭这个隐含的控制:

SQL> alter system set "_resource_manager_always_off"=true scope=spfile; SQL> alter system set "_resource_manager_always_on"=false scope=spfile;

9. _gc_policy_time - RAC集群中的DRM管理

DRM是 Dynamic Resource 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;

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-08-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Coding01

推荐一个 PHP 网络请求插件 Guzzle

在写后台代码时,避免不了需要与其他第三方接口交互,如向服务号下发模板消息,有时可能需要下发超过 10 万条。这时不得不考虑使用异步和「多线程」的网络请求。

2235
来自专栏数据和云

数据库高可用和分区解决方案-MongoDB 篇

许春植(Luocs) (阿里巴巴高级数据库管理员,7年以上数据库运维管理经验,擅长MySQL、Oracle及MongoDB数据库,目前主要研究并建设Mongo...

5556
来自专栏数据和云

【推荐】 RAC 性能优化全攻略与经典案例剖析

ORACLE RAC凭借其卓越的容错能力和可扩展性以及对应用透明的切换能力引领了数据库高可用架构的潮流,但在实际的生产环境中,出现的性能问题非常多,对数据库的稳...

2917
来自专栏工科狗和生物喵

Dell-Windows10下装Ubuntu 16.04 双系统,Ubuntu引导开启-经验贴,满干货!

正文之前 历时一天半。各种折腾,各种修复引导。网络上大概翻了,二三十个教程。然后在windows下尝试修复引导。在ubuntu下试图修复引导。最后发现是自己模式...

1.8K7
来自专栏PHP在线

PHP:40+开发工具推荐

PHP是为Web开发设计的服务器脚本语言,但也是一种通用的编程语言。超过2.4亿个索引域使用PHP,包括很多重要的网站,例如 Facebook、Digg和Wor...

3457
来自专栏菜鸟程序员

视频会议系统Polycom HDX远程命令执行漏洞分析

1602
来自专栏IT大咖说

送给前端的你:可视化快速生成模拟数据服务——Easy Mock

? 内容来源:2017年11月18日,大搜车前端工程师高攀在“2017中国开源年会”进行《Easy Mock 接口数据模拟服务》演讲分享。IT 大咖说(微信i...

3946
来自专栏腾讯云数据库(TencentDB)

CynosDB for PostgreSQL 架构浅析

作者介绍:林锦,腾讯云数据库团队高级工程师,曾任云计算初创公司系统架构师,从事分布式系统研发7年,2017年加入腾讯云,从事NewSQL研发工作,目前主要负责C...

2.2K21
来自专栏风火数据

高级Java研发师在解决大数据问题上的一些技巧

众所周知, Java 在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,...

782
来自专栏顶级程序员

11个让你吃惊的Linux终端命令

我已经用了十年的Linux了,通过今天这篇文章我将向大家展示一系列的命令、工具和技巧,我希望一开始就有人告诉我这些,而不是曾在我成长道路上绊住我。 ? 1.命...

4827

扫码关注云+社区