oracle存储过程中提示“权限不足”的解决办法

转载 2014年01月27日 10:36:00
我们知道,用户拥有的role权限在存储过程是不可用的。如:
SQL> select * from dba_role_privs where grantee='SUK';
GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE
------------ ------------ ------------ ------------
SUK DBA NO YES
SUK CONNECT NO YES
SUK RESOURCE NO YES
--用户SUK拥有DBA这个role
--再创建一个测试存储过程:
create or replace procedure p_create_table
is
begin
Execute Immediate 'create table create_table(id int)';
end p_create_table;
--然后测试
SQL> exec p_create_table;
begin p_create_table; end;
ORA-01031: 权限不足
ORA-06512: 在"SUK.P_CREATE_TABLE", line 3
ORA-06512: 在line 1
--可以看到,即使拥有DBA role,也不能创建表。role在存储过程中不可用。
--遇到这种情况,我们一般需要显式进行系统权限,如grant create table to suk;
--但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程
--实际上,oracle给我们提供了在存储过程中使用role权限的方法:
--修改存储过程,加入Authid Current_User时存储过程可以使用role权限。
create or replace procedure p_create_table
Authid Current_User is
begin
Execute Immediate 'create table create_table(id int)';
end p_create_table;
--再尝试执行:
SQL> exec p_create_table;
PL/SQL procedure successfully completed
--已经可以执行了。

oracle 用户权限之执行存储过程权限不足

ORACLE 执行revoke dba from user_name后需要细粒度赋权限,否则用户没有在指定表空间创建表的权限、执行dml的权限以及执行存储过程的权限。...
  • www_xue_xi
  • www_xue_xi
  • 2017年06月20日 11:10
  • 1774

oracle存储过程创建表权限不足解决方法

数据库当前用户授予了connect、resou
  • zpil321
  • zpil321
  • 2014年05月27日 17:54
  • 3869

执行oracle的sql脚本提示:“ORA-01031: 权限不足”解决办法!!!

 说明: procedure 本身可以执行.但是放到job中执行错误 ORA-01031: 权限不足 ORA-06512: 在"EMMA.PACK_SMS", line 16 ORA-065...
  • zq9017197
  • zq9017197
  • 2010年08月28日 15:06
  • 6400

ORACLE 创建视图时,提示用户权限不足

ORACLE 创建视图时,提示用户权限不足 问题:使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决? 回答: 这是因为scott这个帐户目前没有创建视图的权限。解...
  • zq9017197
  • zq9017197
  • 2014年03月25日 10:05
  • 9651

以sysdba身份登录oracle报ORA-1031权限不足错误之完美分析

以sysdba身份登录oracle报ORA-1031权限不足错误之完美分析 oracleORA-1031sysdbaAUTHENTICATION_SERVICESdba 在linux 操作系统...
  • haiross
  • haiross
  • 2013年10月16日 10:58
  • 30147

Oracle权限不足:创建view权限不足

用户A和B都有dba权限,但是在A用户中创建一个视图访问用户B的表,提示"oralce 权限不足” 分析:在B用户中可以直接查询A用户的表,但是在创建视图时就会报无权限 解决办...
  • funnyfu0101
  • funnyfu0101
  • 2016年07月14日 14:49
  • 1337

解决Oracle创建视图(VIEW)权限不足的方法

问题描述:在scott用户下创建视图的时候,报错:权限不足。(其他用户以此类推) 解决方法: 以dba用户登录sqlplus / as sysdba赋予scott用户创建VIEW的权限gran...
  • yichangzyh
  • yichangzyh
  • 2012年11月27日 22:03
  • 26310

ORACLE 创建视图时,提示用户权限不足

问题:使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决? 回答: 这是因为scott这个帐户目前没有创建视图的权限。解决方法为: 首先使用system帐户进行登录,其中“...
  • hechonghui
  • hechonghui
  • 2017年04月02日 03:58
  • 1056

ORA-01031:权限不足的问题

ORA-01031:权限不足的问题     在 脚本更新时,报错:ORA-01031: 权限不足。     grant connect,resource,dba to cssy;  ...
  • yinxiangbing
  • yinxiangbing
  • 2015年09月20日 22:10
  • 9663

oracle存储过程访问其它用户表权限不足

一个oracle的存储过程中存在一条访问其它用户表的select语句,总是提示没有访问权限,在plsql以及测试下都能执行,但是封装成存储过程总提示没有访问权限。 解决如下: 1切换到创建表的其它...
  • liangyike
  • liangyike
  • 2012年05月04日 11:40
  • 14654
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle存储过程中提示“权限不足”的解决办法
举报原因:
原因补充:

(最多只允许输入30个字)