oracle 编译时权限不足,ORA-01031权限不足解决方法
在Oracle11gR2数据库上,以DBA权限的账号执行存储过程报错,PL/SQL:ORA-01031:权限不足,如下图
原因:
1、ORACLE默认为定义者权限,定义者权限在存储过程中ROLE无效,需要显示授权。
2、如果使用AUTHID CURRENT_USER关键字使用调用者权限,则编译时ROLE无效,运行时有效。
解决办法:
方法1:对存储过程来说,CREATE TABLE想使用CREATE ANY TABLE权限,而CREATE ANY TABLE权限来自DBA角色,默认情况下,虽然在会话环境中可见,但在存储过程中不可见(无效)。
所以根据上面的第一条规则,可以显示地将CREATE ANY TABLE权限授予DBA用户就可以了,即GRANT update ANY TABLE TO xxxuser; #里面的权限根据具体存储过程更改
方法2:采用调用者权限,由于过程中使用动态SQL,所以可以避开编译时的检查,但在运行时DBA角色生效,即CREATE OR REPLACE PROCEDURE INSERT_DATA --插入user_客户ID,套餐表,客户宽表
(RTN_ID OUT NUMBER, --返回错误ID
RTN_STR OUT VARCHAR --返回错误叙述
) AUTHID CURRENT_USER IS
最后更新于 2018-02-02 21:01:41 并被添加「oracle 权限」标签,已有 15 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章
oracle 编译时权限不足,ORA-01031权限不足解决方法相关推荐
- oracle错误号大全(查询ora错误号以及解决方法技巧)
oracle 查询ora错误号以及解决方法技巧 racle 错误号以及解决方法技巧 经常有朋友问我ORACLE 类似ora-00109 错误的信息,其实我们的ORACLE系统本身已经为我们详细的说明了 ...
- oracle远程导出数据是卡住了,告急!!!备份oracle数据库时卡住不动求解释,求解决方法!谢谢希望牛人帮忙 - Oracle论坛 - 51CTO技术论坛_中国领先的IT技术社区...
备份数据库时总是卡住到这一步不动求解释,求解决方法谢谢! starting backup...... backup file path /backup/database/data/2014-09-30 ...
- 编译时提示 Could NOT find OpenSSL 的解决方法
原文链接:https://www.jianshu.com/p/55249a0272ad 编译时提示如下的类似信息时: Could NOT find OpenSSL, try to set the pa ...
- XP添加权限时提示:无法显示用户选项对话框的解决方法!
症状: 打开共享权限添加用户无法打开 出现" 安全:无法显示用户选项对话(null)" 如图: 解决方法: 第一种方法是: 将别人WINDOWS SYSTEM32 文件夹下的ric ...
- 计算机d盘的权限怎么解决,D盘没权限,不能删除更改任何文件解决方法
D盘没权限,不能删除更改任何文件解决方法 今天接到一单,很奇怪 首先肯定是安全里添加 权限了 添加了,还是不行,添加 了所有用户权限 都不行 后来发现可以用已经安装在D盘程序的自带卸载工具来卸载本身 ...
- 移动文件需要计算机管理员权限,win7系统提示“需要管理员权限才能移动文件夹”的解决方法...
很多小伙伴都遇到过win7系统提示"需要管理员权限才能移动文件夹"的困惑吧,一些朋友看过网上零散的win7系统提示"需要管理员权限才能移动文件夹"的处理方法,并 ...
- w ndows10QQ远程,Win10提示“QQ远程系统权限原因,暂时无法操作”的解决方法
我们可能会使用到QQ上的远程控制功能来协助对方帮助解决电脑各种系统问题或者帮助别人安装某软件.调试等,但是如果对方的电脑(被控端)是Windows10系统,使用QQ远程桌面控制对方电脑的时候,在操作的 ...
- win7 计算机名称 ip6,Win7系统提示ipv6无网络访问权限的两种原因及解决方法
Win7系统提示ipv6无网络访问权限,导致无法上网,这该如何解决呢?ipv6无网络访问权限的原因有很多种,针对此问题,下面脚本之家的教大家解决ipv6无网络访问权限的问题,大家一起来看看吧. 故障原 ...
- 关于删除文件需要提供管理员权限才能删除此文件的解决方法
需要管理员权限才能删除此文件的解决方法 右击需要删除的文件,选择属性 1.选择安全>高级>更改>高级>立即查找>本地账户 2.右击要删除的文件>属性>安全&g ...
- Oracle报ORA-00942: 表或视图不存在的解决方法
Oracle报ORA-00942: 表或视图不存在的解决方法 首先考虑权限问题. 举例:用户a调用用户b的视图 用户b的视图来自于用户c 如果看到数据库用户b存在某张视图,而用户a调用用户b的视图报不 ...
最新文章
- ISME:比较基因组学揭示蓝藻进化和生境适应性特征
- Linux 安装Boost
- SQL Server 2008编写脚本时智能提示功能丢失的处理
- shell 语法格式
- 算法分析中递推式的一般代数解法
- call和ret(f)指令
- 如何在屏幕实时显示自己键盘的输入字符?
- Python(37)_字典嵌套
- linux下访问西门子S7,Siemens SIMATIC S7-1200 CPU开放重定向漏洞(CVE-2015-1048)
- 在vb中使用Iphlpapi.dll获取网络信息(上)
- JavaScript 数组常见操作 (二)
- 南京大学计算机考研资料汇总
- 用企业微信管理微信客户有哪些好处?
- python都能帮我做什么_为什么总有人说人生苦短我用Python,Python能帮我们做什么?...
- 绘制地图其实并不难!如何绘制地图?看看Smartbi的制作方法
- Linux /etc/shadow(影子文件)内容解析(超详细)
- Kubernetes架构基础知识
- Linux下安装docker与kubernetes(k8s)
- WordPress完美删除页脚自豪地采用WordPress和Proudly powered by WordPress(页尾footer.php)
- iOS AV Foundation 二维码扫描 02 扫码