Włączanie – wyłączanie Indeksu

Ostatnio na szkoleniu z Administracji na szybko zastanawialiśmy się jak można włączyć i wyłączyć indeks który już mamy na bazie.

Otóż wcale nie jest to tak intuicyjne jakby się wydawało 😉

Jeśli indeks jest oparty na funkcji czyli np.:
CREATE INDEX indeks_funk ON tabelka (UPPER(nazwa_kolumny));

Wyłączyć go możemy poleceniem:
ALTER INDEX indeks_funk DISABLE;
a włączyć:
ALTER INDEX indeks_funk ENABLE;

 

Gdy mamy natomiast indeks nie oparty na funkcji musimy go oznaczyć jako nieużywany:
ALTER INDEX indeks_funk UNUSABLE;
a jeśli chcemy włączyć musimy go po prostu przebudować:
ALTER INDEX indeks_funk REBUILD;

Wolne miejsce na TBS

IMPDP 40 GB – wczytuje się 20 godzinę i nie pokazuje żadnego błędu…
Przetwarzanie typu obiektu SCHEMA_EXPORT/TABLE/INDEX/INDEX

Ostatnio musiałem zrobić export wybranych schematów i zaimportować do innej instancji.
Zacząłem od zrobienia exportu datapumpem, następnie na drugiej instancji utworzyłem tablespace oraz użytkowników do których miał być wykonany import.
Zazwyczaj sprawdzam ile plików danych jest przydzielonych na bazie źródłowej danej przestrzeni i tworzę ich tyle samo na bazie docelowej – tym razem jednak tego nie zrobiłem.
Dla wyjaśnienia – rozmiar danych do eksportu wynosił około 40 GB więc niezbyt dużo.
Całą komendę importu uruchomiłem na serwerze w tzw. Screenie więc spokojnie mogłem zamknąć swoją stacje i wrócić do swojej sesji na serwerze za jakiś czas. Na szczęście nie było wielkiego ciśnienia więc wróciłem do tematu po około 20 godzinach a tam stoi na tym samym etapie czyli przerzucania na bazę indeksów.

Przetwarzanie typu obiektu SCHEMA_EXPORT/TABLE/INDEX/INDEX

Wtedy wróciło mi myślenie J i postanowiłem sprawdzić ile miejsca wolnego zostało na przestrzeniach które stworzyłem przed importem.
Aby dobrze to obliczyć skorzystałem z dwóch widoków systemowych dba_data_files oraz dba_free_space.
Od mojego max_size_gb (bytes – dba_data_files) odjąłem  size_gb (maxbytes – dba_data_files) a następnie dodałem zsumowaną wolną przestrzeń (sum (bytes) – dba_free_space).

001_cfs

dostaniemy wynik jak poniżej który każdy powinien potrafić odczytać ze zrozumieniem

002_cfs