我知道oracle 10g设置自动跑GATHER_STATS_JOB每天10pm和周末全天但是我们的JOB应该是被之前的DBA改过了,我看每天跑的时间是12AM只是我不知道它的schedule是怎样的,是不是每天,周末全天跑不跑我用select job_name, repeat_interval from dba_scheduler_jobs看到repeat_interval是空的不知道怎样查出我的schedule呢?

解决方案 »

  1.   

    SELECT * FROM dba_jobs_running
      

  2.   

    GATHER_STATS_JOB 不是已普通的job来调度的,它是用专门的schedule来做的,在特定的window时间内不同时间点进行执行的,它分为WEEKNIGHT_WINDOW,WEEKEND_WINDOW两个窗口,
    楼主可以查看不同窗口调度时间:select window_name,repeat_interval from dba_SCHEDULER_WINDOWS;
      

  3.   

    谢谢但是我不懂我的weeknight_window是10pm,但实际跑的时间是12am
    WINDOW_NAME                    REPEAT_INTERVAL
    ------------------------------ --------------------------------------------------
    WEEKNIGHT_WINDOW               freq=daily;byday=MON,TUE,WED,THU,FRI;byhour=22;bym
                                   inute=0; bysecond=0
     
    WEEKEND_WINDOW                 freq=daily;byday=SAT;byhour=0;byminute=0;bysecond=
                                   0JOB_NAME                  LAST_START_DATE                          LAST_RUN_DURATION
    ------------------------- ---------------------------------------- ----------------------------------------
    GATHER_STATS_JOB          10-NOV-10 12.00.50.565292 AM +08:00      +000000000 02:22:37.524592
      

  4.   

    还有,如果我disable这个job,用我自己的script跑:
    SET     VERIFY          OFF 
    SET     FEEDBACK        OFF 
    SET     SERVEROUTPUT    ON      SIZE    1000000 
     
    execute dbms_stats.gather_schema_stats(OWNNAME => 'schema_name', options => 'GATHER', estimate_percent => dbms_stats.auto_sample_size, method_opt => 'FOR ALL COLUMNS SIZE AUTO', CASCADE => TRUE); 就这个schema而言,效果是一样的吗?用户反映 application client那里performance有点问题,要不要用自己的gether stats script跑~~谢谢啦
      

  5.   

    没区别,oracle自己也是调用这个包进行统计的.