Próbowałem uzyskać trochę więcej informacji na ten temat, ale pomyślałemPo prostu pytam ... Próbowałem wykonać obcinanie tabeli w Oracle 10g za pomocą pamięci dyskowej, jednak wyniki nie są całkowicie zgodne z oczekiwaniami.
Zasadniczo przedmiotowy stół miał ponad 30miliony rekordów i ponad 3 Gb przydzielone na to, ale jakoś przestrzeń przydzielona na to wydaje się być nadal używana. Czy istnieje sposób, aby rzeczywiście wykorzystać przydzieloną przestrzeń, czy mam na to zły pomysł?
=== EDYCJA ====
Mój błąd...Odnosiłem się do fizycznej przestrzeni dyskowej, jeśli chodzi o rozmiar pliku danych ... W tej chwili nasz eksport / kopia zapasowa wynosił około 13 GB, więc intencją było zmniejszenie rzeczywistego pliku w procesie obcinania danych podczas eksportu plik do kopii zapasowej.
Odpowiedzi:
1 dla odpowiedzi № 1Nie mów dokładnie tego, czego się spodziewałeśzdarza się, gdy obciąłeś stół. Pamiętaj, że jeśli usuniesz pamięć z tabeli / indeksu, to po prostu powróci ona do przestrzeni tabel jako wolna przestrzeń. Przestrzeń używana na dysku z perspektywy systemu operacyjnego nie będzie mniejsza. Podczas gdy przestrzeń tabel może być ustawiona na „automatyczne przedłużanie”, gdy wymagana jest większa przestrzeń, nie zmniejsza się ona automatycznie, gdy przestrzeń jest zwolniona.
0 dla odpowiedzi nr 2
Jakiego rodzaju zarządzanie zasięgiem i zarządzanie segmentami jest używane?
select tablespace_name from user_segments
where segment_name = "T" ---T here would b your table name
TABLESPACE_NAME
------------------------------
TS_USERS_01
sql > select TABLESPACE_NAME, EXTENT_MANAGEMENT, SEGMENT_SPACE_MANAGEMENT
2 from dba_tablespaces where tablespace_name = "TS_USERS_01";
TABLESPACE_NAME EXTENT_MAN SEGMEN
------------------------------ ---------- ------
TS_USERS_01 LOCAL AUTO
Czy używasz obszarów tabel zarządzanych przez słownik lub lokalnie zarządzanych obszarów tabel z przydzielonymi przez system segmentami?