ORA-12406:未经授权的策略SQL语句

时间:2009-09-17 16:36:07

标签: sql oracle security plsql

我收到以下错误:

ORA-12406:未经授权的政策SQL语句

我正在执行一个执行以下两个Oracle Label Security存储过程的存储过程:

  1. SA_COMPONENTS.CREATE_GROUP

  2. SA_LABEL_ADMIN.CREATE_LABEL

  3. 在同一个事务中,但不是相同的过程,我试图使用新创建的标签插入表中。这是发生错误的时候。我用Google搜索了错误,但描述并没有帮助我。我不知道为了做这项工作我必须给予什么特权或授权。如果我将存储过程和insert语句拆分为两个单独的事务,它可以正常工作。我正在寻找关于这里发生了什么的解释。

      

    ORA-12406:未经授权的SQL语句   for policy string原因:策略   没有授权数据库会话   执行请求的SQL   声明。操作:授予用户或   计划单位必要的政策   特权或额外的   授权....

1 个答案:

答案 0 :(得分:0)

从您的描述和测试中可以看出,SA_COMPONENTS和SA_LABEL_ADMIN包正在参与事务(即它们在作为Label Security体系结构一部分的系统表中插入或更新信息但不提交)并且此信息需要是在应用程序表插入之前提交。