Các lỗi InterBase/Firebird phổ biến do hỏng dữ liệu gây ra và khả năng khôi phục của chúng
Alexey Kovyazin, 31-03-2014
Dưới đây là mô tả về các lỗi và sự cố phổ biến trong cơ sở dữ liệu InterBase/Firebird cùng khả năng khôi phục của chúng.
Để biết chính xác chi phí và thời gian khôi phục, vui lòng liên hệ với chúng tôi qua email.
Để tham khảo giá gần đúng, vui lòng xem mô tả dịch vụ khôi phục Firebird và InterBase. Không có sự đảm bảo 100% rằng các lỗi được mô tả khớp chính xác với các nguyên nhân được nêu.
Internal gds software consistency check (cannot find tip page (165))
Mô tả lỗi
Không thể mở cơ sở dữ liệu bằng engine Firebird hoặc InterBase và xuất hiện thông báo sau: Internal gds software consistency check (cannot find tip page (165))
Tắt máy chủ bất thường hoặc hỏng vật lý tệp cơ sở dữ liệu. Trang kiểm kê giao dịch (TIP) đã bị mất. Vùng hỏng có thể từ vài trang đến toàn bộ cơ sở dữ liệu, do đó cần điều tra thêm.
Nguyên nhân (tại sao điều này xảy ra?) Nguyên nhân có khả năng nhất là tắt máy chủ bất thường (dùng nút Reset), phương pháp sao lưu sai hoặc công cụ sao lưu không đúng. Trên Windows XP, hỏng hóc này có thể do tính năng “System Restore” gây ra đối với các tệp “gdb”.
Quy trình khôi phục
Trước tiên, cơ sở dữ liệu cần được quét bằng FirstAID Diagnostician. Nếu FirstAID không cảnh báo về hỏng hóc nghiêm trọng, có thể khắc phục hỏng hóc bằng phiên bản đầy đủ của FirstAID.
Trong trường hợp hỏng hóc nghiêm trọng, cần khôi phục tùy chỉnh.
Khả năng khắc phục hỏng hóc
99%
Database file appears corrupt. Wrong page type. Page NNN is of wrong type (expected X, found Y)
Mô tả lỗi
Thông báo lỗi xuất hiện trong đầu ra chuẩn hoặc trong firebird.log hoặc interbase.log:
Database file appears corrupt. Wrong page type. Page NNN is of wrong type (expected X, found Y)
Do hỏng hóc vật lý hoặc lý do khác, thứ tự các trang của tệp cơ sở dữ liệu đã bị thay đổi hoặc các giá trị sai xuất hiện trên các trang con trỏ hoặc trang gốc chỉ mục, v.v.
Nguyên nhân
Nguyên nhân có khả năng nhất là tắt máy chủ bất thường (dùng nút Reset), quy trình sao lưu sai hoặc công cụ/phương pháp sao lưu không đúng.
Quy trình khôi phục
Trước tiên, cơ sở dữ liệu cần được quét bằng FirstAID Diagnostician. Nếu FirstAID không cảnh báo về hỏng hóc nghiêm trọng, có thể khắc phục hỏng hóc bằng phiên bản đầy đủ của FirstAID.
Nếu không, cần quy trình khôi phục tùy chỉnh.
Khả năng khắc phục hỏng hóc
95%.
Unknown database I/O error for file “*.gdb”. Error while trying to read from file
Mô tả lỗi
Không thể mở cơ sở dữ liệu và xuất hiện thông báo lỗi sau: Unknown database I/O error for file “*.gdb”. Error while trying to read from the file.
Nguyên nhân
Do tắt máy chủ bất thường, các trang cơ sở dữ liệu gần nhất đã không được ghi vào đĩa.
Quy trình khôi phục
Quy trình khôi phục tùy chỉnh. Cơ sở dữ liệu được kiểm tra bằng gfix và sao lưu/phục hồi.
Khả năng khôi phục
95%
Decompression overran buffer
Mô tả lỗi
Thông báo lỗi xuất hiện: Internal gds software consistency check (decompression overran buffer (179))
Nguyên nhân
Đây là hỏng hóc cơ sở dữ liệu nghiêm trọng: các bảng hệ thống có thể bị hỏng. Đôi khi lỗi này xảy ra sau khi chuyển cơ sở dữ liệu sang máy chủ/máy tính mới. Cần điều tra.
Quy trình khôi phục
Phân tích cấu trúc cơ sở dữ liệu, tạo các trang mới, cần nhiều lần lặp.
Khả năng khôi phục
95%
Wrong record length
Mô tả lỗi
Thông báo lỗi xuất hiện: Internal gds software consistency check. Wrong record length
Nguyên nhân
Thông thường nhất, lỗi “Wrong record length” do RAM kém gây ra. Chúng tôi khuyên bạn nên kiểm tra bộ nhớ ( RAM) trên máy chủ.
Quy trình khôi phục
Xác định vị trí và xóa các bản ghi sai bằng công cụ cấp thấp của IBSurgeon. Cần nhiều lần lặp.
Khả năng khôi phục
97%
Database file appears corrupt. Bad checksum
Mô tả lỗi
Database file appears corrupt. Bad checksum. Lỗi checksum trên trang cơ sở dữ liệu XX.
Nguyên nhân
RAM kém. Chúng tôi khuyên bạn nên kiểm tra bộ nhớ ( RAM) trên máy chủ.
Quy trình khôi phục
Quy trình khôi phục tùy chỉnh. Cần nhiều lần lặp.
Khả năng khôi phục
99%
Cannot find record back version
Mô tả lỗi
Cơ sở dữ liệu có vẻ hoạt động bình thường nhưng gbak không thể hoàn tất sao lưu.
Nội dung lỗi:
Internal gds software consistency check (cannot find record back version (291))
gds_$receive failed. Exiting before completion due to errors. internal gds software consistency check (can’t continue after bug check).
Nguyên nhân
Nguyên nhân có khả năng nhất là quản lý giao dịch sai. Cần điều tra hiệu suất giao dịch.
Quy trình khôi phục
Cơ sở dữ liệu cần phân tích chi tiết và giải pháp thường là tìm và xóa các đối tượng cơ sở dữ liệu gây lỗi rồi tạo lại chúng. Đôi khi cần chuyển dữ liệu sang cơ sở dữ liệu mới.
Khả năng khôi phục
99%
Next transaction older than oldest active transaction
Thông báo lỗi
Internal gds software consistency check (next transaction older than oldest active transaction (266))
Nguyên nhân
Lỗi hiếm gặp này xảy ra trong InterBase 4.x-5.x, đây là một lỗi phần mềm.
Quy trình khôi phục
Quy trình khôi phục tùy chỉnh
Khả năng khôi phục
99%
Corrupted header
Mô tả lỗi
Không thể mở cơ sở dữ liệu và Firebird/InterBase không coi đó là cơ sở dữ liệu hợp lệ.
Nguyên nhân
Hỏng hóc vật lý, lỗi ổ cứng.
Quy trình khôi phục
Quy trình khôi phục tùy chỉnh
Khả năng khôi phục
80%
Database file size exceeds implementation limit
Mô tả lỗi
Điều này xảy ra trên máy chủ InterBase 4.x-5.x và các bản beta Firebird đầu tiên (0.9.x). Không thể mở cơ sở dữ liệu, kích thước tệp cơ sở dữ liệu là 4Gb.
Nguyên nhân
Giới hạn triển khai của InterBase 4.x-5.x-6.0.x và Firebird 0.9.x đầu tiên.
Quy trình khôi phục
Quy trình khôi phục tùy chỉnh.
Khả năng khôi phục
Thông thường, chúng tôi có thể cứu được toàn bộ dữ liệu (tức là 100%), nhưng đôi khi có thể thấp hơn 70%.
Conversion error from string
Mô tả lỗi
Nội dung lỗi: Conversion error from string “XXX”.
Nguyên nhân
Không thể chẩn đoán sơ bộ, cần điều tra tại chỗ.
Quy trình khôi phục
Quy trình khôi phục tùy chỉnh.
Khả năng khôi phục
99%
INET/inet_error: read errno = 10054 or 10038 or 10093
Thông báo lỗi
Nhiều mục trong firebird.log hoặc interbase.log với các lỗi 10054, 10038, 10093, v.v.
Nguyên nhân
Các lỗi này do sự cố mạng gây ra - hãy kiểm tra hub, bộ điều hợp mạng của bạn, v.v. Đây không phải là lỗi của Firebird/InterBase, nhưng nó có thể ảnh hưởng đến Firebird/InterBase.
Quy trình khôi phục
Chúng tôi cung cấp công cụ FBScanner để giải quyết vấn đề “lỗi 10054” (trong số các vấn đề khác). Xem chi tiết tại đây.
Khả năng khôi phục
Không áp dụng.
Partner index description not found (175))
Mô tả lỗi
Nội dung thông báo lỗi: internal gds software consistency check (partner index description not found (175))
Thiếu chỉ mục cho khóa chính hoặc khóa ngoại.
Nguyên nhân
Có thể do hỏng hóc vật lý hoặc lỗi nội bộ máy chủ.
Quy trình khôi phục
Quy trình khôi phục tùy chỉnh.
Khả năng khôi phục
100%
Các lỗi khác
Mô tả lỗi
Dưới đây là danh sách các lỗi Firebird/InterBase hiếm gặp có thể do nhiều nguyên nhân khác nhau. Đừng ngần ngại gửi mô tả sự cố của bạn cho chúng tôi - chúng tôi có thể giúp bạn.
UDF sai có thể gây ra các lỗi sau trong interbase.log:
SCH_validate – not entered
SCH_validate – wrong thread
Hỏng chỉ mục có thể gây ra thông báo sau trong interbase.log:
Page 34672 is an orphan
Và lỗi này có thể xảy ra khi chèn/cập nhật/xóa dữ liệu chuyên sâu trong một giao dịch duy nhất:
internal gds software consistency check (Too many savepoints (287))
Rất khó nhận biết nguyên nhân nếu không điều tra cơ sở dữ liệu trong trường hợp các lỗi sau:
internal gds software consistency check (error during savepoint backout (290))
internal gds Software consistency check (size of opt block exceeded (286))
internal gds software consistency check (invalid SEND request (167))
Nguyên nhân có thể
Nhiều nguyên nhân khác nhau. Chúng tôi cần điều tra cơ sở dữ liệu bị hỏng.
Quy trình khôi phục
Quy trình khôi phục tùy chỉnh.
Khả năng khôi phục
Khác nhau