在我的oracle数据库上,我试图找出在运行dbms_scheduler作业期间哪个osuser出现在会话中。我不能自己检查它,因为在我的公司有一个触发器使用triggering_event = 'LOGON',只是不允许我在后台启动作业,但我可以为osuser添加异常,但不幸的是,我不知道哪个osuser正在启动这些作业。
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”。
oracle
1条答案
按热度按时间kxe2p93d1#
在运行19c和Oracle Cloud 21c的笔记本电脑数据库上进行快速测试(结果相同):
这与我在生产数据库上看到的操作系统用户(
oracle
)相同。数据库安装并不是我真正的领域,但我记得你可以将一个或多个操作系统用户设置为Oracle软件和后台进程的所有者,默认值为“oracle”。