我想使用SQL查询获取Oracle中的会话数:
SELECT value FROM v$parameter WHERE name = 'sessions'
但是我收到了这个错误:
Error starting at line 1 in command:
SELECT value FROM v$parameter WHERE name = 'sessions'
Error at Command Line:1 Column:18
Error report:
SQL Error: ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
也许我使用的Oracle用户没有特权?
答案 0 :(得分:6)
通常,更好的方法是使用过程并为此过程授予必要的权限。但是,如果您想直接使用SQL,则可以向用户授予SELECT_CATALOG_ROLE
或SELECT ANY DICTIONARY
。
答案 1 :(得分:5)
可能。要授予权限,您需要将表名用作V_$PARAMETER
。它在授予动态视图权限时受到一些限制。
答案 2 :(得分:-2)
使用权限: - 在运行授权时选择任何表,更改任何表,因为在Oracle 12c中使用SYSDBA的SYS解决了我的问题。