所以我以管理员(系统)的身份连接到 Oracle XE 11g。我创建了一个新用户 Bob,并希望在某个表上只授予他某些特权。记下的表是由另一个普通用户 Jim 创建的。
当我尝试授权时,我被告知“表或视图”不存在”?如果我以 Jim 身份登录,则该表存在,但作为系统,我似乎无法访问 Jim 创建的表。
我在这里错过了什么吗?
所以我以管理员(系统)的身份连接到 Oracle XE 11g。我创建了一个新用户 Bob,并希望在某个表上只授予他某些特权。记下的表是由另一个普通用户 Jim 创建的。
当我尝试授权时,我被告知“表或视图”不存在”?如果我以 Jim 身份登录,则该表存在,但作为系统,我似乎无法访问 Jim 创建的表。
我在这里错过了什么吗?
请务必在授权 DDL 中指定模式名,否则它将首先在系统模式中查找表,如果失败则查找同义词来解析表名。
IE
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>