oracle 哪个osuser正在运行DBMS_SCHEDULER作业?

bttbmeg0  于 2023-05-16  发布在  Oracle
关注(0)|答案(1)|浏览(105)

在我的oracle数据库上,我试图找出在运行dbms_scheduler作业期间哪个osuser出现在会话中。我不能自己检查它,因为在我的公司有一个触发器使用triggering_event = 'LOGON',只是不允许我在后台启动作业,但我可以为osuser添加异常,但不幸的是,我不知道哪个osuser正在启动这些作业。

kxe2p93d

kxe2p93d1#

在运行19c和Oracle Cloud 21c的笔记本电脑数据库上进行快速测试(结果相同):

begin
    dbms_scheduler.create_job
    ( job_name     => 'DEMO_JOB'
    , job_type     => 'PLSQL_BLOCK'
    , job_action   => q'[begin dbms_output.put_line('USER = '||user||', os_user = '||sys_context('userenv','os_user')); end;]' 
    , start_date   => systimestamp
    , enabled      => true );
end;
select output from user_scheduler_job_run_details where job_name = 'DEMO_JOB';

OUTPUT
--------------------------------------------------------------------------------
USER = WILLIAM, os_user = oracle

这与我在生产数据库上看到的操作系统用户(oracle)相同。数据库安装并不是我真正的领域,但我记得你可以将一个或多个操作系统用户设置为Oracle软件和后台进程的所有者,默认值为“oracle”。

相关问题