2026-03-12 20:23:15
This commit is contained in:
141
vg/tbs_file.sql
Normal file
141
vg/tbs_file.sql
Normal file
@@ -0,0 +1,141 @@
|
||||
@@header
|
||||
|
||||
/*
|
||||
*
|
||||
* Author : Vishal Gupta
|
||||
* Purpose : Display datafile usage information
|
||||
* Parameters : 1 - Tablespace Name (Use '%' as wildcard, Default is %)
|
||||
* 2 - File ID (Use '%' as wildcard, Default is %)
|
||||
* 3 - File Name (Use '%' as wildcard, Default is %)
|
||||
*
|
||||
* Revision History:
|
||||
* ===================
|
||||
* Date Author Description
|
||||
* --------- ------------ -----------------------------------------
|
||||
* 06-Jan-16 Vishal Gupta Increase file_name column width
|
||||
* 06-Jul-15 Vishal Gupta Upper case input tablespace_name parameter value
|
||||
* 08-Apr-13 Vishal Gupta Fixed increment_by column calculation to multiply
|
||||
* number of blocks by tablespace blocks size.
|
||||
* 05-Aug-04 Vishal Gupta Added file_id as input parameter
|
||||
* 05-Aug-04 Vishal Gupta Created
|
||||
*/
|
||||
|
||||
|
||||
/************************************
|
||||
* INPUT PARAMETERS
|
||||
************************************/
|
||||
UNDEFINE tablespace_name
|
||||
UNDEFINE file_id
|
||||
|
||||
DEFINE tablespace_name="&&1"
|
||||
DEFINE file_id="&&2"
|
||||
DEFINE file_name="&&3"
|
||||
|
||||
set term off
|
||||
COLUMN _TABLESPACE_NAME NEW_VALUE TABLESPACE_NAME NOPRINT
|
||||
COLUMN _file_id NEW_VALUE file_id NOPRINT
|
||||
COLUMN _file_name NEW_VALUE file_name NOPRINT
|
||||
SELECT UPPER(DECODE('&&TABLESPACE_NAME','','%','&&TABLESPACE_NAME')) "_TABLESPACE_NAME"
|
||||
, DECODE('&&file_id','','%','&&file_id') "_file_id"
|
||||
, DECODE('&&file_name','','%','&&file_name') "_file_name"
|
||||
FROM DUAL
|
||||
;
|
||||
|
||||
set term on
|
||||
|
||||
PROMPT *******************************************
|
||||
PROMPT F I L E S U S A G E R E P O R T
|
||||
PROMPT
|
||||
PROMPT Input Parameters
|
||||
PROMPT Tablespace Name = '&&tablespace_name'
|
||||
PROMPT File Id = '&&file_id'
|
||||
PROMPT File Name = '&&file_name'
|
||||
PROMPT *******************************************
|
||||
|
||||
COLUMN tablespace FORMAT a22
|
||||
COLUMN alloc HEADING "Alloc|MB" FORMAT 9,999,999
|
||||
COLUMN maxsize HEADING "MaxSize|MB" FORMAT 999,999
|
||||
COLUMN hwm HEADING "HWM|MB" FORMAT 999,999
|
||||
COLUMN used HEADING "Used|MB" FORMAT 999,999
|
||||
COLUMN free HEADING "Free|MB" FORMAT 999,999
|
||||
COLUMN freeable HEADING "FreeAble|MB" FORMAT 999,999
|
||||
COLUMN initial_extent HEADING "InitExt|MB" FORMAT 9,999
|
||||
COLUMN increment_by HEADING "IncBy|MB" FORMAT 9,999
|
||||
COLUMN min_extents HEADING "MinExts" FORMAT 999
|
||||
COLUMN max_extents HEADING "MaxExts" FORMAT 99,999
|
||||
COLUMN pct_increase HEADING "%Inc" FORMAT 999
|
||||
COLUMN file_id HEADING "F#" FORMAT 9999
|
||||
COLUMN file_name HEADING "Datafile name" FORMAT a95
|
||||
|
||||
BREAK ON report
|
||||
COMPUTE SUM LABEL 'Total' OF alloc FORMAT 99,999 ON report
|
||||
COMPUTE SUM LABEL 'Total' OF used FORMAT 99,999 ON report
|
||||
COMPUTE SUM LABEL 'Total' OF hwm FORMAT 99,999 ON report
|
||||
COMPUTE SUM LABEL 'Total' OF free FORMAT 99,999 ON report
|
||||
COMPUTE SUM LABEL 'Total' OF freeable FORMAT 99,999 ON report
|
||||
|
||||
|
||||
select /*+ CHOOSE */ * from
|
||||
(
|
||||
Select /*+ CHOOSE */ t.tablespace_name
|
||||
, d.status "Status"
|
||||
, GREATEST(d.maxbytes,d.bytes)/1024/1024 maxsize
|
||||
, d.bytes/1024/1024 alloc
|
||||
, NVL((hwm.bytes)/1024/1024,0) HWM
|
||||
, ROUND((d.bytes - NVL(f.bytes,0))/1024/1024,2) used
|
||||
, ROUND(decode(f.bytes, NULL,0, f.bytes)/1024/1024,2) free
|
||||
, ROUND( (d.bytes - GREATEST( NVL(hwm.bytes,0), (d.bytes - NVL(f.bytes,0)) ) ) /1024/1024,2) freeable
|
||||
, d.INCREMENT_BY * t.block_size/1024/1024 Increment_by
|
||||
, t.pct_increase pct_increase
|
||||
, d.file_id
|
||||
, SUBSTR(d.file_name,1,80) file_name
|
||||
FROM DBA_DATA_FILES d , DBA_TABLESPACES t
|
||||
, (SELECT /*+ CHOOSE */ tablespace_name
|
||||
, file_id
|
||||
, sum(bytes) bytes
|
||||
FROM DBA_FREE_SPACE f
|
||||
WHERE tablespace_name LIKE '&&tablespace_name'
|
||||
AND file_id LIKE '&&file_id'
|
||||
GROUP BY tablespace_name, file_id) f
|
||||
, (Select /*+ CHOOSE */ file_id,
|
||||
NVL( max((block_id + blocks - 1 ) * p.value),0) bytes
|
||||
from dba_extents
|
||||
, v$system_parameter p
|
||||
WHERE tablespace_name LIKE '&&tablespace_name'
|
||||
AND p.name = 'db_block_size'
|
||||
AND file_id LIKE '&&file_id'
|
||||
GROUP BY file_id
|
||||
) hwm
|
||||
WHERE t.tablespace_name = d.tablespace_name
|
||||
AND f.tablespace_name(+) = d.tablespace_name
|
||||
AND f.file_id(+) = d.file_id
|
||||
AND hwm.file_id(+) = d.file_id
|
||||
AND d.tablespace_name LIKE '&&tablespace_name'
|
||||
AND d.file_id LIKE '&&file_id'
|
||||
AND d.file_name LIKE '&&file_name'
|
||||
UNION ALL
|
||||
SELECT /*+ CHOOSE */ tf.tablespace_name
|
||||
, tf.status
|
||||
, GREATEST(tf.maxbytes,tf.bytes)/1024/1024 maxsize
|
||||
, (tf.bytes/1024/1024) alloc
|
||||
, (tf.bytes/1024/1024) HWM
|
||||
, ROUND(ts.bytes_used/1024/1024) used
|
||||
, ROUND(ts.bytes_free/1024/1024) free
|
||||
, ROUND((tf.bytes - tf.bytes)/1024/1024,2) freeable
|
||||
, tf.INCREMENT_BY * t.block_size/1024/1024 Increment_by
|
||||
, 0 pct_increase
|
||||
, tf.file_id
|
||||
, SUBSTR(tf.file_name,1,80) file_name
|
||||
FROM dba_temp_files tf, V$TEMP_SPACE_HEADER ts, dba_tablespaces t
|
||||
WHERE ts.tablespace_name = t.tablespace_name
|
||||
AND ts.file_id = tf.file_id
|
||||
and ts.tablespace_name LIKE '&&tablespace_name'
|
||||
AND tf.file_id LIKE '&&file_id'
|
||||
AND tf.file_name LIKE '&&file_name'
|
||||
) c
|
||||
ORDER BY c.tablespace_name,c.file_id asc;
|
||||
|
||||
|
||||
|
||||
@@footer
|
||||
|
||||
Reference in New Issue
Block a user