暂无图片
分享
Y
YanLang
2023-11-27
Oracle 11g job的历史执行记录怎么查看?

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


收藏
分享
10条回答
默认
最新
T
Ty3306

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
YanLang
题主
2023-11-27
查不到
董大威

没有运行吧?

暂无图片 评论
暂无图片 有用 0
YanLang
题主
2023-11-27
有在运行
董大威

如果查询不到JOB运行历史记录有几种原因参考:

1、JOB从未运行过;

2、历史记录被清除;

3、没有足够权限;

4、JOB名称错误;

5、查询条件错误;

暂无图片 评论
暂无图片 有用 1
dbaking

使用以下语句试试:

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
Thomas

发帖者原始生成JOB用的是DBMS_JOB,那自然不能查DBA_SCHEDULER。。。相关表了。他用的是老式的JOB,而非后来的SCHEDULER。试试在DB的alert日志里查错误详情。

暂无图片 评论
暂无图片 有用 0
wangtao

要查看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
范伟林

普通的job,使用dba_jobs视图,可以查看上一次执行的时间

暂无图片 评论
暂无图片 有用 1
文成

最好在存储过程中增加日志表记录插入,便于跟踪

暂无图片 评论
暂无图片 有用 1
Y
YanLang
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏