Oracle经验分享:GATHER_STATS_JOB 任务

WBOY
풀어 주다: 2016-06-07 16:56:08
원래의
1432명이 탐색했습니다.

应该有开发测试相关的兄弟常常发现,某些半夜跑的报表系统,在系统开始时候好好的,但是数据量越来越大的情况下,报表系统会

  应该有开发测试相关的兄弟常常发现,某些半夜跑的报表系统,在系统开始时候好好的,但是数据量越来越大的情况下,报表系统会越来越慢。

  一般我们可以理解为sql需要优化,存储需要优化等等。

  这里,如果我们使用的是Oracle 10G以上版本,就要小心了,有可能是Oracle自己搞的鬼。

  Oracle10g增加了一个新的任务,用来自动分析数据库,已增加CBO执行的正确性。这个任务就是GATHER_STATS_JOB,,任务定义周一到周五的半夜执行,和周六日全天执行。

  出发点很好,但是,大部分业务晚上常常也要跑大的查询,或者执行计划改变,会引起新的性能问题。这个都是可以预见的。

  下面备忘。

  查看任务详情:

  SELECT owner,job_name,state,last_start_date,last_run_duration,failure_count

  FROM dba_scheduler_jobs WHERE job_name = 'GATHER_STATS_JOB';

  select  PROGRAM_ACTION from dba_scheduler_programs where PROGRAM_NAME = 'GATHER_STATS_PROG';

  任务执行历史:

  SELECT log_id, job_name, status,

  TO_CHAR (log_date, 'DD-MON-YYYY HH24:MI') log_date

  FROM dba_scheduler_job_run_details

  WHERE job_name = 'GATHER_STATS_JOB';

  禁用任务:

  在sysdba下执行:

  exec DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB');

linux

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿