分析表- 自动搜集统计信息-索引使用情况

分区表推荐用:      EXEC dbms_stats.gather_table_stats(ownname => 'SCHEMA',                                                                      tabname => 'TABLE_NAME',                                                                      cascade => TRUE,                                                                      degree => number of cpu,                                                                      estimate_percent => 100);   一般的表(tom高效设计中的方法):      analyze table table_name compute statistics for table for all indexes for all indexed columns;

 

 

修改11g 自动收集统计信息的执行时间2012-11-12 21:01:04

 

分类: Oracle

 

 

oracle 11g自动收集统计信息的时间是22:00--2:00 这个时段往往是业务的高峰期,给本已紧张的系统带来更大的负担。所以,应该把自动执行的时间改到空闲的时段。

 

--获得当前自动收集统计信息的执行时间

select t1.window_name,t1.repeat_interval,t1.duration from dba_scheduler_windows t1,dba_scheduler_wingroup_members t2

where t1.window_name=t2.window_name and t2.window_group_name in ('MAINTENANCE_WINDOW_GROUP','BSLN_MAINTAIN_STATS_SCHED');

 

WINDOW_NAME    REPEAT_INTERVAL      DURATION

------------------------------ ------------------------------------------------------------ ---------------------------------------------------------------------------

MONDAY_WINDOW   freq=daily;byday=MON;byhour=22;byminute=0; bysecond=0  0 4:0:0.0

TUESDAY_WINDOW   freq=daily;byday=TUE;byhour=22;byminute=0; bysecond=0  0 4:0:0.0

WEDNESDAY_WINDOW  freq=daily;byday=WED;byhour=22;byminute=0; bysecond=0  0 4:0:0.0

THURSDAY_WINDOW  freq=daily;byday=THU;byhour=22;byminute=0; bysecond=0  0 4:0:0.0

FRIDAY_WINDOW  freq=daily;byday=FRI;byhour=22;byminute=0; bysecond=0  0 4:0:0.0

SATURDAY_WINDOW  freq=daily;byday=SAT;byhour=6;byminute=0; bysecond=0  0 20:0:0.0

SUNDAY_WINDOW  freq=daily;byday=SUN;byhour=6;byminute=0; bysecond=0  0 20:0:0.0

--WINDOW_NAME:任务名

--REPEAT_INTERVAL:任务重复间隔时间

--DURATION:持续时间

修改的步骤:

--1.停止任务

BEGIN

DBMS_SCHEDULER.DISABLE(

name=>'"SYS"."FRIDAY_WINDOW"',

force=>TRUE);

END;

 

--2.修改任务的持续时间,单位是分钟

BEGIN

DBMS_SCHEDULER.SET_ATTRIBUTE(

name=>'"SYS"."FRIDAY_WINDOW"',

attribute=>'DURATION',

value=>numtodsinterval(180, 'minute'));

END;

 

 

 

--3.开始执行时间,BYHOUR=2,表示2点开始执行

BEGIN

DBMS_SCHEDULER.SET_ATTRIBUTE(

name=>'"SYS"."FRIDAY_WINDOW"',

attribute=>'REPEAT_INTERVAL',

value=>'FREQ=WEEKLY;BYDAY=MON;BYHOUR=2;BYMINUTE=0;BYSECOND=0');

END;

 

 

 

--4.开启任务

BEGIN

DBMS_SCHEDULER.ENABLE(

name=>'"SYS"."FRIDAY_WINDOW"');

END;   1、查看自动收集统计信息的任务及状态 SQL> select client_name,status from dba_autotask_client;  

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

 

 

 

要看索引的使用情况,从9I之后可以用alter index indexname monitoring usage来实现:  监控使用情况:  select 'alter index 'index_name' monitoring usage' from user_indexes;  停止监控:  select 'alter index 'index_name' nomonitoring usage' from user_indexes;  未使用得到的索引:  select index_name,table_name from v$object_usage where used='NO';

 select 'alter index '||index_name||' monitoring usage'||';'  from user_indexes;  select 'alter index '||index_name||' nomonitoring usage'||';' from user_indexes;  select * from v$sql_plan  select * from v$object_usage   where used<>'NO'

转载于:https://www.cnblogs.com/nb2sfc/p/3459790.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值