我有一个带有创建表的过程的 oracle 包,而不是它授予权限。
代码与此类似:
Begin
Execute immediate 'create table SU.temp_tbl...';
...
...
Dbms_stats.gather_table_stats('SU', 'TEMP_TBL');
End;
该过程的所有者是具有 DBA 角色的用户。
这个角色有
创建任何表权限
如
分析任何表权限
那么为什么当我运行这个过程时,我在收集表命令上得到一个“无特权”异常,但“创建”刚刚执行好?
解决方案是什么?我是否需要 SU 用户向 DBA 授予显式分析权限?
我正在使用 oracle 11g 版本。
谢谢。