Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Execute Immediate 'Alter Session' from Inside DBMS_SCHEDULER Job Procedure

User_I4Y3CAug 6 2020 — edited Aug 11 2020

Hope all is well Community!

I have a scheduled job that runs a procedure - Let's call it 'UPDATE_PROC'. ....

BEGIN

  DBMS_SCHEDULER.CREATE_JOB (

  job_name => 'UPDATE_PROC',

  job_type => 'STORED_PROCEDURE',

  job_action => 'MYSCHEMA.UPDATE_PROC');

END;

/

This job runs a stored procedure - Let's call it 'UPDATE_PROC' in MYSCHEMA.

In the procedure the first line of code is as follows:

BEGIN

DECLARE var1 date;

var2 date;

var3 varchar2(6);

var4 number(5,0);

BEGIN

EXECUTE IMMEDIATE 'ALTER SESSION SET TEMP_UNDO_ENABLED=TRUE';

When I run the procedure from SQL Developer or SQL Plus or anywhere else. No issues. But when I try run it through job:

EXEC DBMS_SCHEDULER.RUN_JOB('MYSCHEMA.UPDATE_PROC');

*

ERROR at line 1:

ORA-02248: invalid option for ALTER SESSION

ORA-06512: at "SYS.DBMS_ISCHED", line 209

ORA-06512: at "SYS.DBMS_SCHEDULER", line 594

ORA-06512: at line 1

Why am I getting this error?

I've tried with quotes, double quotes, no quotes. Inside separate begin statement etc. ... nothing!

Please help!

This post has been answered by User_I4Y3C on Aug 11 2020
Jump to Answer
Comments
Post Details
Added on Aug 6 2020
17 comments
3,842 views