Oacle9i Job 은 자동 으로 실행 할 수 없습니다.
3091 단어 Oacle
create or replace procedure clear_aud
as
begin
delete sys.aud$ where timestamp# <trunc(sysdate,'HH')- 1/24;
commit;
exception when others then
rollback;
end;
/
Variable job number ;
begin
dbms_job.submit(:job, 'clear_aud;' ,trunc( sysdate + 1 / 24 , 'hh24' ), 'trunc(sysdate+1/24,''hh24'')' );
commit ;
end ;
/
실시 과정 에서 데이터베이스 가 있 는 system 표 의 공간 이 빠르게 증가 하 는 것 을 발 견 했 습 니 다. aud $를 보면 몇 십 만 개의 기록 이 있 는 것 을 발 견 했 습 니 다. 그러나 위의 자동 청소 스 크 립 트 는 이미 이 데이터베이스 에서 실행 되 었 기 때문에 이 문 제 를 일 으 킨 원인 은 이 job 가 자동 으로 실행 되 지 않 았 기 때 문 입 니 다. dba 를 보 세 요.jobs 표, 이 job 가 존재 하지만 자동 으로 실행 할 수 없습니다:
SQL> select JOB,THIS_DATE,NEXT_DATE, TOTAL_TIME,WHAT, INSTANCE from dba_jobs;
JOB THIS_DATE NEXT_DATE TOTAL_TIME WHAT INSTANCE
---------- ---------- ---------- ---------- -------------------- ----------
1 2011-07-11 0 clear_aud; 0
표 dbajobs 의 nextdate 필드 는 job 가 다음 에 실 행 될 시간 을 표시 합 니 다. 이 데이터베이스 의 nextdate 필드 가 비어 있 습 니 다. 이 job 가 자동 으로 실행 되 지 않 는 다 는 것 을 설명 합 니 다. 이 문 제 를 인용 한 이 유 는 spfile 의 JOB 입 니 다.QUEUE_PROCESSES 인자 가 0 으로 설정 되 었 습 니 다. 공식 문서 에서 이 인자 에 대한 설명 은 다음 과 같 습 니 다.
You can schedule routines (jobs) to be run periodically using the job queue. To schedule a job you submit it to the job queue, using the Oracle suppliedDBMS_JOBpackage, and specify the frequency at which the job is to be run. Additional functionality enables you to alter, disable, or delete a job that you previously submitted.
Job queue (Jnnn)processes execute jobs in the job queue.For each instance, these job queue processes are dynamically spawned by a coordinator job queue (CJQ0) background process. The coordinator periodically selects jobs that are ready to run from the jobs shown in theDBA_JOBSview. It orders them by time, and then spawns Jnnnprocesses to run the selected jobs. Each Jnnnprocess executes one of the selected jobs.
TheJOB_QUEUE_PROCESSESinitialization parameter controls whether a coordinator job queue process is started by an instance. If this parameter is set to 0, no coordinator job queue process is started at database startup, and consequently no job queue jobs are executed. TheJOB_QUEUE_PROCESSESinitialization parameter also specifies the maximum number of Jnnnprocesses that can concurrently run on an instance. The maximum number of processes that can be specified is 1000.
이 매개 변 수 는 동적 으로 변경 할 수 있 기 때문에 변경 명령 을 실행 하여 이 매개 변 수 를 유효 하 게 할 수 있 습 니 다.
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
activemq 5.5 의 입문 은 설치, 시작, 데이터베이스 지속 화 를 포함한다Apache ActiveMQ 5.5.0 은 주로 유지보수 버 전 으로 130 개가 넘 는 문 제 를 복 구 했 으 며 대부분 bug 와 개선 이 었 다. Improved performance for offline d...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.