z firebirdem dostajemy narzędzie do wykonywania kopii przyrostowej (nbackup.exe). Jest to o tyle istotne, że program ten umożliwia wykonywanie kopii bezpieczeństwa również w trakcie pracy użytkowników. Mam jednak problem aby wykonać pełną kopie. Czy komuś się to udało? W necie znalazłem informację, że narzędzie to może nie działać poprawnie (może dojść nawet do uszkodzenia bazy) z wersją firebirda (2.0.3) dostarczaną przez kamsoft. Czy ktoś bardziej zaznajomiony z firebirdem może to potwierdzić? Czy wiadomo na jakiej wersji firebird PPS będzie działał poprawnie a jednocześnie będę mógł tworzyć kopie bazy za pomocą nbackup.exe
a może robię coś źle?
nbackup.exe -U SYSDBA -P masterkey -B 0 LOCALHOST:C:\KS\KS-PPS\BAZA\KSPPS.FDB C:\BACKUP_INC\KOPIA_INC_0.nbk
pojawia się błąd
Failure: Error (80) creating backup file: C:\BACKUP_INC\KOPIA_INC_0.nbk
i tworzy się plik o wielkości 0KB
Próbowałem na win xp he oraz na win7 pro 64bit i efekt taki sam.
Ponieważ PPS działa już na FB 2.5 to postanowiłem powrócić do próby uruchomienia backupu przyrostowego z pomocą nbackup.exe. Niestety podobnie jak poprzednio napotkałem na problemy.
Fragment skryptu odpowiedzialnego za wykonanie pełnej kopii wygląda tak:
"C:\Program Files (x86)\Firebird\Firebird_2_5\bin\nbackup.exe" -U SYSDBA -P masterkey -B 0 LOCALHOST:C:\KS\KS-PPS\BAZA\KSPPS.FDB C:\BACKUP_INC\KOPIA_INC_0.nbk
Niestety wywala błąd:
Failure: Error (123) opening database file: LOCALHOST:C:\KS\KS-PPS\BAZA\KSPPS.FDB
Jakieś pomysły co może być przyczyną? Na tą chwilę testowałem tylko na Win7 64bit.
Edit: Doczytałem w dokumentacji, że nbakup może wykonywać kopie tylko na lokalnej maszynie. Po usunięciu "LOCALHOST:" kopia wykonuje się. Z tego co zauważyłem to jednak jest ona znacznie większa niż przy użyciu gbak. Potestuję to jeszcze i napiszę jak to się skończyło.
Edit2:
To krótkie podsumowanie moich małych testów:
Środowisko testowe (mój nowy laptop): świeży system win 7 pro 64bit, Intel Core i5 2520M, 8GB RAM DDR3, dysk SSD OCZ VERTEX PLUS, świeżo zainstalowany PPS
GBAK:
Baza danych: 1,33GB
Czas trwania pełnego backupu za pomocą gback i kompresowania za pomocą 7z: 2 minuty i 42 sekundy
Wielkość pliku kopii: 915MB
Wielkość spakowanego pliku kopii: 112MB
Czas odtwarzania za pomocą KS-PPS (plik kopii wcześniej został wypakowany): 7minut i 45 sekund
Baza danych po odtworzeniu: 1,33GB
NBACKUP:
Baza danych: 1,33GB
Czas trwania pełnego backupu za pomocą nbackup i kompresowania za pomocą 7z: 1 minuta i 40 sekund
Wielkość pliku kopii: 1,33GB
Wielkość spakowanego pliku kopii: 257MB
Czas trwania przyrostowego backupu za pomocą nbackup i kompresowania za pomocą 7z (dopisałem tylko jedno świadczenie
): 48 sekund
Wielkość pliku kopii: 749KB
Wielkość spakowanego pliku kopii: 187KB
Czas odtwarzania za pomocą nbackup (plik kopii wcześniej został wypakowany): 4 sekundy
Baza danych po odtworzeniu: 1,33GB
Oczywiście będę to musiał jeszcze przetestować na działającym normalnie środowisku aby zobaczyć jak to będzie wyglądało podczas tworzenia kopii przyrostowej czy jej odtwarzaniu po wprowadzeniu większej ilości zmian w bazie niż tylko dodanie jednego świadczenia.