ORA-06512 问题解决是怎样的呢
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这期内容当中小编将会给大家带来有关ORA-06512 问题解决是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在执行存储过程时,有动态执行SQL时,有时报错O
千家信息网最后更新 2024年11月26日ORA-06512 问题解决是怎样的呢
SQL> select * from dba_role_privs where grantee='dev'; GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE ------------ ------------ ------------ ------------ DEV CONNECT NO YES DEV RESOURCE NO YES --再创建一个测试存储过程: create or replace procedure p_create_table is begin Execute Immediate 'create table test(id int)'; end p_create_table; --然后测试 SQL> exec p_create_table; begin p_create_table; end; ORA-01031: 权限不足 ORA-06512: 在"DEV.P_CREATE_TABLE", line 3 ORA-06512: 在line 1 --可以看到,即使拥有CONNECT,RESOURCE role,也不能创建表。role在存储过程中不可用。 --遇到这种情况,我们一般需要显式进行系统权限,如grant create table to DEV; --但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程 --实际上,oracle给我们提供了在存储过程中使用role权限的方法: --修改存储过程,加入Authid Current_User时存储过程可以使用role权限。 create or replace procedure p_create_table Authid Current_User is begin Execute Immediate 'create table test(id int)'; end p_create_table; --再尝试执行: SQL> exec p_create_table; PL/SQL procedure successfully completed --已经可以执行了。
这期内容当中小编将会给大家带来有关ORA-06512 问题解决是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
在执行存储过程时,有动态执行SQL时,有时报错ORA-06512。SQL> select * from dba_role_privs where grantee='dev'; GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE ------------ ------------ ------------ ------------ DEV CONNECT NO YES DEV RESOURCE NO YES --再创建一个测试存储过程: create or replace procedure p_create_table is begin Execute Immediate 'create table test(id int)'; end p_create_table; --然后测试 SQL> exec p_create_table; begin p_create_table; end; ORA-01031: 权限不足 ORA-06512: 在"DEV.P_CREATE_TABLE", line 3 ORA-06512: 在line 1 --可以看到,即使拥有CONNECT,RESOURCE role,也不能创建表。role在存储过程中不可用。 --遇到这种情况,我们一般需要显式进行系统权限,如grant create table to DEV; --但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程 --实际上,oracle给我们提供了在存储过程中使用role权限的方法: --修改存储过程,加入Authid Current_User时存储过程可以使用role权限。 create or replace procedure p_create_table Authid Current_User is begin Execute Immediate 'create table test(id int)'; end p_create_table; --再尝试执行: SQL> exec p_create_table; PL/SQL procedure successfully completed --已经可以执行了。
上述就是小编为大家分享的ORA-06512 问题解决是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
过程
存储
权限
问题
内容
方法
分析
测试
专业
中小
内容丰富
动态
实际
实际上
就是
情况
文章
时报
更多
有时候
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
php数据库关联查询
服务器配置最低的主板
神通数据库怎么改密码
网络安全法哪年实施的
如何看ea服务器在维护
学习通数据库怎么样
开州区网络安全审计系统咨询费用
服务器有暗链
网络技术二级基础知识
手机移动技术软件开发
lol网通哪个区服务器在北方
简答中文科技期刊数据库
河北大秦网络技术有限公司
软件开发项目监理报告
网络安全弊
加强网络安全防护措施
网络技术与应用技术的区别
计算机网络技术是高职专科吗
服务器数据库开发
国内互联网科技公司有哪些
联想服务器怎么安装
日服英雄联盟手游服务器
网络安全审计部门
联想八路服务器
余姚手机软件开发设计
高斯数据库主要学什么
在线字幕数据库
泰安定制软件开发
华工 数据库应用 考试
地区代码新老对照数据库