統計Oracle資料庫使用者所有表的大小

2021-09-11 05:50:38 字數 972 閱讀 7975

統計oracle資料庫使用者所有表的大小

2023年03月13日 10:47:07 u013012406 閱讀數:3503

統計oracle資料庫使用者所有表的大小

select owner as 「使用者名稱」, sum(bytes) / 1024 / 1024 / 1024 as 「所有表的大小(gb)」

from dba_segments

where segment_name in (select t2.object_name

from dba_objects t2

where t2.object_type = 『table』)

group by owner order by 2 desc;

經過測試發現,從dba_extents中統計出來的大小和dba_segments一樣:

select owner as 「使用者名稱」, sum(bytes) / 1024 / 1024 / 1024 as 「所有表的大小(gb)」

from dba_extents

where segment_name in (select t2.object_name

from dba_objects t2

where t2.object_type = 『table』)

group by owner order by 2 desc;

在metalink上搜尋到如下資料: doc id: note:463101.1

how to discover and fix the mistmatch between dba_segments and dba_extents dictionary views

裡面講到當dml/ddl操作(parallel index creation, frequent deletes/inserts)會導致這種不一致,

導致dba_segments中的不正確, 所以dba_extents中記錄的分配給段的空間值才是可信的值。

出處:

統計Oracle資料庫使用者所有表的大小

統計oracle資料庫使用者所有表的大小 select owner as 使用者名稱 sum bytes 1024 1024 1024 as 所有表的大小 gb 經過測試發現,從dba extents中統計出來的大小和dba segments一樣 select owner as 使用者名稱 sum ...

oracle查詢資料庫所有使用者資訊

看到網上說的查詢使用者的語句 select from dba users 這句好像只能系統管理員才能成功執行,普通使用者無法執行 select count from all users select from user users 普通使用者和系統管理員均可執行 原打算刪除建立的乙個測試使用者,發現...

oracle資料庫統計資訊

exec dbms stats.gather schema stats ownname cbs options gather auto estimate percent dbms stats.auto sample size,method opt for all indexed columns de...