如何检查自动统计信息的收集_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3878 | 回复: 0   主题: 如何检查自动统计信息的收集        下一篇 
匿名用户
发表于: IP:您无权察看 2011-12-27 15:56:18 | [全部帖] [楼主帖] 楼主

如何检查自动统计信息的收集

文章是草拟的可能有错误,如果对文章有任何的问题请使用metalink上的反馈按钮。

本文目的是说明提供有关如何检查自动统计信息收集

范围应用。基于成本的优化器数据库对象的统计信息对用户的收集。

如何检查自动统计信息

随着oracle10g 统计数据收集已自动化,这是建立在数据库创建过程的时间表自动统计数据收集GATHER_STATS_JOB。这个工作计划是适当收集数据库的问题。查询DBA_SCHEDULER_JOBS视图可以 看到详情信息:

select job_name, job_type, program_name, schedule_name, job_class
from dba_scheduler_jobs
where job_name = 'GATHER_STATS_JOB';
JOB_NAME JOB_TYPE PROGRAM_NAME SCHEDULE_NAME JOB_CLASS
------------------------------ ---------------- ------------------- ------------------------- ------------------------------
GATHER_STATS_JOB GATHER_STATS_PROG MAINTENANCE_WINDOW_GROUP AUTO_TASKS_JOB_CLASS


        输出结果表明,,“GATHER_STATS_JOB”这个生成

“GATHER_STATS_PROG,”时间表在“GATHER_STATS_PROG'开头的DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC中、

存储过程:

select PROGRAM_ACTION
from dba_scheduler_programs
where PROGRAM_NAME = 'GATHER_STATS_PROG';
PROGRAM_ACTION
----------------------------------------------
dbms_stats.gather_database_stats_job_proc
The job is scheduled according to the value of the SCHEDULE_NAME field.
In this example, the schedule being used is: 'MAINTENANCE_WINDOW_GROUP'.
This schedule is defined in the DBA_SCHEDULER_WINGROUP_MEMBERS view:
select *
from DBA_SCHEDULER_WINGROUP_MEMBERS
where WINDOW_GROUP_NAME = 'MAINTENANCE_WINDOW_GROUP';
WINDOW_GROUP_NAME WINDOW_NAME
------------------------- ------------------------------
MAINTENANCE_WINDOW_GROUP WEEKNIGHT_WINDOW
MAINTENANCE_WINDOW_GROUP WEEKEND_WINDOW


可发现这些windows的含义可以在'DBA_SCHEDULER_WINDOWS'中找到:

select window_name, repeat_interval, duration
from dba_scheduler_windows
where window_name in ('WEEKNIGHT_WINDOW', 'WEEKEND_WINDOW')
WINDOW_NAME REPEAT_INTERVAL DURATION
----------------- ---------------------------------------------------------------------- -------------
WEEKNIGHT_WINDOW freq=daily;byday=MON,TUE,WED,THU,FRI;byhour=22;byminute=0; bysecond=0 +000 08:00:00
WEEKEND_WINDOW freq=daily;byday=SAT;byhour=0;byminute=0;bysecond=0 +002 00:00:00


以上含义如下:

WEEKNIGHT_WINDOW是预定每周日晚上10点,去年最高为8小时,weekend_
window是在每个周六上午12时和最近2天最大如果start_date和end_date列为空,那么这项工作将持续运行。所有的这些定义可以再ORACLE_HOME / RDBMS / ADMIN / catmwin.sql中找到。



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论