授权时要授合适的权限,像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/ ,如需转载,请注明出处,否则将追究法律责任。