Sql 使用特定Oracle用户运行Oracle 11g计划作业
我已经为每5分钟运行一次过程创建了计划作业。在“指定数据”中删除某些数据的过程。当我直接从procedure call procedure()调用它时;它按预期工作。在调度程序作业中,日志显示成功,但没有发生更改。我怀疑是用户登录,可能是因为当我作为当前会话运行计划作业时,它按预期工作,但我使用另一个会话运行时,它不工作Sql 使用特定Oracle用户运行Oracle 11g计划作业,sql,database,oracle,oracle11g,Sql,Database,Oracle,Oracle11g,我已经为每5分钟运行一次过程创建了计划作业。在“指定数据”中删除某些数据的过程。当我直接从procedure call procedure()调用它时;它按预期工作。在调度程序作业中,日志显示成功,但没有发生更改。我怀疑是用户登录,可能是因为当我作为当前会话运行计划作业时,它按预期工作,但我使用另一个会话运行时,它不工作 BEGIN SYS.DBMS_SCHEDULER.CREATE_JOB( job_name => 'TDSUITE.SYNC_JOB' ,s
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB(
job_name => 'TDSUITE.SYNC_JOB'
,start_date => TO_TIMESTAMP_TZ('2020/02/01 00:00:00.000000 +07:00','yyyy/mm/dd hh24:mi:ss.ff tzr')
,repeat_interval => 'FREQ=MINUTELY;INTERVAL=5;'
,end_date => NULL
,job_class => 'DEFAULT_JOB_CLASS'
,job_type => 'PLSQL_BLOCK'
,job_action => 'TDSUITE.SYNC;'
,comments => NULL
);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'TDSUITE.SYNC_JOB'
,attribute => 'RESTARTABLE'
,value => FALSE);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'TDSUITE.SYNC_JOB'
,attribute => 'LOGGING_LEVEL'
,value => SYS.DBMS_SCHEDULER.LOGGING_OFF);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'TDSUITE.SYNC_JOB'
,attribute => 'MAX_FAILURES');
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'TDSUITE.SYNC_JOB'
,attribute => 'MAX_RUNS');
BEGIN
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'TDSUITE.SYNC_JOB'
,attribute => 'STOP_ON_WINDOW_CLOSE'
,value => FALSE);
EXCEPTION
-- could fail if program is of type EXECUTABLE...
WHEN OTHERS THEN
NULL;
END;
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'TDSUITE.SYNC_JOB'
,attribute => 'JOB_PRIORITY'
,value => 3);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'TDSUITE.SYNC_JOB'
,attribute => 'SCHEDULE_LIMIT');
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'TDSUITE.SYNC_JOB'
,attribute => 'AUTO_DROP'
,value => TRUE);
SYS.DBMS_SCHEDULER.ENABLE
(name => 'TDSUITE.SYNC_JOB');
END;
/
您是否在作业完成后提交事务?是的,我会提交每个循环,因为在执行sql和提交后,过程内部会尝试删除一些数据。过程名称为SYNC,由TDSUITE拥有。您是在谁的架构中创建此作业的?这个用户对这个过程有执行权限吗?我在TDSUITE模式中创建了这个作业,并且这个过程也是在TDSUITE模式中创建的。如果我在这个模式中创建,这意味着我有特权吗?因为您的间隔是5分钟,您应该看看