sys.dba_tables 中不显示表的原因有哪些?(甲骨文)

Rua*_*man 1 index oracle table

我有 2 个查询

 SELECT *
 FROM sys.dba_indexes
 WHERE Table_Name = 'XDB$RESOURCE'
Run Code Online (Sandbox Code Playgroud)

 SELECT *
 FROM sys.dba_tables 
 WHERE Table_Name = 'XDB$RESOURCE'
Run Code Online (Sandbox Code Playgroud)

是否有任何原因导致表格不显示sys.dba_tables?据我所知,所有表格都应该显示在这里,因此为什么我使用这个而不是all_tables.

Oracle 中的索引可以针对已删除的表吗?

sys.dba_tables 是否显示与您拥有的访问权限相关的数据,如果是,是否有任何表只带回一半的数据?

Oracle 相对较新,任何解释或建议表示赞赏。

Alb*_*ind 5

你是对的。XDB$RESOURCE不在DBA_TABLES. 它在 中DBA_OBJECT_TABLES,因为它是一个对象表。

对象表列在 {DBA,ALL,USER}_OBJECT_TABLES 中。所有常规(非对象)表都在 {DBA,ALL,USER}_TABLES 中。