在Oracle中找不到表v $参数

Pet*_*zov 4 sql oracle oracle11g

我想使用SQL查询获取Oracle中的会话数:

SELECT value FROM v$parameter WHERE name = 'sessions'
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

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:
Run Code Online (Sandbox Code Playgroud)

也许我使用的Oracle用户没有特权?

小智 6

大概.要授予权限,您需要使用表名作为V_$PARAMETER.它在授予动态视图权限时受到一些限制.

  • @PeterPenzov,您将以sys身份在v_ $ parameter上向您的用户运行“授予select”;其中“ youruser”是您要运行select as的用户的名称。 (2认同)

ste*_*eve 6

通常,更好的方法是使用过程并为此过程授予必要的权限.但是,如果要直接使用SQL,则可以授予SELECT_CATALOG_ROLE或授予SELECT ANY DICTIONARY用户.