ITPub博客

首页 > 数据库 > 数据库开发技术 > 怎么给普通用户付给权限,让它能读取v$session表

怎么给普通用户付给权限,让它能读取v$session表

数据库开发技术 作者:聂风520 时间:2016-08-30 17:29:39 0 删除 编辑

授权时要授合适的权限,像SELECT ANY DICTIONARY 及select_catalog_role这样的权限都过大。
如果只针对v$session这个视图建议用:

quote:


最初由 cjf107 发布

3
、授予select on sys.v_$session权限,并在该用户下创建对sys.v_$session的私有同义词。



eg:

代码:



SQL
> connect hr/hr


Connected
.

SQL> select * from v$session;

select * from v$session


*

ERROR at line 1:

ORA-00942: table or view does not exist






SQL
> connect / as sysdba


Connected
.

SQL> grant select on v_$session to hr;



Grant succeeded.



SQL> connect hr/hr


Connected
.

SQL> create synonym v$session for sys.v_$session;



Synonym created.



SQL> select count(*) from v$session;




COUNT(*)


----------

1、授予SELECT ANY DICTIONARY权限(对所有字典表和视图);

2、授予该用户select on sys.v_$session权限,并使用有权限用户对v$session创建公共同义词(如授予public select on sys.v_$session权限,则是对所有用户);

3、授予select on sys.v_$session权限,并在该用户下创建对sys.v_$session的私有同义词(对该用户,也对该视图)。

v$session 是 v_$session 的别名

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27105033/viewspace-2124224/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-08-21

  • 博文量
    10
  • 访问量
    17078