如下图,我相差 job:3 这个任务的历史执行记录,这个在哪里查?或者sql 怎么写?

DBMS_JOB.SUBMIT 建job的方法比较老,只能查到上一次执行的信息,不能查看历史的执行记录,如果需要的话就自己建日志表,保存job的执行记录。
另外,建议通过 dbms_scheduler.create_job来建立,通过 select * from user_scheduler_job_run_details 查询历史记录
评论
有用 0
SELECT TO_CHAR(LOG_DATE, 'yyyy-mm-dd hh24:mi:ss') 日志日期,
OWNER 所有者,
JOB_NAME JOB名,
STATUS 运行状态,
TO_CHAR(REQ_START_DATE, 'yyyy-mm-dd hh24:mi:ss') 运行请求时间,
TO_CHAR(ACTUAL_START_DATE, 'yyyy-mm-dd hh24:mi:ss') 实际开始时间,
TO_CHAR(RUN_DURATION, 'yyyy-mm-dd hh24:mi:ss') 持续时间,
SESSION_ID 会话ID
FROM DBA_SCHEDULER_JOB_RUN_DETAILS
WHERE OWNER = '所有者'
AND JOB_NAME = 'JOB名'
ORDER BY LOG_DATE DESC
评论
有用 6如果查询不到JOB运行历史记录有几种原因参考:
1、JOB从未运行过;
2、历史记录被清除;
3、没有足够权限;
4、JOB名称错误;
5、查询条件错误;
评论
有用 1使用以下语句试试:
set lines 199
col JOB_NAME for a22
col LOG_DATE for a35
SELECT job_name, log_date, operation, status FROM dba_scheduler_job_log;
评论
有用 1发帖者原始生成JOB用的是DBMS_JOB,那自然不能查DBA_SCHEDULER。。。相关表了。他用的是老式的JOB,而非后来的SCHEDULER。试试在DB的alert日志里查错误详情。
评论
有用 0要查看Oracle 11g中作业(job)的历史执行记录,你可以执行以下步骤:
1. 首先,使用系统管理员或拥有适当权限的用户登录到Oracle数据库。
2. 运行以下SQL查询来查看作业(job)的历史执行和状态信息:
SELECT job_name, description, log_date, status
FROM dba_scheduler_job_run_details
WHERE owner = 'YOUR_USERNAME'
ORDER BY log_date DESC;
将"YOUR_USERNAME"替换为你的数据库用户名称。
3. 运行查询后,你将获得作业(job)的历史执行记录,包括作业名称、描述、执行日期和状态。按照日志日期(log_date)进行降序排序,最新的执行记录将显示在顶部。
这样,你就可以查看Oracle 11g作业的历史执行记录了。请注意,你需要具有适当的权限才能访问dba_scheduler_job_run_details视图。如果你无法访问该视图,请与数据库管理员联系以获取所需的权限。
评论
有用 0
墨值悬赏


