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

Thư viện IBSurgeon

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