0

OEM ジョブが数日間ハングアップしましたが、残念ながらログが有効になっていません。この問題のトラブルシューティング方法を教えてください。

DECLARE
  CHECK DATE;
BEGIN
  CHECK := NULL;
  PROCESS_MAIL_TOTAL(
    CHECK => CHECK
  );
END;

PROCESS_MAIL_TOTAL は、PROCESS_MAIL_JOB OEM ジョブで使用される手順です。

create or replace PROCEDURE PROCESS_MAIL_TOTAL
  (
    CHECK IN DATE )
AS
  M_CHECK DATE;
  M_DATE_FORMAT VARCHAR2(20);
BEGIN
  M_DATE_FORMAT := 'YYYY-MM-DD';
  IF ( CHECK IS NULL ) THEN
    M_CHECK    := to_date(TO_CHAR(sysdate - 1, M_DATE_FORMAT), M_DATE_FORMAT);
  ELSE
    M_CHECK := to_date(TO_CHAR(CHECK, M_DATE_FORMAT), M_DATE_FORMAT);
  END IF;
  DELETE
  FROM MAIL_TABLE
  WHERE mail_process_dt = M_CHECK;
  INSERT INTO MAIL_TABLE
  SELECT COUNT(*) total
  FROM MAILBOX
  WHERE MESSAGE LIKE '%Invalid%';
  COMMIT;
EXCEPTION
WHEN OTHERS THEN
  dbms_output.put_line('Its Broke!');
END PROCESS_MAIL_TOTAL;

OEM エラー:

ハングしたジョブを実行しようとしたとき:

java.sql.SQLException: ORA-27492: unable to run job "PROCESS_MAIL_JOB": scheduler unavailable Check the log/trace file for more Details
4

2 に答える 2

0

試す:

select * from v$parameter where upper(name) = 'JOB_QUEUE_PROCESSES';

JOB_QUEUE_PROCESSES の「値」が 0 に設定されている可能性があります。変更するにはシステムの変更が必要になると思います。たとえばalter system set job_queue_processes = 10;、ORA エラー コード 27492 から:

スケジューラがアクティブでない場合、現在のセッションを false に設定してジョブを実行することはできません。job_queue_processes パラメータの値を確認し、dbms_ijob.set_enabled(true) を発行し、データベースがアップグレード/移行モードであるか、データベースがデータ ガード モードであるか、またはスケジューラ属性 SCHEDULER_DISABLED が TRUE に設定されている

現在のセッションでジョブを実行するか、スケジューラをアクティブ化します

于 2013-09-19T15:23:01.807 に答える
0
    NUM                  NAME   TYPE    VALUE   DISPLAY_VALUE   ISDEFAULT   ISSES_MODIFIABLE    ISSYS_MODIFIABLE    ISINSTANCE_MODIFIABLE   ISMODIFIED  ISADJUSTED  ISDEPRECATED    ISBASIC DESCRIPTION UPDATE_COMMENT  HASH
      1     job_queue_processes 3         0                 0     FALSE              FALSE                  IMMEDIATE       TRUE                    FALSE   FALSE   FALSE   FALSE   maximum number of job queue slave processes     1663833312
于 2013-09-24T14:14:05.373 に答える