In order to use dbms_job.rmove, you must be connected as the owner of the job.
As DBA, you want to remove another user job:
- create a procedure owned by the user that does an execute immediate
- call that procedure
Example:
SQL> select job,log_user from dba_jobs where log_user='TEST';
JOB LOG_USER
---------- ------------------------------
100 TEST
SQL> show user
USER is "SYS"
SQL> create procedure TEST.run(statement in varchar) as begin execute immediate statement; end;
2 .
SQL> /
Procedure created.
SQL> exec TEST.run('begin dbms_job.remove(100); end;') ;
PL/SQL procedure successfully completed.
SQL> select job,log_user from dba_jobs where log_user='TEST';
no rows selected