Repararea unei baze de date interbase sau a unei baze de date firebird - rdb suportă

Secțiunea publică generală

IMPORTANT! Înainte de a începe restaurarea, asigurați-vă că toți utilizatorii sunt deconectați de la server și faceți o copie a fișierului bazei de date. Dacă nu aveți acces la toate computerele din rețea pe care aplicația conectată la baza de date se execută, dezactivați serverul (face inactive) o conexiune de rețea sau pur și simplu scoateți cablul de rețea de la priza de pe unitatea de sistem. Așteptați câteva minute până când serverul închide toate conexiunile inactive și reporniți sistemul de operare.







Introduceți directorul Bin în dosarul în care a fost instalat serverul Interbase / Firebird / Yaffil. Pentru a nu lucra cu fereastra "goală" a liniei de comandă, este recomandat să folosiți orice utilitar de fișiere precum Far sau Total Commander.

Vom verifica baza de date pentru daune:

în loc să gdbase.gdb specificați calea completă către fișierul bazei de date (o idee bună: pentru a nu împovăra ei înșiși, cu introducerea unui drum lung, copiați fișierul de bază de date direct în directorul BIN). Nu este necesar să specificați numele serverului!

Dacă utilitarul a lucrat și nu a produs nimic pe ecran, atunci totul este normal cu baza de date.

Dacă există daune, vom încerca să le corectăm:

Să vedem dacă toate daunele au fost reparate:

Dacă dauna rămâne, atunci vom scrie informațiile în fișierul Bak și apoi vom restabili într-o altă bază de date nouă. Pentru a face acest lucru, executați următoarele comenzi în ordine:







Aici sunt utilizate următoarele chei:

  • -b - crearea unei copii de arhivă a bazei de date;
  • -v - afișați un jurnal detaliat;
  • -ig - ignorarea erorilor în date;
  • -g - dezactivați colectarea gunoiului atunci când citiți din baza de date.

Rețineți că, atunci când specificați numele bazei de date, trebuie să specificați numele serverului și două puncte, și o cale completă la fișierul bazei de date de pe server (rețineți că, chiar dacă ați copiat un fișier de bază de date în același folder ca și utilitarul de rezervă va trebui în continuare să specificați calea completă la fișier). Când specificați numele arhivei, trebuie să specificați numai calea completă la fișier fără a specifica numele serverului.

Dacă baza de date este grav afectată, unele table pot pierde înregistrări, ceea ce înseamnă că linkurile externe către aceste tabele nu vor fi restabilite. Sau invers, vor fi înregistrări "fantomă" care încalcă condițiile de unicitate a cheii primare. În astfel de cazuri, în stadiul de restaurare a bazei de date din arhivă, mesajele de eroare vor fi afișate pe ecran și procesul de recuperare va fi întrerupt.

Puteți salva baza de date în felul următor: mai întâi restaurați-o fără referințe externe (indexuri) cu comanda:

Apoi, folosind orice shell, de exemplu IBExpert, unul câte unul pentru a activa cheile externe pentru a identifica tabelele corupte. Pe măsură ce identificați, trebuie fie să ștergeți înregistrările care conțin linkuri către înregistrări inexistente, fie să adăugați intrări inexistente sau referințe zero. Aici, disponibilitatea unei arhive învechite, dar nedeteriorate, a aceleiași baze de date poate fi un bun ajutor.

Dacă baza este deteriorat, astfel încât indicii de o dezactivare nu este suficient, puteți încerca tastele (controale de integritate -N date deconectare) și o- (date Komichi după fiecare masă în recuperare).

Exemplu comanda cu tastele de mai sus:

Ca și în cazul precedent, după dezarhivarea bazei de date și restaurarea manuală a integrității datelor, baza de date ar trebui arhivată din nou și restaurată din arhivă cu setul obișnuit de taste.







Articole similare

Trimiteți-le prietenilor: