2017-07-27 130 views

回答

0

的DBA_ *視圖的數據字典的一部分,它存在於每個Oracle數據庫。它們位於sys架構中,如果您無法查詢它們,則可能只是表示您沒有SELECT訪問權限。

如果要檢查的表位於您的架構中,則可以替換dba_extents與user_extents和查詢應該工作。

這裏是我的建議爲一個腳本來告訴表的大小在模式(包括索引):

select segment_name, segment_type, bytes/1024/1024 as size_in_mb 
from user_segments 
where segment_name = :YOUR_TABLE 
    or segment_name in (select segment_name from user_lobs where table_name = :YOUR_TABLE) 
    or segment_name in (select index_name from user_indexes where table_name = :YOUR_TABLE); 
3

DBA_*觀點是"Static Data Dictionary Views"的一部分,通常有三個版本每個視圖中,DBA_顯示所有內容,ALL_顯示您有權訪問的內容,USER_顯示您擁有的內容,並且不顯示OWNER列。

例如DBA_TABLES包含所有表格,ALL_TABLES是您可以從中選擇的表格,USER_TABLES是您擁有的表格。

該意見記錄在"Static Data Dictionary Views"。如果您需要從DBA_轉換爲ALL_USER_,這是一個很好的資源。

不幸的是_EXTENTS只能進入DBA和USER版本。因此,如果想要獲取可以訪問但不擁有的對象的信息,則需要向您的常駐DBA尋求幫助。

相關問題