Aktualności i artykuły

Opublikowano: 17 czerwca 2014
Kategoria wpisu: administracjaporadniki

Bomba z opóźnionym zapłonem 2

W pierwszej część historii (zamieszczonej tutaj) opisywałem problem, który może pojawić się z parametrem opisującym wielkość ścieżki dostępu pliku bazy danych i jakie mogą być konsekwencje gdy pozostawimy go bez zmiany. Przyszedł czas na opis jak wykonać audyt naszych plików, określić które z nich są zagrożone przekroczeniem pojemności ścieżki dostępu i wykonać ewentualną zmianę.

Kroki, które musimy przedsięwziąć można sprowadzić do czterech czynności.

  1. Uruchomienie komendy Display File Description (DSPFD) by zebrać informacje na temat plików bazy danych i ich parametrów.
  2. Użycie SQL-a dla określenia które pliki mają 4GB ścieżki dostępu.
  3. Określenie, które z wybranych plików wymagają zmiany parametru (zwiększenia pojemności ścieżki dostępu).
  4. Zmiana parametru na 1TB.DB2 MAX4GB

Szczegółowa realizacja wymienionych kroków mogła by wyglądać następująco.

1. Zebranie informacji.

Do zebrania informacji na temat atrybutów wszystkich plików fizycznych i logicznych w systemie możemy posłużyć się komendą DSPFD. Składnia komendy odpowiednio dla typu pliku przedstawia się następująco:

DSPFD FILE(*ALL/*ALL) TYPE(*ATR) OUTPUT(*OUTFILE) FILEATR(*PF)
OUTFILE(nazwa_biblioteki/nazwa_pliku)
DSPFD FILE(*ALL/*ALL) TYPE(*ATR) OUTPUT(*OUTFILE) FILEATR(*LF)
OUTFILE(nazwa_biblioteki/nazwa_pliku)

2. Wybranie plików.

Kiedy posiadamy już pliki z atrybutami zbiorów bazodanowych wystarczy napisać proste zapytanie by wykryć te, które posiadają ścieżkę dostępu wielkości do 4GB. Możemy w tym celu skorzystać z Query lub SQL’a. Zapytanie będzie wyglądać następująco

SELECT * FROM nazwa_pliku WHERE PHAPSZ = '0'

lub w przypadku plików logicznych

SELECT * FROM nazwa_pliku WHERE LGAPSZ = '0'

gdzie pole PHAPSZ i LGAPSZ reprezentuje wielkość ścieżki dostępu, a wartość ’0′ w tym polu oznacza pojemność 4GB

3. Określenie plików do zmiany.

Zmiana parametru wielkości ścieżki może zająć sporo czasu w zależności od wielkości samego pliku (czasami godzinę i więcej). Oznacza również konieczność zablokowania pliku bazy danych przed dostępem z innych zadań i programów na czas zmiany. Może mieć również wpływ na wydajność systemu (większa pojemność ścieżki dostępu to przy wielu kluczach słabsza wydajność).

Warto więc dobrze określić dla wybranych w poprzednim kroku plików czy zmiana parametru powinna mieć miejsce. Jeśli wybrany plik, posiada ścieżkę dostępu której aktualna pojemność daleka jest od osiągnięcia bariery 4GB to może warto go pozostawić do zmiany w późniejszym czasie.

Wykonując komendę DSPFD na pliku wybranym do ewentualnej zmiany możemy podejrzeć aktualną wielkość ścieżki.

DSPFD FILE(nazwa_biblioteki/nazwa_pliku) TYPE(*MBR)

W sekcji „Access Path Activity Statistics”, w linii „Access path size” zobaczymy ile „waży” ścieżka dostępu.

Komenda DSPFD, linia AccessPathSize

Komenda DSPFD, linia AccessPathSize

Zasada, którą można się posłużyć w momencie podejmowania decyzji o zmianie parametru mówi że jeśli wielkość ścieżki dostępu nie przekracza 75% dopuszczalnej pojemności możemy pozostawić ją bez zmian. Innymi słowy wielkość do 3 GB jest OK. Natomiast przekroczenie pojemności ponad 75% (czyli 3 GB), a z całą pewnością ponad 85% oznacza konieczność zmiany parametru na *MAX1TB.

Ponieważ wielkość podawana jest w bajtach, dla ułatwienia obliczeń można posłużyć się poniższym wzorem:

(aktualna wielkość ścieżki dostępu/4000000000) > .75

4. Zmiana parametru.

Jeśli podjeliśmy decyzje o zmianie wielkości ścieżki do 1 terabajta dla wybranego pliku, pozostaje znaleźć odpowiednie „okno czasowe” w pracy systemu, zapewnić wyłączność w dostępie do pliku i wykonać poniższą komendę.

dla plików fizycznych

CHGPF FILE(nazwa_biblioteki/nazwa_pliku) ACCPTHSIZ(*MAX1TB)

i logicznych

CHGLF FILE(nazwa_biblioteki/nazwa_pliku) ACCPTHSIZ(*MAX1TB)

Po zmianie parametru system automatycznie odbuduje wszystkie indeksy dla pliku, dlatego należy zapewnić odpowiednią ilość czasu na tę operację.

Wiedząc już jak rozbroić naszą bombę, a więc znając sposób postępowania z plikami bazy danych zagrożonymi osiągnięciem dopuszczalnej pojemności ścieżki dostępu (przy starym ustawieniu wynoszącym 4GB) możemy pokusić się o zautomatyzowanie całego procesu, np. tworząc program CL-wy który wykona za nas całą pracę. Ale to już temat na kolejny raz…

^