【发布时间】:2020-05-26 19:11:37
【问题描述】:
我正在尝试在我的一个存储过程中使用 sys.dbms_session.set_context,但出现以下错误:
ORA-01031: insufficient privileges
我的问题是我不能在我的存储过程中使用它,但是......当我以具有执行权限(和 sysdba 权限)的用户身份连接时,我遇到了同样的错误(权限不足)。代码如下:
PROCEDURE set_my_env (p_attribute IN VARCHAR2,p_value IN VARCHAR2)
IS
l_namespace VARCHAR2 (30) := 'MY_ENV';
l_attribute VARCHAR2 (30) := NULL;
l_value VARCHAR2 (4000) := NULL;
BEGIN
l_attribute := p_attribute;
l_value := p_value;
DBMS_OUTPUT.PUT_LINE('NAMESPACE: ' || l_namespace);
DBMS_OUTPUT.PUT_LINE('Attribute: ' || l_attribute);
DBMS_OUTPUT.PUT_LINE('value: ' || l_value);
DBMS_SESSION.set_context (l_namespace, l_attribute, l_value);
END set_my_env;
当我以非 sysdba 用户身份执行此代码时(但它具有执行权限),我收到权限不足错误。
提前致谢。
【问题讨论】:
标签: database oracle oracle11g database-administration sysdba