Language:


Zarządzanie plikami dziennika

W systemie wielostanowiskowym, który jest intensywnie używany, jest wysoce prawdopodobne, że plik dziennika będzie rósł bardzo szybko. Aby zapobiec sytuacji, w której pliki dziennika stają się zbyt duże, możesz wykorzystać ustawienie "Zapisy danych w dzienniku" w module System, aby od czasu do czasu utworzyć nowy plik dziennika. Obszerne pliki są nie tylko niewygodne, ale również wydłużą czas wgrania dziennika.

Możesz utworzyć nowy plik dziennika ręcznie bądź też uruchomić funkcjonalność automatycznego tworzenia nowych plików. Aby ręcznie utworzyć nowy plik dziennika, w pierwszej kolejności otwórz ustawienie "Zapisy danych w dzienniku". Pliki dziennika, które aktualnie znajdują się w folderze "journal" będą wyszczególnione po prawej stronie. W tym przykładzie używamy pierwszego pliku "J0000001.HJN":

Następnie kliknij przycisk [Nowy plik dziennika]. W ten sposób zostanie utworzony nowy plik (w tym przykładzie ma on nazwę "J0000002.HJN") i zapisany w folderze "journal". Pojawi się też w oknie po prawej stronie:

Wszystkie zmiany w bazie danych będą teraz zapisywane w nowym pliku dziennika. Jeżeli musisz użyć starszej bazy danych aby przywrócić dane, wszystko, co znajduje się w obu dziennikach, a nie znajduje się w starszej bazie danych, będzie zaimportowane w chwili wgrania dziennika.

Zaleca się ustanowienie regularnego tworzenia nowych plików dziennika, np. raz w tygodniu. Warto też użyć opcji automatycznej. Aby to zrobić, otwórz ustawienie Archiwizacja w module System i przejdź do zakładki Kronikowanie:

Uruchom kronikowanie
Użyj tych opcji aby sprecyzować, czy nowy plik dziennika ma być tworzony raz dziennie czy raz w tygodniu.

Zmieniając po raz pierwszy z opcji "ręcznie" na "dziennie" lub "tygodniowo" należy zrestartować serwer aby uaktywnić nową opcję.

Maks. ilość plików
Wprowadź tu maksymalną liczbę plików dziennika, jaka powinna być przechowywana w folderze "journal". Np. jeżeli wpiszesz 10, jak widać na powyższej ilustracji, wówczas w momencie tworzenia jedenastego pliku "J0000011.HJN", plik pierwszy "J0000001.HJN" zostanie usunięty.

Podejmując decyzję co do ilości przechowywanych plików dziennika, zapoznaj się z poniższymi punktami.

Można to pole pozostawić puste, jeżeli nie chcesz, aby stare pliki dziennika były automatycznie usuwane w chwili tworzenia nowych.
Używając funkcji kronikowania konieczne jest również regularne kopiowanie bazy danych. Dzięki temu usuwanie starszych plików dziennika jest możliwe bez ryzyka utraty danych, a zyskuje się w ten sposób cenne miejsce na dysku. Starsze pliki dziennika staną się zbędne, ponieważ dane, które zawierają, będą znajdowały się również w nowszych kopiach bazy danych. Niemniej jednak wymagana jest duża ostrożność w zarządzaniu plikami dziennika, aby do każdej kopii bazy danych zawsze istniały właściwe pliki dziennika. Na przykład, przypuśćmy, że posiadasz następujące pliki dziennika:
Plik dziennikaData utworzenia
J0000001.HJN1 czerwca
J0000002.HJN8 czerwca
J0000003.HJN15 czerwca
J0000004.HJN22 czerwca
J0000005.HJN29 czerwca
J0000006.HJN5 lipca
J0000007.HJN12 lipca
Jeżeli musisz użyć starszej kopii bazy danych, powinnna być to kopia utworzona po dacie utworzenia twojego najstarszego pliku dziennika. Na przykład, aby przywrócić dane z kopii bazy danych z dnia 10 lipca będziesz potrzebował obecności tylko dwóch plików w folderze "journal" w momencie wgrywania dziennika: "J0000006.HJN" oraz "J0000007.HJN". Tylko te dwa pliki będą zawierały dane, których nie ma w kopii bazy danych, więc tylko one są potrzebne do odzyskania systemu. Starsze pliki dziennika mogą być obecne w folderze "journal", ale nie są niezbędne.

Jeżeli najnowsza kopia bazy danych jest z 5 lipca, czyli z dnia, w którym był utworzony plik dziennika, musisz przyjąć, że plik "J0000005.HJN" będzie również potrzebny w momencie wgrania dziennika, ponieważ może być to "bieżący" plik dziennika dla tej bazy danych. Plik "bieżący" dla danej kopii bazy danych jest to plik, w którym dokonany został ostatni wpis przed powstaniem danej kopii bazy danych. Gdy zostanie utworzony plik "J0000006.HJN", plik "J0000005.HJN" pozostanie "bieżący" przez krótki okres dopóki nowe dane nie zostaną wprowadzone do systemu. A te będą zapisane w pliku "J0000006.HJN", który od tej pory stanie się plikiem "bieżącym". Jeżeli kopia bazy danych została utworzona na chwilę przed wprowadzeniem nowych danych, wówczas plik "J0000005.HJN" nadal będzie plikiem "bieżącym" w tej bazie danych, więc musi być obecny w folderze "journal" w trakcie wgrywania dziennika.

Gdy wgrywasz dziennik, w terminalu (Mac OS X i Linux) oraz w logu pojawi się wiadomość informująca, że "bieżący" plik dziennika nie jest ostatnim plikiem w folderze J0000XXX.HJN. W tej wiadomości plik "J0000XXX.HJN" jest plikiem "bieżącym" dla tej kopii bazy danych, a więc najstarszym plikiem dziennika, który musi znajdować się w folderze "journal". W tym przykładzie, jeżeli próbujesz odzyskać dane z bazy danych utworzonej w dniu 10 lipca, plikiem tym będzie "J0000006.HJN". Jeżeli "J0000006.HJN" znajduje się w folderze "journal", dziennik zostanie wgrany. Jeżeli go nie ma, dziennik nie zostanie wgrany, a terminal oraz log będą zawierały dalsze wiadomości, łącznie z informacją o niekompletnym pliku dziennika. Umieść plik "J0000006.HJN" w folderze "journal" i ponownie wgraj dziennik.

W momencie wgrywania dziennika w folderze "journal" powinna się znajdować najnowsza możliwa wersja pliku. Jak już wspomniano w przykładzie, jeżeli odzyskujesz dane z kopii bazy danych z 10 lipca, będziesz potrzebował plików "J0000006.HJN" oraz "J0000007.HJN". To oznacza ostateczną wersję pliku "J0000006.HJN" z dnia 12 lipca, w momencie utworzenia pliku "J0000007.HJN", a nie kopię tego pliku, którą być może utworzyłeś 10 lipca w momencie kopiowania bazy danych. Kopia pliku "J0000006.HJN" utworzona 10 lipca nie będzie kompletna.

---

W tym rozdziale:

Zobacz też:
Wróć do: