| Termin | Definicja |
|---|---|
| Usuwanie uszkodzonych obiektów | Usuwanie uszkodzonych obiektów to element naprawy bazy, gdy ich odzyskanie okazuje się niemożliwe. Usuwanie uszkodzonych obiektów w bazie danychUsuwanie uszkodzonych obiektów jest czynnością wykonywaną podczas porządkowania i naprawy bazy danych, gdy określony element nie może zostać prawidłowo odczytany, otwarty albo odtworzony. Obiektem może być między innymi tabela, indeks, widok, procedura, relacja, rekord metadanych, fragment pliku bazy lub element odpowiedzialny za opis struktury danych. Problem nie zawsze oznacza utratę wszystkich informacji. Często uszkodzenie dotyczy tylko części struktury, natomiast dane użytkowe pozostają dostępne w innych tabelach, kopiach zapasowych albo plikach pomocniczych. W praktyce nie powinno się traktować usuwania jako pierwszej, automatycznej reakcji na każdy komunikat o błędzie. Najpierw ustala się, czego dotyczy problem, czy uszkodzony obiekt jest wykorzystywany przez inne elementy oraz czy istnieje możliwość odtworzenia go z zachowanej kopii. Dopiero po sprawdzeniu zależności podejmuje się decyzję, czy obiekt należy naprawić, zastąpić, wyłączyć z użycia, czy trwale usunąć. Takie podejście ogranicza ryzyko przerwania działania aplikacji i przypadkowego usunięcia informacji, które nadal mogą być potrzebne. Znaczenie ma również sposób przechowywania bazy. W jednym przypadku uszkodzony indeks można odtworzyć na podstawie zawartości tabeli. W innym uszkodzeniu może ulec tabela zawierająca właściwe dane, a wtedy odbudowa indeksu nie rozwiąże problemu. Dlatego analizuje się komunikaty systemowe, dzienniki zdarzeń, rozmiary plików, daty ostatnich poprawnych operacji oraz zgodność kopii z aktualnym stanem środowiska. Uszkodzonych obiektów a odbudowa i odzyskiwanie danychUsuwanie uszkodzonych obiektów różni się od odbudowy bazy oraz od odzyskiwania danych, choć wszystkie te działania mogą występować w jednym procesie. Odbudowa polega na przywróceniu prawidłowej struktury na podstawie informacji, które nadal są czytelne. Odzyskiwanie danych skupia się na wydobyciu treści z plików lub nośników mimo błędów logicznych albo fizycznych. Usuwanie jest natomiast etapem porządkowym, stosowanym wtedy, gdy dany element nie pełni już użytecznej funkcji albo jego obecność blokuje dalszą pracę narzędzi naprawczych. Przykładowo uszkodzony indeks może powodować spowolnienie zapytań lub komunikaty o błędach, mimo że rekordy w tabeli są kompletne. W takim przypadku można zachować tabelę, usunąć wadliwy indeks i utworzyć go ponownie. Inaczej wygląda sytuacja, gdy awaria obejmuje definicję tabeli, ograniczenia integralności oraz zależne relacje. Wtedy przed usunięciem analizuje się schemat, eksporty, kopie zapasowe i pliki dziennika. Nie należy zakładać, że obiekt o tej samej nazwie da się odtworzyć bez znajomości jego pierwotnych parametrów. Warto odróżnić uszkodzenia logiczne od problemów z nośnikiem. Błędy logiczne mogą wynikać z przerwanej transakcji, nieprawidłowego zamknięcia programu, błędu zasilania albo niespójnego zapisu. Problemy fizyczne mogą być związane z sektorami dysku, zużyciem pamięci masowej, przegrzewaniem lub nieprawidłowym działaniem kontrolera. Jeżeli źródłem kłopotów jest nośnik, wielokrotne uruchamianie narzędzi naprawczych może zwiększać obciążenie i pogarszać możliwość odzysku. W takiej sytuacji najpierw wykonuje się kopię sektorową lub pracuje na kopii roboczej, o ile stan urządzenia na to pozwala. Porównanie z prostym usuwaniem pliku z folderu jest mylące. Obiekt bazy może być powiązany z wieloma innymi elementami, a jego skasowanie może wywołać błędy w aplikacji, raportach lub formularzach. Z tego powodu sprawdza się klucze, zależności, uprawnienia, wyzwalacze, zapytania oraz zadania wykonywane automatycznie. Dopiero pełny obraz zależności pozwala ocenić, czy usunięcie jest bezpieczne i czym zastąpić brakujący element. Najczęstsze problemy przy usuwaniu uszkodzonych obiektówJednym z typowych problemów jest brak dostępu do obiektu mimo poprawnego logowania do bazy. Może to oznaczać uszkodzenie metadanych, błędne uprawnienia albo niespójność pomiędzy plikiem danych i plikiem opisującym strukturę. Innym sygnałem bywają komunikaty o błędnej stronie danych, niemożności odczytu definicji obiektu, niezgodności sum kontrolnych lub przerwaniu operacji podczas wyszukiwania określonego rekordu. Często spotyka się także sytuację, w której obiekt został usunięty, lecz aplikacja nadal próbuje się do niego odwoływać. Wtedy sama operacja porządkowa nie wystarcza. Należy znaleźć wszystkie zapytania, formularze, skrypty i raporty korzystające z dawnej nazwy, a następnie skierować je do prawidłowego zamiennika albo wyłączyć nieaktualne odwołania. W przypadku relacji trzeba dodatkowo sprawdzić, czy usunięcie jednego elementu nie naruszy spójności pozostałych danych. Ryzyko zwiększa praca na jedynej kopii bazy. Błąd operatora, nagłe wyłączenie urządzenia lub pomyłka w wyborze obiektu może wtedy utrudnić powrót do wcześniejszego stanu. Zabezpieczenie powinno obejmować nie tylko sam plik bazy, lecz także pliki konfiguracyjne, dane uwierzytelniające, ustawienia aplikacji, dzienniki oraz dokumentację zależności. Kopię należy opisać datą i zakresem, aby później nie pomylić jej z wersją już uszkodzoną. Problemy mogą pojawić się również po pozornie udanej operacji. Baza może otwierać się prawidłowo, ale część zapytań będzie zwracała niepełne wyniki, a aplikacja może zgłaszać błędy dopiero przy określonej funkcji. Dlatego po usunięciu obiektu wykonuje się kontrolę integralności, testuje najważniejsze operacje odczytu i zapisu, sprawdza logi oraz porównuje liczbę i zakres danych z wcześniejszymi informacjami. W razie potrzeby przeprowadza się test na kopii, zanim zmiana zostanie zastosowana w środowisku używanym na co dzień. Praktyczne wskazówki dotyczące uszkodzonych obiektówPrzed rozpoczęciem prac warto odłączyć automatyczne zadania, synchronizacje i programy, które mogą jednocześnie zapisywać dane. Dzięki temu ogranicza się ryzyko, że zawartość bazy zmieni się w trakcie diagnozy. Następnie sporządza się kopię plików, zapisuje komunikaty błędów i ustala moment, od którego pojawiły się nieprawidłowości. Przydatne jest również odnotowanie ostatniej operacji wykonanej przed awarią, ponieważ może ona wskazywać na przerwaną transakcję, brak miejsca albo problem z konkretnym obiektem. Nie zaleca się wielokrotnego uruchamiania przypadkowych programów naprawczych bez poznania ich działania. Niektóre narzędzia modyfikują strukturę bazy, usuwają elementy pomocnicze albo tworzą nową wersję pliku bez zachowania pełnej historii zmian. W razie wątpliwości bezpieczniej jest pracować na kopii i zachować oryginalny materiał do dalszej analizy. Szczególnej ostrożności wymaga baza zawierająca dane księgowe, ewidencyjne, projektowe lub informacje potrzebne do ciągłości pracy. Po usunięciu uszkodzonego elementu warto uporządkować jego następstwa. Obejmuje to odtworzenie potrzebnych indeksów, sprawdzenie relacji, aktualizację odwołań w aplikacji, wykonanie kontroli spójności oraz przygotowanie nowej kopii zapasowej. Jeżeli obiekt pełnił funkcję pomocniczą, można rozważyć jego zastąpienie prostszą strukturą. Jeżeli zawierał dane, należy ustalić, czy da się je odzyskać z kopii, dziennika transakcji, eksportu albo innego źródła. Dobrą praktyką jest dokumentowanie każdej czynności: nazwy obiektu, rodzaju błędu, wykorzystanej kopii, wykonanej operacji i wyniku testu. Taki zapis ułatwia późniejsze odtworzenie procedury oraz pozwala uniknąć powtórzenia tej samej awarii. Warto również sprawdzić stan dysku, temperaturę urządzenia, wolne miejsce, poprawność zasilania i działanie mechanizmu kopii zapasowych, ponieważ naprawa samej bazy nie usunie przyczyny, która może ponownie doprowadzić do uszkodzeń. Kiedy zgłosić usuwanie uszkodzonych obiektów do serwisuDo serwisu warto zgłosić problem, gdy baza nie otwiera się, narzędzie diagnostyczne wykazuje niespójność, występują powtarzające się błędy odczytu lub nie ma pewności, który obiekt można bezpiecznie usunąć. Pomoc jest szczególnie wskazana wtedy, gdy dane są przechowywane na dysku wykazującym objawy awarii, komputer samoczynnie się wyłącza, system działa niestabilnie albo wcześniejsze próby naprawy zmieniły strukturę plików. W takich przypadkach najważniejsze jest ograniczenie dalszych zapisów i zachowanie możliwie niezmienionej kopii materiału. W ramach analizy ustala się charakter uszkodzenia, sprawdza stan nośnika, rozpoznaje zależności pomiędzy obiektami i ocenia dostępne kopie. Dopiero na tej podstawie można zaplanować naprawę, odtworzenie elementu lub jego usunięcie. W przypadku Warszawskiego Pogotowia Komputerowego 24/7 zgłoszenie może dotyczyć diagnostyki komputera, na którym znajduje się problematyczna baza, a dalsze czynności dobiera się do stanu urządzenia i znaczenia przechowywanych danych. Nie każdy uszkodzony obiekt powinien być usuwany. Czasami możliwe jest przywrócenie jego struktury, skopiowanie czytelnych danych albo zastąpienie go nowym elementem bez utraty zawartości. Jeżeli jednak odzyskanie okazuje się niemożliwe, kontrolowane usunięcie może być potrzebne do przywrócenia spójności i dalszego działania programu. Ostateczna decyzja powinna wynikać z diagnozy, kopii zabezpieczającej oraz testu potwierdzającego, że po operacji baza i aplikacja działają zgodnie z przeznaczeniem. |