2013-02-17 39 views
3

表V $参数我想用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

如果您没有所需的权限,仍可以使用dbms_utility.get_parameter_value读取参数值。请参阅以下网址的说明和示例:http://oraclequirks.blogspot.com/2007/10/dbmsutilitygetparametervalue.html – 2014-11-03 17:03:05

回答

4

通常情况下,更好的方法是使用一个过程并为此过程授予必要的权限。但是,如果您想直接使用SQL,则可以向用户授予SELECT_CATALOG_ROLESELECT ANY DICTIONARY

3

也许吧。要授予这些权利,您需要使用表格名称V_$PARAMETER。它在授予动态视图权限时受到一些限制。

+0

我按照您的建议更改了表的名称,但我又收到相同的错误消息。 – 2013-02-17 18:52:46

+0

@PeterPenzov:您不需要更改名称,您需要**授予** plouf提到的表上的权限。 – 2013-02-17 19:28:27

+0

这样做的正确方法是什么? – 2013-02-17 19:50:53

-2

使用权限: - 选择任何表运行批在Oracle 12c中以SYSDBA SYS当解决这个问题对我来说改变任何表

+0

这是非常危险的,因为它提供的资源超过了必要的数量。 – 2017-05-05 22:49:11