Oracle中sys_contex调用报权限问题的解决

上一篇 / 下一篇  2016-02-24 11:33:38 / 个人分类:oracle

数据库导库后,发现以下pkg的程序执行报没有权限问题。
pkg的代码如下:
PROCEDURE P_SET_SESSION_USER(I_USERNAME IN T_NBS_USER.USER_ID%TYPE) IS
  BEGIN
    DBMS_SESSION.SET_CONTEXT('US_CONTEXT', 'USER_NAME', I_USERNAME);
  END P_SET_SESSION_USER;

执行报错:
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_SESSION", line 90
ORA-06512: at line 2

通过百度,总结以下解决方案(DBA用户:sysdba 执行用户:oper)
先用sysdba 授权
GRANT DROP ANY CONTEXT TO oper;
GRANT CREATE ANY CONTEXT TO oper;
GRANT UNLIMITED TABLESPACE TO oper;
GRANT ALTER SESSION TO oper;

在用oper 执行:
CREATE OR REPLACE CONTEXT US_CONTEXT USING PKG_Name ; 

其中,US_CONTEXT 是程序中用到的上下文名称,PKG_Name调用该上下文的PKG名称。

TAG: Oracle

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 1050
  • 日志数: 1
  • 建立时间: 2016-02-24
  • 更新时间: 2016-02-24

RSS订阅

Open Toolbar