3

我正在尝试执行此查询并且没有返回任何内容,告诉我该表不存在

SELECT * FROM dba_object WHERE object_name LIKE 'v$*'
4

3 回答 3

4

该表以DBA_OBJECTS复数形式命名:http: //docs.oracle.com/cd/B12037_01/server.101/b10755/statviews_2243.htm

并且该*标志应替换为%

SELECT * FROM dba_objects WHERE object_name LIKE 'V$%'
于 2013-10-27T10:54:12.567 回答
4

上面的两个答案都是正确的,但是也有可能是权限问题。如果您以无权访问此表的用户身份登录,则会给出表不存在错误。

您可以检查您当前的用户是否具有以下访问权限(用适当的登录用户替换用户名)...

SELECT * FROM USER_TAB_PRIVS where table_name = 'DBA_OBJECTS' and GRANTEE = 'username';

如果您没有权限,则需要以 SYS 身份登录并授予此表的权限或与您的 DBA 交谈以完成此操作。

于 2013-10-27T22:03:38.880 回答
1

Oracle 区分大小写。V您可能应该在LIKE子句中使用大写字母并更改*%

SELECT * FROM dba_objects WHERE object_name LIKE 'V$%'

正确的目录视图名称也是dba_objects.

于 2013-10-27T10:48:18.447 回答