DECLARE
v_tablespace_name varchar2(30);
v_alloc_size number;
v_used_size number;
CURSOR cGetTablespace IS select distinct tablespace_name from dba_tablespaces
where tablespace_name in ('SBL_EIM_DAT','SBL_EIM_IDX','TM_BATCHINT_DAT', 'TM_BATCHINT_IDX','TM_SBYBATCH_DAT', 'TM_SBYBATCH_IDX','TM_FTR_DAT','TM_FTR_IDX');
CURSOR cGetAllocspace IS select sum(bytes) from dba_data_files where tablespace_name = v_tablespace_name group by tablespace_name;
CURSOR cGetUsedspace IS select sum(bytes) from dba_extents where tablespace_name = v_tablespace_name group by tablespace_name;
BEGIN
IF cGetTablespace%ISOPEN = TRUE THEN
CLOSE cGetTablespace;
END IF;
OPEN cGetTablespace;
LOOP
FETCH cGetTablespace INTO v_tablespace_name;
EXIT WHEN cGetTablespace%NOTFOUND;
OPEN cGetAllocspace;
LOOP
FETCH cGetAllocspace INTO v_alloc_size;
EXIT WHEN cGetAllocspace%NOTFOUND;
END LOOP;
CLOSE cGetAllocspace;
OPEN cGetUsedspace;
LOOP
FETCH cGetUsedspace INTO v_used_size;
EXIT WHEN cGetUsedspace%NOTFOUND;
END LOOP;
CLOSE cGetUsedspace;
DBMS_OUTPUT.PUT_LINE(v_tablespace_name || ': ' || upper(round((v_used_size)/v_alloc_size*100)) || '% used! (' ||round(v_used_size/1024/1024) || '/' || round(v_alloc_size/1024/1024) || 'MB)');
END LOOP;
IF cGetTablespace%ISOPEN = TRUE THEN
CLOSE cGetTablespace;
END IF;
END;
Query for Database Utilization
Subscribe to:
Post Comments (Atom)
Find It
Category
- Excel Tutorial (1)
- Javascript Tutorial (1)
- OracleTutorial (2)
- Unix Tutorial (13)
0 comments:
Post a Comment