37 lines
1.5 KiB
SQL
37 lines
1.5 KiB
SQL
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
|
|
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
|
|
|
|
-------------------------------------------------------------------------------------------
|
|
-- SCRIPT: DF.SQL
|
|
-- PURPOSE: Show Oracle tablespace free space in Unix df style
|
|
-- AUTHOR: Tanel Poder [ http://www.tanelpoder.com ]
|
|
-- DATE: 2003-05-01
|
|
-------------------------------------------------------------------------------------------
|
|
|
|
col "% Used" for a6
|
|
col "Used" for a22
|
|
|
|
select t.tablespace_name, t.gb "TotalGB", t.gb - nvl(f.gb,0) "UsedGB", nvl(f.gb,0) "FreeGB"
|
|
,lpad(ceil((1-nvl(f.gb,0)/decode(t.gb,0,1,t.gb))*100)||'%', 6) "% Used", t.ext "Ext",
|
|
'|'||rpad(nvl(lpad('#',ceil((1-nvl(f.gb,0)/decode(t.gb,0,1,t.gb))*20),'#'),' '),20,' ')||'|' "Used"
|
|
from (
|
|
select tablespace_name, trunc(sum(bytes)/(1024*1024*1024)) gb
|
|
from dba_free_space
|
|
group by tablespace_name
|
|
union all
|
|
select tablespace_name, trunc(sum(bytes_free)/(1024*1024*1024)) gb
|
|
from v$temp_space_header
|
|
group by tablespace_name
|
|
) f, (
|
|
select tablespace_name, trunc(sum(bytes)/(1024*1024*1024)) gb, max(autoextensible) ext
|
|
from dba_data_files
|
|
group by tablespace_name
|
|
union all
|
|
select tablespace_name, trunc(sum(bytes)/(1024*1024*1024)) gb, max(autoextensible) ext
|
|
from dba_temp_files
|
|
group by tablespace_name
|
|
) t
|
|
where t.tablespace_name = f.tablespace_name (+)
|
|
order by t.tablespace_name;
|
|
|