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’);

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量

    秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量前面《秒杀多线程第四篇一个经典的多线程同步问题》提出了一个经典的多线程同步互斥问题,这个问题包括了主线程与子线程的同步,子线程间的互斥,是一道非常经典的多线程同步互斥问题范例,后面分别用了四篇《秒杀多线程第五篇经典线程同步关键段CS》《秒杀多线程第六篇经典线程同步事件Event》《秒杀多线程第七篇经典线程同步互斥量Mutex》《秒杀多线程第八篇经典线程同步信号量Semaphore》来详细介绍常用的

  • Linux下的tar压缩解压缩命令使用

    Linux下的tar压缩解压缩命令使用tar参数:-c:建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的,通过gzip过滤归档-j:有bz2属性的,通过bzip2过滤归档-v:显示所有过程-Z:有compress属…

  • MySQL数据库备份与还原

    MySQL数据库备份与还原#第一种通过命令:mysqldump-uroot-p密码需要备份的数据库名>备份后的sql脚本名;cmd–>mysqldump-uroot-proot16jike2_account>D:\16jike2_account_back.sql注意:备份名称与原数据库名称一致!通常:备份数据库名_back.sql还原备份的文件数…

  • matlab毕业设计题目_matlab毕业设计论文带有程序

    matlab毕业设计题目_matlab毕业设计论文带有程序毕业设计(论文)`题目:院系机械工程系专业班级学生姓名指导教师二○一年六月Matlab的转子故障振动信号分析摘要随着机械行业的日益发展,转子等旋转机械的故障日渐趋多,转子的故障诊断技术受到越来越多的重视,并在世界范围内取得了长足的进步。作为大型机器中不可或缺的部件,有着举足轻重的作用,但,,,,。对发电机及其转子进行状态监测和信号分析,,转子故障类型主要有四种:转子不平衡、、转子…

    2022年10月15日
  • oracle物化视图可以创建索引,oracle 物化视图及创建索引

    oracle物化视图可以创建索引,oracle 物化视图及创建索引物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。1、物化视图的类型:ONDEMAND、ONCOMMIT二者的区别在于刷新方法的不同,ONDEMAND顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(RE…

  • 目前什么挖矿软件比较好用?[通俗易懂]

    目前什么挖矿软件比较好用?[通俗易懂]比特币最近又开始了牛气哄哄的上涨势头,对于想要挖矿赚钱的人来说是一个大好时机目前挖矿对于普通人来说还是存在一定门槛的,别的不说,关于钱包地址的设置,挖矿软件的调试等等,网上搜索出来的挖矿软件教程分分钟都能让你放弃,因此,找到一个好的挖矿软件工具,能让你事半功倍,心旷神怡。那么问题来了,简单好用的挖矿软件有哪些呢?我尝试过10多个挖矿软件,长沙矿工这些老挖矿软件就不说了适合矿场老板,不过…

    2022年10月15日

发表回复

您的电子邮箱地址不会被公开。

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