Oracle普通用户启停JOB报错ORA 27486权限不足

Oracle普通用户启停JOB报错ORA 27486权限不足

问题与现象

应用用户通过DBMS_SCHEDULER启停自己的JOB需要的权限:

sql 复制代码
grant execute on dbms_scheduler to appuser;

该普通用户有CREATE JOB的权限。通过DBMS_SCHEDULER停止自己的JOB时:

sql 复制代码
BEGIN
  DBMS_SCHEDULER.STOP_JOB('APPUSER.ETLJOB', force=>true);
END;
/

收到如下报错:

复制代码
ORA-27486: 权限不足
ORA-06512: 在"SYS.DBMS_ISCHED", line 210
ORA-06512: 在"SYS.DBMS_SCHEDULER", line 557
ORA-06512: 在 line 1

原因与对策

不加force的时,执行用户必须是JOB OWNER或者对JOB具有ALTER权限。也可以对用户授予CREATE ANY JOB或者MANAGE SCHEDULER权限(不推荐)。

force参数时,用户必须具有MANAGE SCHEDULER权限,否则会报ORA-27486权限不足。

sql 复制代码
grant manage scheduler to appuser;
相关推荐
山峰哥11 分钟前
SQL调优实战:从索引失效到性能飙升的破局之道
服务器·数据库·sql·性能优化·编辑器·深度优先
玩具猴_wjh12 分钟前
JWT优化方案
java·服务器·数据库
你这个代码我看不懂13 分钟前
Redis TTL
数据库·redis·缓存
SQL必知必会30 分钟前
使用 SQL 进行队列分析
数据库·sql
Project_Observer31 分钟前
项目管理中如何跟踪工时?
数据库·深度学习·机器学习
一点多余.31 分钟前
openGauss 企业版安装全流程指南
linux·数据库·opengauss·企业版
发现你走远了1 小时前
MySQL(Windows)压缩包安装与配置指南(超详细版)
数据库·mysql
涛涛讲AI1 小时前
Django Admin模块的都有哪些表以及之间的关系
数据库·django·sqlite
青衫码上行1 小时前
Redis持久化 (快速入门)
数据库·redis·缓存