Oracle 11g系统自己主动收集统计信息的一些知识「建议收藏」

Oracle 11g系统自己主动收集统计信息的一些知识

大家好,又见面了,我是全栈君。

    在11g之前,当表的数据量改动超过总数据量的10%,就会晚上自己主动收集统计信息。怎样推断10%。之前的帖子有研究过:oracle自己主动统计信息的收集原理及实验。这个STALE_PERCENT=10%,是无法改动的,假设表很大。10%是许多的数据,很有可能造成统计信息不准确。

    在11g之后,STALE_PERCENT=10%是能够改动的,分为全局(DBMS_STATS.SET_GLOBAL_PREFS )和表级别(DBMS_STATS.SET_TABLE_PREFS)。表级别的设定:

    改动为5%(范围从1-100): exec dbms_stats.set_table_prefs(null,’table_name’,’STALE_PERCENT’,5);
    恢复为10%: exec dbms_stats.set_table_prefs(null,’table_name‘,’STALE_PERCENT’,null);
    查询百分比:select dbms_stats.get_prefs(‘STALE_PERCENT’,null,’table_name’) from dual;


—11g的是 周一到周五 22:00-2:00 周六周日 6:00-4:00

SELECT w.window_name, w.repeat_interval, w.duration, w.enabled
FROM dba_autotask_window_clients c, dba_scheduler_windows w
WHERE c.window_name = w.window_name
AND c.optimizer_stats = ‘ENABLED’;
WINDOW_NAME          REPEAT_INTERVAL                                              DURATION
——————– ———————————————————— —————
SUNDAY_WINDOW        freq=daily;byday=SUN;byhour=6;byminute=0; bysecond=0         +000 20:00:00
FRIDAY_WINDOW        freq=daily;byday=FRI;byhour=22;byminute=0; bysecond=0        +000 04:00:00
WEDNESDAY_WINDOW     freq=daily;byday=WED;byhour=22;byminute=0; bysecond=0        +000 04:00:00
SATURDAY_WINDOW      freq=daily;byday=SAT;byhour=6;byminute=0; bysecond=0         +000 20:00:00
THURSDAY_WINDOW      freq=daily;byday=THU;byhour=22;byminute=0; bysecond=0        +000 04:00:00
TUESDAY_WINDOW       freq=daily;byday=TUE;byhour=22;byminute=0; bysecond=0        +000 04:00:00
MONDAY_WINDOW        freq=daily;byday=MON;byhour=22;byminute=0; bysecond=0        +000 04:00:00

–禁用自己主动收集
exec DBMS_AUTO_TASK_ADMIN.DISABLE(client_name => ‘auto optimizer stats collection’,operation => NULL,window_name => NULL);
–启用自己主动收集
exec DBMS_AUTO_TASK_ADMIN.ENABLE(client_name => ‘auto optimizer stats collection’,operation => NULL,window_name => NULL);
–查看job

select client_name,status from dba_autotask_client;

CLIENT_NAME                                                      STATUS
—————————————————————- ——–
auto optimizer stats collection                                  ENABLED
auto space advisor                                               ENABLED
sql tuning advisor                                               ENABLED

–收集当前数据库下全部用户的统计信息
exec dbms_stats.gather_database_stats(user);
–收集当前数据库用户下全部对象的统计信息
exec dbms_stats.gather_schema_stats(user);
–收集数据字典的统计信息
exec dbms_stats.gather_dictionary_stats();

–当系统有非常大的分区表时,假设总是所有收集则会比較慢。11g之后能够设置INCREMENTAL仅仅对数据有变动的分区做收集

exec dbms_stats.set_table_prefs(user,’table_name’,’INCREMENTAL’,’TRUE’);–仅仅收集数据变动的分区

exec dbms_stats.set_table_prefs(user,’table_name’,’INCREMENTAL’,’FALSE‘);–都要收集

select dbms_stats.get_prefs(‘INCREMENTAL’,null,’table_name‘) from dual;–查看分区表INCREMENTAL的值

–获取global的统计信息收集设置选项
select dbms_stats.get_prefs(‘method_opt’) from dual;
select dbms_stats.get_prefs(‘concurrent’) from dual; 
select dbms_stats.get_prefs(‘GRANULARITY’) from dual;

select dbms_stats.get_prefs(‘INCREMENTAL’) from dual;
–设置global的统计信息收集选项

exec DBMS_STATS.SET_PARAM(‘DEGREE’,4);

exec DBMS_STATS.SET_PARAM(‘INCREMENTAL’,’TRUE’);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115476.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月3日 下午10:00
下一篇 2022年2月3日 下午10:00


相关推荐

  • csleep函数_sleep函数如何停止

    csleep函数_sleep函数如何停止C++Sleep函数。Sleep函数的S是大写!!!!今天,我们来讲一下C++中的Sleep函数,它的作用是让程序暂停一会。

    2025年6月20日
    5
  • Ubuntu16.04系统查看已安装的python版本,及Python2与Python3之间切换

    Ubuntu16.04系统查看已安装的python版本,及Python2与Python3之间切换1.查看已安装版本终端输入如下:python2–version#查看python2安装版本python3–version#查看python3安装版本终端显示如下:系统默认安装2.7.12与3.5.22.使用python3Python3和Python2是互相不兼容,但也不能卸载python2,可以将Python的指向Python3,这样…

    2022年5月28日
    58
  • python pycharm教程_Pycharm简单使用教程(入门小结)

    python pycharm教程_Pycharm简单使用教程(入门小结)1、下载pycharmpycharm是一种PythonIDE,能够帮助我们在编写代码时提高效率。网上提供的有专业版和教育版之分。专业版是收费的,功能更全面点。教育版或社区版是阉割版本,但它是免费的。2、pycharm的安装比较简单,官网下载备注:刚下载好的pycharm无法运行程序“Cannotstartprocess,theworkingdirectory…”,两种解决方法1.选择…

    2022年8月29日
    5
  • VMWare14 安装Mac OS系统(操作图解)

    VMWare14 安装Mac OS系统(操作图解)近日恰逢双十一,瞅了瞅自己干瘪的钱包,没忍心入手期待已久的macPro,只好在虚拟机里玩一下mac好了,等以后钱包傲气的时候再来个真实的。安装环境:windows10VMWare14.2VMwareWorkstationPro14已安装或自行安装Unlocker(链接:https://pan.baid…

    2022年6月2日
    39
  • dstat用法[通俗易懂]

    dstat用法[通俗易懂]监控CPU\MEN:dstat–top-mem–top-io–top-cpu常用常规监控:dstat-cmsdnl-Dsda1-Nlo,ens331005dstat性能监测工具dstat是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能…

    2022年6月29日
    44
  • ubuntu16安装中文输入法「建议收藏」

    ubuntu16安装中文输入法「建议收藏」参考自:https://jingyan.baidu.com/article/bad08e1ef4b2f109c85121b7.html原材料:ubuntu16步骤:1.在桌面的最左边选择设置(SystemSettings)2.在设置中选择LanguageSupport3.在弹出的窗口选择Install/RemoveLanguages…4.选择Ch…

    2026年4月13日
    4

发表回复

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

关注全栈程序员社区公众号