The V$SESSION data dictionary view also contains session information from the SYS.V_$SESSION system table for the current session
从题中错误看出,SMITH 用户没有访问数据字典v$session的权限,两种解决方法,一是给他访问v$session的权限,二是在v$session建立视图,并授权让SMITH 可以查看
sys@TEST1107> conn abc/abc
Connected.
abc@TEST1107> select * from v$session;
select * from v$session
*
ERROR at line 1:
ORA-00942: table or view does not exist
abc@TEST1107> conn /as sysdba
Connected.
sys@TEST1107> grant select on v$session to abc;
grant select on v$session to abc
*
ERROR at line 1:
ORA-02030: can only select from fixed tables/views
sys@TEST1107> grant select on v_$session to abc;
Grant succeeded.
sys@TEST1107> conn abc/abc
Connected.
abc@TEST1107> select count(*) from v$session;
COUNT(*)
----------
43
此处需注意,给的是select on v_$session而不是select on v$session权限。
从题中错误看出,SMITH 用户没有访问数据字典v$session的权限,两种解决方法,一是给他访问v$session的权限,二是在v$session建立视图,并授权让SMITH 可以查看
sys@TEST1107> conn abc/abc
Connected.
abc@TEST1107> select * from v$session;
select * from v$session
*
ERROR at line 1:
ORA-00942: table or view does not exist
abc@TEST1107> conn /as sysdba
Connected.
sys@TEST1107> grant select on v$session to abc;
grant select on v$session to abc
*
ERROR at line 1:
ORA-02030: can only select from fixed tables/views
sys@TEST1107> grant select on v_$session to abc;
Grant succeeded.
sys@TEST1107> conn abc/abc
Connected.
abc@TEST1107> select count(*) from v$session;
COUNT(*)
----------
43
此处需注意,给的是select on v_$session而不是select on v$session权限。