Oracle普通用戶啟停JOB報錯ORA 27486權限不足
- 問題與現象
- 原因與對策
問題與現象
應用用戶通過DBMS_SCHEDULER啟停自己的JOB需要的權限:
grant execute on dbms_scheduler to appuser;
該普通用戶有CREATE JOB的權限。通過DBMS_SCHEDULER停止自己的JOB時:
BEGINDBMS_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權限不足。
grant manage scheduler to appuser;