除了创建会话之外,无法在oracle 11gR2中为用户授予任何权限

时间:2013-12-07 12:57:14

标签: sql database oracle oracle11g oracle11gr2

我正在使用oracle数据库11g第2版 我能够创建用户并为其创建会话权限,但我无法给它选择权限。

create user user1 identified by pass;
User created.
grant create session to user1;
Grant succeeded.
grant select on emp to user1;
Grant succeeded.

在此之后我以user1连接 现在当我运行这个陈述时,它说

select * from emp;

oracle reply =

ERROR at line 1:
ORA-00942: table or view does not exist

我使用

检查了对user1的权限
select * from session_privs;
PRIVILEGE
---------------------------------
CREATE SESSION

这意味着user1只能使用创建会话权限。如何为user1提供select权限?

1 个答案:

答案 0 :(得分:2)

使用SELECT权限(或任何其他权限)不会创建同义词。如user1表的所有者,您仍应使用所有者以完全限定名称引用该表。 假设所有者被称为owner1user1的查询应为:

SELECT * FROM owner1.emp

对于数据字典查询,这也是预期的。这些权限记录在[DBA|ALL|USER]_TAB_PRIVS视图中:

SELECT * FROM all_tab_privs WHERE grantee = 'USER1'