所以我作为管理员(系统)连接到Oracle XE 11g。我创建了一个新用户Bob,并希望在某个表上只授予他某些特权。这个表是由另一个普通用户Jim创建的。
当我尝试授予时,我被告知“表或视图”不存在“?如果我以Jim的身份登录该表存在,但作为系统我似乎无法访问由Jim创建的表。
我在这里错过了什么吗?
答案 0 :(得分:2)
确保在授权DDL中指定schemaname,否则它将首先查看表的系统架构,并且无法查找同义词来解析表名。
即
SQL> connect system/@oracle11203
Connected.
SQL> grant select on TESTTAB to TEST2;
grant select on TESTTAB to TEST2
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> grant select on TEST.TESTTAB to TEST2;
Grant succeeded.
SQL>