| Termin | Definicja |
|---|---|
| Błąd alokacji strony danych | Błąd alokacji strony danych sygnalizuje problem z przydzieleniem przestrzeni dla nowych informacji zapisywanych w bazie. Na czym polega błąd alokacji strony danychBłąd alokacji strony danych oznacza, że system zarządzania bazą danych nie może przydzielić kolejnej jednostki przestrzeni potrzebnej do zapisania nowych informacji. „Strona danych” to wewnętrzny blok pamięci używany przez silnik bazy do przechowywania rekordów, fragmentów tabel, indeksów albo innych struktur. Jej rozmiar i sposób organizacji zależą od konkretnego silnika, dlatego nie istnieje jedna uniwersalna wartość strony ani jeden wspólny komunikat dla wszystkich baz danych. Wspólna jest natomiast zasada: operacja zapisu wymaga dostępnego miejsca oraz możliwości jego prawidłowego zarezerwowania. Przyczyną może być całkowite zapełnienie pliku danych, partycji albo nośnika, ale również osiągnięcie limitu skonfigurowanego dla bazy. Problem pojawia się także wtedy, gdy plik może się powiększać, lecz automatyczny wzrost jest wyłączony, ograniczony maksymalnym rozmiarem lub niemożliwy z powodu braku wolnego miejsca w systemie plików. W niektórych sytuacjach przestrzeń fizycznie jest dostępna, ale silnik nie może jej użyć z powodu uszkodzenia struktury pliku, błędów systemu plików, problemów z uprawnieniami lub awarii urządzenia magazynującego. Dlaczego zapis rekordu może zakończyć się niepowodzeniemOperacja dodawania lub modyfikowania danych nie ogranicza się do zapisania samego tekstu czy liczby. Silnik może potrzebować miejsca na rekord tabeli, wpisy indeksów, informacje transakcyjne, wersje danych używane przez mechanizmy współbieżności oraz dane tymczasowe powstające podczas sortowania lub wykonywania zapytania. Jeżeli choć jedna z wymaganych struktur nie może otrzymać wolnej strony, cała operacja może zostać przerwana. Z tego powodu błąd może wystąpić podczas zapisu niewielkiego rekordu, mimo że rozmiar pojedynczej informacji wydaje się mały. Istotne jest rozróżnienie między wolnym miejscem w bazie a wolnym miejscem na dysku. Baza może mieć niewykorzystaną przestrzeń wewnątrz pliku, ale nie zawsze oznacza to, że można ją przydzielić w konkretnym obszarze wymaganym przez daną operację. Odwrotna sytuacja również jest możliwa: system operacyjny pokazuje wolne gigabajty, lecz plik danych osiągnął własny limit albo nie ma prawa do zwiększenia rozmiaru. Znaczenie ma także liczba równoczesnych transakcji. Kilka procesów zapisujących dane jednocześnie może chwilowo zarezerwować przestrzeń, która przed rozpoczęciem operacji wyglądała na dostępną. Rozróżnienie braku miejsca od uszkodzenia danychPierwszym etapem analizy jest ustalenie dokładnego komunikatu błędu, momentu jego wystąpienia i rodzaju wykonywanej operacji. Należy sprawdzić, czy problem dotyczy pojedynczej tabeli, całej bazy, pliku tymczasowego, indeksu czy wszystkich zapisów. Warto zapisać godzinę zdarzenia oraz identyfikator procesu, jeśli aplikacja go udostępnia. Porównanie tych informacji z dziennikiem aplikacji i dziennikiem silnika bazy pomaga ustalić, czy wystąpiło zwykłe wyczerpanie pojemności, czy błąd wejścia-wyjścia. Kontroli wymagają rozmiary plików danych, plików pomocniczych i dzienników transakcji, a także wolne miejsce na odpowiednich partycjach. Trzeba również zweryfikować ustawienia automatycznego powiększania, limity rozmiaru, uprawnienia konta uruchamiającego usługę oraz stan systemu plików. Samo usunięcie przypadkowych plików z dysku nie zawsze rozwiązuje problem i może pogorszyć sytuację, jeżeli usuwane dane należą do aplikacji albo są potrzebne do odtworzenia bazy. Jeżeli pojawiają się komunikaty o błędach odczytu, zapisu, opóźnieniach urządzenia lub uszkodzonych blokach, należy brać pod uwagę awarię dysku albo przewody i kontroler odpowiedzialne za komunikację z nośnikiem. Postępowanie naprawcze i kontrola działania komputeraPo potwierdzeniu braku przestrzeni można zwolnić miejsce zgodnie z dokumentacją używanego silnika, zwiększyć dostępny obszar pliku lub przenieść dane na właściwie przygotowany nośnik. Sposób działania powinien wynikać z kopii zapasowej, modelu retencji danych i zależności aplikacji. Nie należy bez sprawdzenia kasować dziennika transakcji, zmniejszać plików ani usuwać indeksów, ponieważ takie operacje mogą przerwać transakcje, wydłużyć kolejne zapytania lub utrudnić odzyskanie danych. Po zmianie trzeba wykonać kontrolowany zapis, obserwować ponowne wykorzystanie przestrzeni i sprawdzić, czy aplikacja nie zgłasza kolejnych błędów alokacji. Jeżeli przyczyną jest uszkodzenie pliku albo nośnika, priorytetem jest zabezpieczenie dostępnych danych i ograniczenie dalszych zapisów. Następnie można przeprowadzić testy integralności właściwe dla używanego silnika, sprawdzić stan dysku oraz przeanalizować kopie zapasowe. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, dlatego może przeprowadzić diagnostykę komputera, nośnika danych oraz środowiska, w którym działa problematyczna aplikacja. Zakres dalszych czynności powinien zostać ustalony po rozpoznaniu konkretnego komunikatu, stanu plików i możliwości bezpiecznego wykonania kopii. |