在Oracle 10g中授予权限

时间:2015-02-21 15:29:04

标签: database oracle

我是数据库新手。在这里,我已登录用户帐户:System

然后我使用以下命令

创建一个新用户raj
create user raj identified by raj

然后我使用以下命令连接到用户raj

grant connect to raj

这里我将表client_master授予raj

的权限
grant all on client_master to raj

现在我想选择表client_master

的内容
select * from raj.client_master 

但是它给出了一个错误,即这个表不存在。

2 个答案:

答案 0 :(得分:0)

在谷歌上进行快速搜索,您会发现选择权就像选择一样简单。

grant select on client_master to raj;

但是,这不是真正的问题,因为执行此命令时grant all on client_master to raj已包含选择权限。

以下是您收到此错误的可能性:

  • 该表不存在(您需要创建它)。
  • 它位于另一个架构中,您没有指定它。
  • 您在撰写 client_master 时发了错字。

我的猜测是你在sys模式中创建了表(这实际上是一个坏主意)所以问题是我列出的那个选项2。

尝试

select * from sys.client_master;

请注意,如果您不想始终指定前缀,则可以创建同义词。

create synonym raj.client_master for sys.client_master;

然后

select * from client_master;

会工作。

答案 1 :(得分:-1)

尝试在命令下运行 -

  

对史蒂夫的Find_Value执行GRANT EXECUTE;

这可以帮助您解决问题。

相关问题