Oracle 10g 之自动收集统计信息】的更多相关文章

从10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息.这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启. 1.查看自动收集统计信息的任务及状态: SQL> select job_name,schedule_name,enabled,last_start_date,last_run_duration,next_run_date from dba_scheduler_jobs a where job_nam…
在Oracle的11g版本中提供了统计数据自动收集的功能.在部署安装11g Oracle软件过程中,其中有一个步骤便是提示是否启动这个功能(默认是启用这个功能). 1.查看自动收集统计信息的任务及状态: SQL> select client_name,status from dba_autotask_client; CLIENT_NAME STATUS ---------------------------------------------------------------- -------…
1.需求概述 2.实施步骤 3.回退方案 1.需求概述 某数据库由于整体统计信息不准确,多次出现部分业务SQL选错执行计划,从而导致性能下降影响到最终用户体验,目前通过SQL_PROFILE绑定执行计划临时解决,但此方法不够灵活,后续维护工作量也会增加. Oracle优化器(CBO)依赖数据库统计信息来计算目标SQL各种可能的执行路径的成本,并从中选择一条成本值最小的执行路径来作为目标SQL的执行计划.如果统计信息不准确甚至是错误,会导致优化器选择错误SQL执行计划的概率大大增加. 目前计划对该…
主题:关于Oracle开启自动收集统计信息的SPA测试 环境:Oracle RAC 11.2.0.4(Primary + Standby) 需求:生产Primary库由于历史原因关闭了自动统计信息的收集,目前客户需求是想要重新开启统计信息的自动收集,虽然一般来说,有了更准确的统计信息,SQL会有更好的执行计划,但由于生产环境数据复杂,实际上还是需要评估哪些SQL会因为重新开启自动统计信息收集性能反而会下降. 方案:本着尽可能减少对生产Primary环境影响的原则,在Standby DG环境临时开…
一.Oracle 11g 在Oracle的11g版本中提供了统计数据自动收集的功能.在部署安装11g Oracle软件过程中,其中有一个步骤便是提示是否启动这个功能(默认是启用这个功能). 在这里介绍一下怎么将该功能启用与禁用: 1.查看自动收集统计信息的任务及状态: SQL> select client_name,status from dba_autotask_client; CLIENT_NAME STATUS ---------------------------------------…
oracle自动收集统计信息,周一至周五  时间:22:00:00 oracle自动收集统计信息,周六.周日  时间:06:00:00…
1.根据Alert报错信息,查询Trace日志 /oracle/app/oracle/admin/fgsquery/bdump/fgsquery_j001_11111.trc Oracle Database 10g Enterprise Edition Release - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options ORACLE_HOME = /ora…
在11G中,引入了一个名为 gather_stats_prog 的自动运行任务专用于自动收集统计信息.其对应的客户端名称为"auto optimizer stats collection": SQL> select client_name,task_name,operation_name,status from dba_autotask_task; CLIENT_NAME TASK_NAME OPERATION_NAME STATUS ----------------------…
(一)统计信息收集概述 在Oracle 11g中,默认有3个自动任务,分别是:自动统计信息收集.SQL调优顾问.段空间调整顾问,查看方法如下: SQL> SELECT CLIENT_NAME,TASK_NAME,OPERATION_NAME,STATUS FROM dba_autotask_task; CLIENT_NAME TASK_NAME OPERATION_NAME STATUS -------------------------------- ---------------------…
Oracle 11gR2 待定的统计信息(Pending Statistic) 官档最权威: 发布优化器统计信息的用户界面 管理已发布和待处理的统计信息 实验先拖着.…
--关闭自动统计信息 https://blog.csdn.net/royzhang7/article/details/51172556 明天再仔细看一下. select client_name,status from dba_autotask_client; auto optimizer stats collection ENABLEsql tuning advisor DISABLEDauto space advisor DISABLED SQL> exec DBMS_AUTO_TASK_AD…
按用户进行统计信息更新 PL/sqldev工具使用system用户连接到oracle,打开命令窗口执行以下SQL,用户名请根据实际情况进行更改: begin dbms_stats.gather_schema_stats( ownname          => 'testuser', estimate_percent => dbms_stats.auto_sample_size, method_opt       => 'for all columns size auto', degre…
一.报错日志 db_alert ORA-: ??????, ??: [ksliwat: bad wait time], [], [], [], [], [], [], [], [], [], [], [] Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Dumping diagnostic dat…
direct path read深入解析 前言 最近碰到一件很奇葩的事情,因为某条SQL执行缓慢,原因是走了笛卡尔(两组大数据结果集),而且笛卡尔还是NL的一个部分,要循环31M次. 很容易发现是统计信息没有导致的,收集完就好了. 结果过了个51假期回来有人反馈其他的SQL慢了,看了下慢的SQL涉及到的表就刚好是上次收集统计信息的表. 统计问题SQL的历史执行情况,发现时间刚好在那天收集完后开始变慢.咋回事. 后边发现慢的原因是对收集的那两张表做全表扫描时候用了直接路径读(DPR).暂定为表A和…
[日期:2011-08-05]来源:Linux社区  作者:wangshengfeng1986211[字体:大 中 小] 2010-07-01 15:03 1.SET AUTOTRACE ON EXPLAIN(set autot on exp)SQLPLUS的命令,在执行SQL语句的同时显示执行计划,设置EXP(LAIN)的目的是只显示执行计划而不显示统计信息..2.SQL>explain plan for select ````````;SQL>select * from table(dbm…
1 oracle里的统计信息 Oracle的统计信息是这样的一组数据,存储在数据字典,从多个维度描述了oracle数据库对象的详细信息,有6种类型 表的统计信息:记录数.表块的数量.平均行长度等 索引的统计信息:索引的层级.叶子块的数量.聚簇因子等 列的统计信息:列的distinct.为null的数量.列的最小值.最大值及直方图信息 系统的统计信息:所在的数据库服务器的系统处理能力.包含cpu跟I/O 数据字典统计信息:数据库字典基表.表上的索引 内部对象统计信息:内部表X$系列表的详细信息 存…
一.需求说明 Oracle数据库中存在定时JOB,自动执行收集统计信息的程序.但是对于7*24小时系统来说,Oracle配置的定时收集时间不太合理,需要人为调整.本篇博客就是基于这种需求,调整JOB采样的时间及终止时间. 思路:查询现有的默认收集统计信息的策略,对它进行调整,调整后进行检查修改有效,操作完毕. 二.操作步骤 2.1 修改前,查询JOB信息 查询数据库自动收集统计信息是否被禁用 SQL> select client_name,status from dba_autotask_cli…
查询统计信息的收集所对应的task,以及当前状态 col CLIENT_NAME for a50col TASK_NAME for a20SELECT client_name, task_name, status FROM dba_autotask_task WHERE client_name = 'auto optimizer stats collection'; auto optimizer stats collection gather_stats_prog ENABLED; CLIENT…
优化器统计范围: 表统计: --行数,块数,行平均长度:all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN:列统计: --列中唯一值的数量(NDV),NULL值的数量,数据分布:             --DBA_TAB_COLUMNS:NUM_DISTINCT,NUM_NULLS,HISTOGRAM:索引统计:--叶块数量,等级,聚簇因子:             --DBA_INDEXES:LEAF_BLOCKS,CLUSTERING_FACTOR,BLEVEL:…
1.     理解什么是统计信息 优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·         表的统计信息 o   行数 o   Block数 o   行平均长度 ·         列的统计信息 o   列中不同值的数量 o   列中null的数量 o   数据分布(柱状图/直方图) ·         索引的统计信息 o   叶子块的数量 o   索引的高度 o   聚簇因子(cl…
oraclestatisticstabledatabasesqldictionary   目录(?)[-] 直方图上列的信息说明 直方图类型说明   一.  Statistic 说明 Oracle 官网对Statistic 有详细说明,参考: Managing Optimizer Statistics http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/stats.htm#sthref1068 Statistic 对Ora…
1.     理解什么是统计信息优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·         表的统计信息o   行数o   Block数 o   行平均长度·         列的统计信息o   列中不同值的数量o   列中null的数量 o   数据分布(柱状图/直方图) ·         索引的统计信息o   叶子块的数量o   索引的高度o   聚簇因子(clustering…
一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如,表的行数,块数,平均每行的大小,索引的leaf blocks,索引字段的行数,不同值的大小等,都属于统计信息.CBO正是根据这些统计信息数据,计算出不同访问路径下,不同join 方式下,各种计划的成本,最后选择出成本最小的计划.统计信息是存放在数据字典表中的,如tab$,一般可通过察看某些视图来获取统计信息状况,如DBA_TABLES,DBA_INDEXES,DBA_TAB_COL_STATIST…
Oracle的自动统计信息不收集直方图的信息 在oracle9i中,默认的统计信息收集是不收集直方图信息的,也就是说默认的MOTHOD_OPT模式为FOR ALL COLUMNS SIZE 1 在10g开始,dbms_stats包中默认的METHOD_OPT做了调整,默认的METHOD_OPT值为FOR ALL COLUMNS SIZE AUTO SQL> select * from v$version; BANNER ---------------------- Oracle Database…
在10G之前,使用DBMS_STATS收集统计信息将会导致与此对象相关的游标失效,下次执行此 的时候将会进行HARD PARSE,除非收集的时候NO_INVALIDATE设置为TRUE. 由于硬解析会消耗大量的CPU,还会导致大量的library cache 和 shared pool 的LATCH竞争,因此 如果由于统计信息收集导致大量的的游标失效,可能会带来HARD PARSE风暴,造成系统的负担.   但是如果采用NO_INVALIDATE=TRUE的方法,由于游标不失效,游标无法利用到新…
1.收集统计信息的方式 for all columns size skewonly BEGIN  DBMS_STATS.GATHER_TABLE_STATS(ownname          => 'SCOTT',                                tabname          => 'TEST',                                estimate_percent => 100,                        …
https://www.cnblogs.com/sunmengbbm/p/5775211.html 一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如,表的行数,块数,平均每行的大小,索引的leaf blocks,索引字段的行数,不同值的大小等,都属于统计信息.CBO正是根据这些统计信息数据,计算出不同访问路径下,不同join 方式下,各种计划的成本,最后选择出成本最小的计划.统计信息是存放在数据字典表中的,如tab$,一般可通过察看某些视图来获取…
一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如,表的行数,块数,平均每行的大小,索引的leaf blocks,索引字段的行数,不同值的大小等,都属于统计信息.CBO正是根据这些统计信息数据,计算出不同访问路径下,不同join 方式下,各种计划的成本,最后选择出成本最小的计划.统计信息是存放在数据字典表中的,如tab$,一般可通过察看某些视图来获取统计信息状况,如DBA_TABLES,DBA_INDEXES,DBA_TAB_COL_STATIST…
第5章“Oracle里的统计信息” 详细介绍了Oracle数据库里与统计信息相关的各个方面的内容,包括 Oracle数据库中各种统计信息的分类.含义.收集和查看方法,以及如何在Oracle数据库里正确地收集统计信息. 列的统计信息用于描述Oracle数据库里列的详细信息,它包含了一些典型的维度,如列的distinct值的数量.列的null值的数量.列的最小值.列的最大值以及直方图等. 5.2 0racle里收集与查看统计信息的方法 5.2.1  收集统计信息 对系统内部表使用DBMS_STATS…
一.什么是统计信息 oracle数据库里的统计信息是如下的一组数据:他们存储在数据字典里,且从多个维度描述了oracle数据库数据对象的详细信息. oracle数据库里的统计信息主要分为以下6种情况: (1)表的统计信息. (2)列的统计信息. (3)索引的统计信息. (4)系统统计信息. (5)数据字典统计信息. (6)内部对象统计信息. 二.oracle收集和查看统计信息的方法 oracle数据库收集统计信息一般有以下2种方法: (1)analyze命令. (2)dbms_stats包. 针…