❶ oracle中如何给低权限用户授予只读存储过程的权限,就是说可以看见存储过程的内容,但是不能做重新编译操作
不会吧,你看看USER下面有没有别的系统权限,特别是alter any procere。
如果USER只有CONNECT和RESOURCE角色,即使给它EXECUTE,它也不能编译。会报错,ORA-01031没有足够权限。
❷ ORA-06512: at "TOOL_PERF_PG", line 163 ORA-01031: insufficient privileges
执行存储过程的用户的权限不够,给这个用户 建表的权限,试试
grant create table to username;
❸ ORA-01031权限不足怎么解决
问题:
ORA-01031: 权限不足
解决:
grant select any table to TSS_TEST
❹ oracle 存储过程 权限问题 PL/SQL: ORA-01031: 权限不足
权限不足就是说你还没有连接到服务器,或者你连接过了又断开了,再次连接上了就该不会出现权限问题。
❺ 我的插入语句能够通过,但把它放在存储过程里就不行了,报错为ORA-01031: 权限不足
grant select any catalog to user;
在存储过程中的有些操作需要显式地赋予权限, 即便单独运行是可以的.
❻ 创建存储过程 老师出现 ORA-01031: 权限不足
你这个表USER01在system用户下存在吗?
不存在的话是要报错的
用system用户给你的gong用户赋权
grantconnect,resource,dbatogong;
这样应该基本就差不多了
❼ 在一个存储过程中创建另一个新存储过程报异常ora-01031,该什么解决
是要动态创建或者修改存储过程么?
存储过程创建需要在显示授权,那么可以这样写:
假设现在的用户叫做TEST_USER 并且有创建存储过程的权限:
create or replace procere prc_crt_test is
s_sql varchar2(3000);
begin
s_sql:='grant create any procere to TEST_USER';
execute immediate s_sql;
s_sql:='create or replace procere prc1 is begin
null;
end;';
execute immediate s_sql;
end prc_crt_test;
就可以了。
❽ ORA-01031: 权限不足
汗~~
GRANT create any table TO scott;
sequence 是序列,你试着给它创建序列的权限有毛用啊,你的存储过程里是要创建表啊。
===============================================
哈,没研究过这么深,只不过这么用久了,就习惯这么用了。遗憾,你可以去查一些存储过程的教程,那上边一般会有这些基础知识。我只是会用而已。
❾ oracle 测试存储过程 是哪个权限
Oracle规定,在默认的情况下,在调用存储过程用户的角色不起作用,即在执行存储过程时只有Public权限。所以在调用Create table时,会有权限不足的提示。
只需要使用IR Procere就能很快解决问题啦,把代码修改为如下:
CREATE OR REPLACE PROCEDURE TestProc AUTHID current_user
IS
flag number;
BEGIN
select count(*) into flag from all_tables where table_name='TEMP3';
if (flag=0) then
execute immediate 'create global temporary table TEMP3 on commit preserve rows as select * from BUSI_ECONTRACT';
else
execute immediate 'insert into TEMP3 select * from BUSI_ECONTRACT';
end if;
END ;
执行存储过程,顺利通过。
❿ PL/SQL建好存储过程,编译也成功了,但是用execute执行的的 提示权限不足(ora-01031)
用你有dba权限的用户执行这个试试。
;
如果还报错就要看代码了。