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
alter table object_test enable row movement;
ALTER TABLE audit_document modify LOB (CONTENT) (SHRINK SPACE);
Alter table audit_document shrink space compact;
ALTER DATABASE DATAFILE '../oraclexe/oradata/xe/IMEDDT_DAT’
RESIZE 1000M;
ALTER DATABASE DATAFILE '../oraclexe/oradata/xe/IMEDDT_LOB’
RESIZE 200M;
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ę