我有3个Oracle用户A,B,C并希望使用B(作为中间)将表从C导入到A.当连接到B时,我可以运行“从T1创建表A.T1作为select * @C”。但是当我将sql语句放入B创建/拥有的过程中时,我不断获得“ORA-01031:权限不足”。作为sysdba,我已将所有权利(dba)授予B.所以我在这里缺少什么?谢谢。
答案 0 :(得分:5)
在definer的权限存储过程(默认)中,唯一可用的权限是直接授予用户的权限,而不是那些通过角色授予的权限(如DBA)。所以Pablo是正确的,B需要将CREATE ANY TABLE特权作为直接授权。
答案 1 :(得分:2)
您是否已将以下内容授予用户B
?
sql> grant create any table to b;