|
set echo off
set feedback
off verify off pagesize 100 linesize 120
clear breaks
clear
computes
col
database_name noprint new_value db_name
col TODAY
noprint NEW_VALUE _DATE
set termout
off
select
to_char(SYSDATE,'fmMonth DD, YYYY HH24:MI:SS') TODAY from DUAL;
set termout on
TTITLE OFF
select name
database_name from v$database;
TTITLE left
_DATE CENTER "Tablespace used by " db_name " database"
Skip 1 -
CENTER
"-----------------------------------" skip 2
col
tablespace_name format a15 heading 'Tbsc|Name'
col
initial_extent_size format 99,99,999 heading 'Initial|Extent|in (KB)'
col
next_extent_size format 99,99,999 heading 'Next|Extent|in (KB)'
col
min_extents format 99 heading 'Min|Extent'
col
max_extents heading 'Max|Extent'
col status
format a8 heading 'Status'
col contents
format a9 heading 'Type'
col avail
format 99,99,990.90 heading 'Total Size|(in Gb)'
col free
format 99,99,990.90 heading 'Free |(in Gb)'
col used
format 99,99,990.90 heading 'Used |(in Gb)'
col
extent_management format a10 heading 'TYPE |(Extent |Mgmnt )'
SELECT
dts.tablespace_name,
initial_extent/1024
initial_extent_size,
next_extent/1024 next_extent_size,
NVL(ddf.bytes / 1024 / 1024 /1024, 0)
avail,
NVL(ddf.bytes - NVL(dfs.bytes, 0),
0)/1024/1024/1024 used,
NVL(dfs.bytes / 1024 / 1024/1024, 0)
free,
TO_CHAR(NVL((ddf.bytes -
NVL(dfs.bytes, 0)) / ddf.bytes * 100, 0), '990.00') "Used %",
dts.contents,
dts.extent_management,
dts.status
FROM
sys.dba_tablespaces dts,
(select tablespace_name, sum(bytes)
bytes
from dba_data_files group by
tablespace_name) ddf,
(select
tablespace_name, sum(bytes) bytes
from
dba_free_space group by tablespace_name) dfs
WHERE
dts.tablespace_name = ddf.tablespace_name(+)
AND
dts.tablespace_name = dfs.tablespace_name(+)
AND NOT (dts.extent_management
like 'LOCAL'
AND
dts.contents like 'TEMPORARY')
UNION ALL
SELECT
dts.tablespace_name,
initial_extent/1024 initial_extent_size,
next_extent/1024 next_extent_size,
NVL(dtf.bytes
/ 1024 / 1024 /1024, 0) avail,
NVL(t.bytes, 0)/1024/1024 /1024 used,
NVL(dtf.bytes - NVL(t.bytes, 0), 0)/1024/1024/1024 free,
TO_CHAR(NVL(t.bytes / dtf.bytes * 100,
0), '990.00') "Used %",
dts.contents,
dts.extent_management,
dts.status
FROM
sys.dba_tablespaces dts,
(select tablespace_name, sum(bytes) bytes
from
dba_temp_files group by tablespace_name) dtf,
(select
tablespace_name, sum(bytes_used) bytes
from v$temp_space_header group by tablespace_name) t
WHERE
dts.tablespace_name =
dtf.tablespace_name(+)
AND dts.tablespace_name =
t.tablespace_name(+)
AND dts.extent_management like
'LOCAL'
AND dts.contents like 'TEMPORARY';
set feedback
on
set verify on
clear breaks
clear
computes
clear columns
set pagesize
100
set echo on
set echo off
set linesize
999
set termout
off
|