My Oracle Support Banner

在Oracle 19C中手工运行JOB后,USER_JOBS的LAST_DATE列没有被更新 (Doc ID 2728774.1)

Last updated on MARCH 12, 2021

适用于:

Oracle Database - Enterprise Edition - 版本 19.1.0.0.0 和更高版本
本文档所含信息适用于所有平台

症状

在Oracle 19C中,手工运行JOB后,user_jobs的last_date列没有被更新。
版本: oracle 19.3, CDB/PDB

测试案例:

-- 创建测试表:
create table wp_test(a number);

--  创建 schedule job:
declare
  JobNo user_jobs.job%TYPE;
  BEGIN
  dbms_job.submit(
  job => JobNo,
  what => 'begin execute immediate ''insert into wp_test select 1 from dual''; end;',
  next_date => SYSDATE,
  interval => 'SYSDATE + 1/1440');
  dbms_output.put_line(
  chr(10)||'Job No. is: '||JobNo||',Should run this job in 1 minute (at '||
  to_char(sysdate+ 1/1440)||')');
  COMMIT;
  END;
  /

-- 手工执行 (user_jobs显示这个 JOB 的 job no 是 71) 

execute dbms_job.run(71);

-- 检查表 test 和 user_jobs

记录被插入了 table wp_test, 但 user_jobs 的列 last_date 和 last_sec 没有被更新。

select * from user_jobs;

 

期望的行为
-----------------------
当 JOB 被手工执行后,user_jobs 的列 last_date 和 last_sec 应当被相应的更新。

更改

升级数据库到 19c

原因

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


文档内容
症状
更改
原因
解决方案
参考

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.