Oracle

sys.dba_tables 中不顯示表是否有任何原因?(甲骨文)

  • November 9, 2019

我有 2 個查詢

SELECT *
FROM sys.dba_indexes
WHERE Table_Name = 'XDB$RESOURCE'

SELECT *
FROM sys.dba_tables 
WHERE Table_Name = 'XDB$RESOURCE'

表格不顯示的原因有sys.dba_tables哪些?據我閱讀,所有表格都應在此處顯示,因此我使用它而不是all_tables.

Oracle中的索引可以針對已刪除的表嗎?

sys.dba_tables 是否顯示與您擁有的訪問權限相關的數據,如果是,是否有任何表只帶回一半數據?

對 Oracle 來說相對較新,任何解釋或建議都值得讚賞。

你說的對。XDB$RESOURCE不在DBA_TABLES。它在 中DBA_OBJECT_TABLES,因為它是一個對象表。

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

sys.dba_tables 是否顯示與您擁有的訪問權限相關的數據…

不可以。DBA_ 視圖只能由根據定義有權訪問的數據庫管理員訪問

$$ pretty much $$ 一切

oracle中的索引可以針對已刪除的表嗎?

是的。預設情況下,刪除的表首先進入資源回收筒(基本上它會被重命名)並且只會從那裡正確刪除,因此附加到原始表的任何索引都會隨之進入資源回收筒。

為什麼這個沒有出現在 DBA_TABLES 中?

不知道,我很抱歉地說。

引用自:https://dba.stackexchange.com/questions/252643