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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA语言程序设计(一)04747

    JAVA语言程序设计(一)04747windows常用快捷键和常见命令省略100万行二进制=>0、1一个字节是八位。每个0或者每个1都叫做是bit二进制的计算,除2除到余数为一,一算到最后一位,结果需要倒过来。上述直接操作字节是计算机中最小的存储单元,计算机储存的任何数据都是以字节的形式存储的。1KB=1024Byte1MB=1024KB命令提示符常用的命令D:可以直接切换到d盘根路径…

    2022年7月7日
    24
  • Thread之ParameterizedThreadStart

    Thread之ParameterizedThreadStartTreadStart委托仅仅指向无参数且无返回值的方法。如果新线程上运行带参数的方法,那么需要用到ParameterizedThreadStart委托,ParameterizedThreadStart定义:publicdelegatevoidParameterizedThreadStart(objectobj);一:要求只能有一个参数,且为object类型二:无返回值T…

    2022年7月15日
    18
  • 改写String类别

    改写String类别

    2022年1月5日
    40
  • C# LDAP认证登录

    http://blog.csdn.net/lnas_01/article/details/43987259publicclassLDAPHelper{stringldapUrl="LDAP://***.***.48.110:389/dc=***,dc=com";stringldapUserName="cn=root,dc=***,dc=com";…

    2022年4月9日
    56
  • full connection layer(inconnected)

    我的机器学习教程「美团」算法工程师带你入门机器学习已经开始更新了,欢迎大家订阅~任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~定义…

    2022年4月16日
    48
  • android usb调试工具,USB调试怎么打开 各版本安卓手机打开USB调试模式方法[通俗易懂]

    android usb调试工具,USB调试怎么打开 各版本安卓手机打开USB调试模式方法[通俗易懂]手机与电脑通常是通过Adb方式连接,所以需要您在设备上打开USB调试模式,不同版本的安卓系统,打开USB调试模式也有所不同,以下我们根据安卓系统版本而不同,介绍下各版本安卓手机打开USB调试模式的方法,小白朋友值得学习一下哦。USB调试怎么打开各版本安卓手机打开USB调试模式方法一、安卓2.1~2.3.7系统打开USB调试模式方法1、点击手机Menu键(菜单键),在弹出的菜单中选择设置(…

    2025年11月6日
    4

发表回复

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

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