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

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

授予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@]

用DBA用户登录OEM后,选择-->服务器-->用户-->选择你要赋予此权限的用户-->编辑-->系统权限-->编辑列表-->选择select any dictionary后左移 -->确定就可以了

也可以用DBA连接后 SQL语句:grant select any dictionary

to user;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11624738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存