środa, 20 maja 2015

Obcinanie SHRINK

W przypadku gdy przekroczymy rozmiar bazy

Zapytanie informujące o obiektach takich jak tabele i loby zajmujące najwięcej miejsca w bazie
Logujemy się  na użytkownika SYS i wykonujemy


select
segment_namena u,
a.bytes/1024/1024 Size_MB,
a.tablespace_name,
b.table_name,
column_name,
owner
from dba_segments a
left join dba_lobs b using (owner, segment_name)
where a.tablespace_name like 'IMED%' order by a.bytes desc

wybieramy obiekt

Dla object_test np.

alter table object_test enable row movement;
ALTER TABLE audit_document modify LOB (CONTENT) (SHRINK SPACE);
Alter table audit_document shrink space compact;


Po odzyskaniu miejsca możemy spróbować zmniejszyć pliki bazy danych  odpowiednią wartość próbujemy dobrać na podstawie tego zajętości plików
 
Na użytkowniku SYS np.

ALTER DATABASE DATAFILE '../oraclexe/oradata/xe/IMEDDT_DAT’
RESIZE 1000M;
ALTER DATABASE DATAFILE '../oraclexe/oradata/xe/IMEDDT_LOB’
RESIZE 200M;

 
restartujemy bazę