飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • AngularJS教程
  • UEditor使用文档
  • ThinkPHP5.0教程

优化器统计跟踪(SYS.EXP_HEAD$ SYS.EXP_OBJ$ SYS.EXP_STAT$不)导致表空间 SYSAUX不断增长

时间:2021-12-16  作者:hmwh  

资料来自support文档 ID 2354960.1

环境:

aws rds 19c(亚马逊云oracle 数据库)

背景:

在一次查看数据库表段的占用空间大小的时候,无意间发现其中EXP_开头的表占用很大的空间,如下:

 处理:

  • 优化器表达式跟踪在具有以下对象的 SYSAUX 中分配了过多空间:
  • Awrinfo 报告按以下对象显示大段使用情况   

域名HEAD$
域名OBJ$
域名STAT$

统计监控在 12.2 中默认启用。12.2 中的新优化器功能引入了监视表达式统计信息,以收集 SQL 查询中的表达式使用统计信息。

监控功能由隐含参数“_column_tracking_level”控制。

当监控表达式统计处于活动状态时,默认情况下启用。

然而,扯淡的是云上oracle参数组根本关闭不了这个参数(没有这个参数)

注意:in-memory 关闭对 SQL 的执行计划没有影响。详情查看网页 https://域名/optimizer/expression-tracking

--禁用参数:_column_tracking_level

alter system set "_column_tracking_level"=17 scope=both;
--wait 10 minutes

--purge 表里面的数据

exec 域名H_DATABASE_MONITORING_INFO();
truncate table 域名head$ drop storage;
truncate table 域名obj$ drop storage;
truncate table 域名stat$ drop storage;
alter index 域名P_HEAD$ rebuild tablespace sysaux online;
alter index 域名P_STAT$ rebuild tablespace sysaux online;
alter index 域名P_OBJ$ rebuild tablespace sysaux online;

--如果需要重启监控

alter system set "_column_tracking_level"=21 scope=both; 

注意:在执行这些步骤时,可能会遇到错误 ORA-00600: [qosdExpObjChange: rc!=1],这是内部错误 28681153 的结果:内部 PDCDB : ORA-00600:: [QOSDEXPSTATREAD: EXPCNT MISMATCH]。在这种情况下,可能需要重新启动数据库。

标签:Oracle编程
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。