我看不到表 dba_object

Ram*_*esa 3 oracle oracle10g oracle11g

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

SELECT * FROM dba_object WHERE object_name LIKE 'v$*'
Run Code Online (Sandbox Code Playgroud)

Mur*_*nik 5

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

并且该*标志应替换为%

SELECT * FROM dba_objects WHERE object_name LIKE 'V$%'
Run Code Online (Sandbox Code Playgroud)


小智 5

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

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

SELECT * FROM USER_TAB_PRIVS where table_name = 'DBA_OBJECTS' and GRANTEE = 'username';
Run Code Online (Sandbox Code Playgroud)

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