12.2优化器和12.1优化器变化之处

在oracle 12.2的优化器,相比12.1已经有一些细微的变化,当我们将数据库从12.1升级到12.2,或者从12.1之前的版本,升级到12.2.需要在优化器的一些参数上引起注意,因为这些参数已经发生了变化。

在12.1中,有个统领全局的,是否启用自适应优化器参数,optimizer_adaptive_features。这个参数统领两大特性:自适应计划(adaptive plans)和自适应统计信息(adaptive statistics)。

但optimizer_adaptive_features这个参数在12.2已经过期。自适应优化器的两大部分,自适应计划(adaptive plans)和自适应统计信息(adaptive statistics)将有2个独自的参数进行控制:

optimizer_adaptive_plans 默认值为TRUE
optimizer_adaptive_statistics 默认值为FALSE

而自适应统计信息,默认被设置成了false,估计是很多人在12.1的时候,遭遇到了由于SQL执行计划指导(SQL Plan Directives,SPD)产生了过量动态采样的问题。

可以见我之前的这篇文章《SQL Plan Directives与过量的动态采样》,在这篇文章中,我是建议在12.1中,禁用SPD产生新的directive,以及禁止SPD动态采样的。在12.2中,自适应统计信息(adaptive statistics)默认被关闭,也就是说,自适应统计信息所包含的3个功能:动态采样(Dynamic Statistics)、自动重优化(automatic reoptimization)、SPD都被默认关闭了。

另外,在mos中有篇文档Recommendations for Adaptive Features in Oracle Database 12c (Doc ID 2187449.1),在这个文档中提到,建议为12.1打上patch 22652097和patch 21171382,这2个patch的作用如下:

We recommend that upgrades to 12.1 adopt the 12.2 defaults. This may be done by applying the following patches for your version and platform:

Patch 22652097 splits the parameter optimizer_adaptive_features into two, as above, and disables adaptive statistics.
Patch 21171382 disables the automatic creation of extended statistics unless the optimizer preference AUTO_STAT_EXTENSIONS is set to ON.

If you are already on 12.1, but are encountering performance problems, you may want to consider applying the above patches.

那么,我们的升级场景可以分为如下:
1. 从11.2或者更早的版本升级到12.2
==> 什么都不用动

2. 从12.1升级到12.2
2.1 如果已经打上patch 22652097和patch 21171382
==> 不需要做修改,
==> 升级到12.2后检查optimizer_adaptive_plans是否为true;optimizer_adaptive_statistics是否为false;AUTO_STAT_EXTENSIONS是否为off。

2.2 如果没有打过patch 22652097和patch 21171382
==> 你需要取消在初始化参数中的optimizer_adaptive_features,因为这个参数已在12.2过期;
==> 取消之前可能设置过的关于_optimizer_dsdir_usage_control和_sql_plan_directive_mgmt_control的设置;
==> 检查optimizer_adaptive_plans是否为true;optimizer_adaptive_statistics是否为false;AUTO_STAT_EXTENSIONS是否为off

参考:
Recommendations for Adaptive Features in Oracle Database 12c (Doc ID 2187449.1)
SQL Plan Directives与过量的动态采样
Optimizer Adaptive Features in Oracle Database 12c Release 2

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据