oralce job 问题请教

[复制链接]
查看11 | 回复1 | 2014-4-12 15:20:38 | 显示全部楼层 |阅读模式
SQL> variable job1 number;
SQL> begin
2dbms_job.submit(:job1,'proc_test;',sysdate,'sysdate+1+1/1440');
3end;
SQL> begin
2dbms_job.run(:job1);
3end;
4/

begin
dbms_job.run(:job1);
end;

ORA-12011: 无法执行 1 作业
ORA-06512: 在 "SYS.DBMS_IJOB", line 406
ORA-06512: 在 "SYS.DBMS_JOB", line 272
ORA-06512: 在 line 3
job1
据说是存储过程的问题,但是'proc_test;这个存储过程单独运行是没问题的,所以想请教大家帮帮忙……感谢
附:存储过程:
create or replace procedure proc_test
authid current_user
as
h int;
begin
select count(*) into h from all_tables where table_name = 'INVBASDOC';
if (h>0) then
execute immediate 'drop table invbasdoc';
end if;

execute immediate 'create table invbasdoc as select * from bd_invbasdoc';
end ;
如果是因为存储过程里加了个"authid current_user"这个,所以JOB调用的时候就有问题,请问下哪位能帮忙解决下,因为这个存储过程涉及到权限问题,这个是不能去掉的。

回复

使用道具 举报

千问 | 2014-4-12 15:20:38 | 显示全部楼层
必须显式的给用户赋create table的权限才行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行