Tabellengrößen ermitteln
Sie möchte die Größe einer Tabelle oder auch aller Tabellen eines Datenbankschemas ermitteln? Das folgende SQL-Skript zeigt Anzahl belegter Datenbankblöcke sowie die Tabellengröße an:
ORACLE SQL: Tabellengröße ermitteln
PROMPT Bitte geben Sie den Schema-Namen ein. ACCEPT schema PROMPT 'Für alle Schemata einfach Enter druecken: ' SET LINES 140 SET TRIMOUT ON SET TRIMSPOOL ON SET VERIFY OFF COLUMN OWNER FORMAT A30 COLUMN TABLE FORMAT A30 COLUMN TABLESPACE FORMAT A20 SELECT "OWNER" , "TABLE" , "DB Blocks" , ROUND(DECODE(SIGN("Size"/1048576 -1 ) , -1 , DECODE(SIGN("Size"/1024 -1) , -1, "Size" , "Size"/1024) , "Size"/1048576) ,2) "SIZE" , DECODE(SIGN("Size"/1048576 -1 ) , -1, DECODE(SIGN("Size"/1024 -1) ,-1 ,' Byte' , ' Kb') , ' Mb') " " , "TABLESPACE" FROM (SELECT owner "OWNER" , segment_name "TABLE" , SUM(BYTES) "Size" , blocks "DB Blocks" , tablespace_name "TABLESPACE" FROM DBA_SEGMENTS WHERE segment_type = 'TABLE' AND DECODE('&&schema', NULL,'X', OWNER) = DECODE('&&schema',NULL,'X',UPPER('&&schema')) AND OWNER NOT IN ('SYS' , 'SYSTEM') GROUP BY owner, segment_name, tablespace_name, blocks ORDER BY owner, segment_name) ;

Stefan Ausmann
info
held-informatik
de