Trang này được dịch bằng máy. Đọc bản gốc tiếng Anh. English

Thư viện IBSurgeon

Kiểm tra nhất quán nội bộ phần mềm gds - cách khôi phục cơ sở dữ liệu Firebird/InterBase

Oleg Matveev, 20-Thg11-2014

Khi một phiên bản Firebird (hoặc InterBase) không thể thực hiện một thao tác nào đó mà không đảm bảo rằng tính nhất quán của cơ sở dữ liệu sẽ không bị ảnh hưởng, nó sẽ đưa ra một lỗi (bugcheck) và ngắt thao tác hiện tại.

Văn bản lỗi Firebird như vậy bắt đầu bằng tiền tố bắt buộc “internal gds software consistency check (can’t continue after bugcheck)” (đối với các phiên bản Firebird gần đây là “internal Firebird software consistency check”), và sau đó là văn bản lỗi thực tế (như “decompression overran buffer (179)”).

Thông thường, các lỗi “internal software consistency check” có nghĩa là cơ sở dữ liệu Firebird đã bị hỏng (tuy nhiên, điều này không phải là quy tắc) - tức là, tính nhất quán của hình ảnh cơ sở dữ liệu nội bộ đã bị phá vỡ và cần được sửa chữa để tiếp tục hoạt động bình thường.

Nếu bạn thấy lỗi như vậy trong firebird.log hoặc như một thông báo lỗi trong ứng dụng của bạn, hãy chạy lệnh này để đảm bảo rằng cơ sở dữ liệu của bạn ổn:

Code
gfix.exe -v -full -user SYSDBA -pass masterkey path_to_your_database

Nếu quá trình xác thực gfix trả về lỗi, cơ sở dữ liệu đã bị hỏng và cần phục hồi.

Hãy thử phục hồi bằng gfix trước:

Code
gfix.exe -mend -ig -user SYSDBA -pass masterkey path_to_your_database

và sau đó sao lưu cơ sở dữ liệu:

Code
gbak.exe -b -g -user SYSDBA -pass masterkey path_to_your_database path_to_backup

và khôi phục:

Code
gbak.exe -c -v -user SYSDBA -pass masterkey path_to_backup path_to_new_database

Nếu có vấn đề trong quá trình gfix/gbak, hãy phục hồi cơ sở dữ liệu bị hỏng bằng công cụ IBSurgeon FirstAID - phần lớn các lỗi “internal Firebird consistency check” có thể được sửa bằng công cụ này; FirstAID được thiết kế đặc biệt để xử lý các trường hợp hỏng cơ sở dữ liệu nghiêm trọng.

Ngoài ra, nếu bạn có cơ sở dữ liệu Firebird hoặc InterBase bị hỏng, vui lòng liên hệ với bộ phận hỗ trợ của chúng tôi: [email protected] và cung cấp toàn bộ văn bản lỗi (hoặc ảnh chụp màn hình).