-1

I have an OracleAQ multiconsumer queue owned by schema A. As explained in the Oracle doc, there are some views (schema.aq$table_name*) to check the status of the queue table.

I can query these views from another schema through plain SQL or PL/SQL code, but not if this code is wrapped inside a package. The package body refuses to compile with a ORA-00942: table or view does not exist

The second schema has all the necessary rights since I can actually query the view from outside the package.

4

1 回答 1

0

我成功执行了以下操作:

  1. 在模式 A 中创建 AQ 表(称为 MY_Q)
  2. 将架构 B 的“选择”权限授予视图 AQ$MY_Q
  3. 在模式 B 中创建包(称为 Q_PKG),从 AQ$MY_Q 中选择记录
  4. 在模式 B 中执行 Q_PKG

不确定(没有看到您的架构信息)是否有另一个优先级更高的 priv 限制您的 AQ 视图被读取。这个stackoverflow 帖子显示了一些关于“显示”用户权限的信息。

于 2013-11-25T16:38:07.923 回答