[英]How to get name of owners, their object names and sizes of this object in one query?
我想檢查哪個用戶的對象是最大的。 所以我做了查詢給了我每個用戶的對象的總大小:
select
owner,
tablespace_name,
round((sum(bytes)/1024/1024/1024),2) as size_in_gb,
(select round((sum(bytes)/1024/1024/1024),2) from v$datafile) as total_space_in_gb
from
dba_segments
where
owner like 'OPS$%'
group by
owner, tablespace_name
order by
size_in_gb desc
fetch first 55 rows only;
但它只給我有關特定用戶的所有對象的總大小的信息。 如何檢查每個用戶對象及其大小?
將segment_name
添加到您的select
列表和您的group by
select
segment_name,
owner,
tablespace_name,
round((sum(bytes)/1024/1024/1024),2) as size_in_gb,
(select round((sum(bytes)/1024/1024/1024),2) from v$datafile) as total_space_in_gb
from
dba_segments
where
owner like 'OPS$%'
group by
segment_name, owner, tablespace_name
order by
size_in_gb desc
fetch first 55 rows only;
但是,您的v$datafile
查詢在做什么並不明顯。 這是對每個數據文件的大小求和,而不僅僅是與OPS$
用戶擁有對象的表空間相關聯的那些。 產生有意義的數字並不明顯,更不用說您希望在結果的每一行上復制的數字。 但是,如果您在結果中獲得分段級別的數據,那么您希望在該列中獲得什么值並不明顯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.