1
我想列出所有對象的名稱和大小(以kb爲單位),但我不知道如何去做。我可以參考一下嗎?sqlplus列表對象的名稱和大小以kb爲單位kb中的每個對象
我想列出所有對象的名稱和大小(以kb爲單位),但我不知道如何去做。我可以參考一下嗎?sqlplus列表對象的名稱和大小以kb爲單位kb中的每個對象
DBA_OBJECTS
數據字典視圖保存有關數據庫中所有對象的信息。 DBA_SEGMENTS
保存有關細分的信息(例如表格,索引,物化視圖等)。請參閱Oracle's documentation中的完整詳細信息。不支持段的對象只是存儲在Oracle內部表中的定義(例如,視圖不超過其文本所需的幾個字節的數據),因此它們可能安全地被忽略。
一旦我們確定了,它的外側連接兩個表的一個簡單的問題:
SELECT object_name, object_type, bytes/1024 AS KB
FROM dba_objects do
LEFT OUTER JOIN dba_segments ds on do.object_name = ds.segment_name
WHERE do.owner = 'BOOK'
注意,遺憾的是,該表中沒有ALL_SEGMENTS
變種,所以你必須使用一個用戶具有DBA_*
視圖的權限。或者,您可以使用要檢索數據的用戶登錄並使用USER_*
變體:
SELECT object_name, object_type, bytes/1024 AS KB
FROM user_objects uo
LEFT OUTER JOIN user_segments us on uo.object_name = us.segment_name
X/1024/1024給出MiByte,而不是K! –
@ Wernfried好,趕快,謝謝!不知道發生了什麼......修正了。 – Mureinik