oracle 定時任務執行錯誤信息可以在以下位置查看:作業日志(job_log)作業調度器日志(scheduler_job_log)數據庫告警日志(alert_log.log)作業隊列作業(job_queue_jobs)dbms_scheduler.get_job_log 包
Oracle 定時任務執行報錯信息位置
Oracle 定時任務執行過程中產生的報錯信息可以在以下位置查看:
1. 查看作業日志(job_log)
<code class="sql">SELECT JOB_NAME, LOG_DATE, STATUS, LOG_DETAILS FROM DBA_JOBS_LOG WHERE JOB_NAME = '';</code>
登錄后復制
2. 查看作業調度器日志(scheduler_job_log)
<code class="sql">SELECT SCHEDULER_JOB_NAME, RUN_DATE, STATUS, LOG_DETAILS FROM DBA_SCHEDULER_JOB_LOG WHERE SCHEDULER_JOB_NAME = '';</code>
登錄后復制
3. 查看數據庫告警日志(alert_log.log)
如果報錯信息嚴重,可能會記錄在數據庫告警日志中。默認情況下,告警日志位于以下路徑:
Unix/Linux: /oracle/<oracle_sid>/admin/<oracle_sid>/bdump/<oracle_sid>.log</oracle_sid></oracle_sid></oracle_sid>
Windows: ...\Oracle\diag\rdbms\<oracle_sid>\<oracle_sid>\trace</oracle_sid></oracle_sid>
4. 查看作業隊列作業(job_queue_jobs)
<code class="sql">SELECT JOB_NAME, QUEUE_NAME, STATUS, MESSAGE FROM DBA_JOB_QUEUE_JOBS WHERE JOB_NAME = '';</code>
登錄后復制
5. 使用 DBMS_SCHEDULER.GET_JOB_LOG 包
<code>DECLARE jlob DBMS_LOB.CLOB; BEGIN DBMS_SCHEDULER.GET_JOB_LOG( '作業名稱', jlob ); -- 將 CLOB 中的數據導出為字符串 DBMS_OUTPUT.PUT_LINE(DBMS_LOB.SUBSTR( jlob, 1, DBMS_LOB.GETLENGTH(jlob) )); END; /</code>
登錄后復制