我了解到(艰难的方式)DDL 语句不能在登录触发器的非事务上下文中执行,并且解决方案是一项工作。我希望该作业立即执行一次,因此将next_date
参数设置为sysdate
并将interval
参数设置为null
.
这是我在触发器中执行的内容:
dbms_job.submit(
job=>jobNumber,
what=>'someProcedure(someParameter);',
next_date=>sysdate,
interval=>null
);
这工作得很好,但是一旦触发了触发器(并且已经提交了上述命令),审计日志显示该作业每隔五秒就会在它提交的同一用户帐户下重新出现第一次。关联的程序总是类似于ORACLE.EXE (J001)
,尽管它当然是从客户端应用程序启动的用户会话。
谁能给我解释一下?我希望能一次完成这项工作,而不是永远重复。提前致谢!