Antwort
von
nach 4 Stunden
0
hilfreich
Re: tablespaces
Hi!
Gibt es ein View der zeigt wie Voll sind mein Tablespaces?
Natürlich gibt es die bzw. sind es mehrere, allerdings nicht direkt die Werte der Tablespaces, sonderen dessen Objekte:
sys.dba_segments und/oder sys.dba_data_files usw.
Ein schönes Beispiel wäre das hier (irgendwo gefunden, nur kopiert, ohne es auszuprobieren - aber sowas ähnliches hab ich schon mal gemacht, und es sah ungefähr auch so aus):
select (select decode(extent_management,'LOCAL','*',' ') ||
decode(segment_space_management,'AUTO','a ','m ')
from dba_tablespaces where tablespace_name = b.tablespace_name) ||
nvl(b.tablespace_name,
nvl(a.tablespace_name,'UNKOWN')) name,
kbytes_alloc kbytes,
kbytes_alloc-nvl(kbytes_free,0) used,
nvl(kbytes_free,0) free,
((kbytes_alloc-nvl(kbytes_free,0))/
kbytes_alloc)*100 pct_used,
nvl(largest,0) largest,
nvl(kbytes_max,kbytes_alloc) Max_Size,
decode( kbytes_max, 0, 0, (kbytes_alloc/kbytes_max)*100) pct_max_used
from ( select sum(bytes)/1024 Kbytes_free,
max(bytes)/1024 largest,
tablespace_name
from sys.dba_free_space
group by tablespace_name ) a,
( select sum(bytes)/1024 Kbytes_alloc,
sum(maxbytes)/1024 Kbytes_max,
tablespace_name
from sys.dba_data_files
group by tablespace_name
union all
select sum(bytes)/1024 Kbytes_alloc,
sum(maxbytes)/1024 Kbytes_max,
tablespace_name
from sys.dba_temp_files
group by tablespace_name )b
where a.tablespace_name (+) = b.tablespace_name
order by 1
Grüße,
Tomh
PS: Natürlich benötigst Du die Berechtigungen für das Repository.
PPS: Die Größe der Tablespaces sollten eigentlich schon bei der Anlage entsprechend gewählt werden - Vergrößern im Nachhinein ist mehr eine Krücke als "schöne" Administration.