InterBase/Firebird 손상으로 인한 일반적인 오류와 복구 가능성
Alexey Kovyazin, 31-03-2014
다음은 InterBase/Firebird 데이터베이스에서 발생하는 일반적인 오류와 문제 및 복구 가능성에 대한 설명입니다.
정확한 복구 비용과 시간을 확인하려면 이메일로 문의해 주세요.
대략적인 가격은 “Firebird and InterBase Recovery” 서비스 설명을 참조하세요. 설명된 오류가 설명된 원인과 정확히 일치한다는 100% 보장은 없습니다.
Internal gds software consistency check (cannot find tip page (165))
오류 설명
Firebird 또는 InterBase 엔진으로 데이터베이스를 열 수 없으며 다음 메시지가 나타납니다: Internal gds software consistency check (cannot find tip page (165))
비정상 종료 또는 물리적 데이터베이스 파일 손상. 트랜잭션 인벤토리 페이지(TIP)가 손실되었습니다. 손상 영역은 몇 페이지에서 전체 데이터베이스까지 다양할 수 있으므로 추가 조사가 필요합니다.
원인 (왜 발생했나?) 가장 가능성 있는 원인은 비정상적인 서버 종료(Reset 버튼 사용), 잘못된 백업 방식 또는 백업 도구입니다. Windows XP에서는 “gdb” 파일에 대해 “시스템 복원” 기능으로 인해 이러한 손상이 발생할 수 있습니다.
복구 과정
먼저 FirstAID Diagnostician으로 데이터베이스를 스캔해야 합니다. FirstAID가 심각한 손상에 대해 경고하지 않으면 전체 버전의 FirstAID로 손상을 복구할 수 있습니다.
심각한 손상의 경우 맞춤형 복구가 필요합니다.
손상 복구 가능성
99%
Database file appears corrupt. Wrong page type. Page NNN is of wrong type (expected X, found Y)
오류 설명
표준 출력 또는 firebird.log 또는 interbase.log에 오류 메시지가 나타납니다:
Database file appears corrupt. Wrong page type. Page NNN is of wrong type (expected X, found Y)
물리적 손상 또는 다른 이유로 데이터베이스 파일 페이지의 순서가 변경되었거나 포인터 페이지 또는 인덱스 루트 페이지 등에 잘못된 값이 나타났습니다.
원인
가장 가능성 있는 원인은 비정상적인 서버 종료(Reset 버튼 사용), 잘못된 백업 절차 또는 잘못된 백업 도구/방식입니다.
복구 과정
먼저 FirstAID Diagnostician으로 데이터베이스를 스캔해야 합니다. FirstAID가 심각한 손상에 대해 경고하지 않으면 전체 버전의 FirstAID로 손상을 복구할 수 있습니다.
그렇지 않으면 맞춤형 복구 프로세스가 필요합니다.
손상 복구 가능성
95%.
Unknown database I/O error for file “*.gdb”. Error while trying to read from file
오류 설명
데이터베이스를 열 수 없으며 다음 오류 메시지가 나타납니다: Unknown database I/O error for file “*.gdb”. Error while trying to read from the file.
원인
비정상적인 서버 종료로 인해 가장 최근의 데이터베이스 페이지가 디스크에 기록되지 않았습니다.
복구 과정
맞춤형 복구 프로세스. 데이터베이스는 gfix 및 백업/복원으로 확인됩니다.
복구 가능성
95%
Decompression overran buffer
오류 설명
오류 메시지가 나타납니다: Internal gds software consistency check (decompression overran buffer (179))
원인
심각한 데이터베이스 손상입니다: 시스템 테이블이 손상되었을 수 있습니다. 때때로 이 오류는 데이터베이스를 새 서버/컴퓨터로 전송한 후 발생합니다. 조사가 필요합니다.
복구 과정
데이터베이스 구조 분석, 새 페이지 생성, 여러 번의 반복이 필요합니다.
복구 가능성
95%
Wrong record length
오류 설명
오류 메시지가 나타납니다: Internal gds software consistency check. Wrong record length
원인
“Wrong record length” 오류는 대부분 불량 RAM으로 인해 발생합니다. 서버의 메모리(RAM)를 확인하는 것을 강력히 권장합니다.
복구 과정
IBSurgeon의 저수준 도구를 사용하여 잘못된 레코드를 찾아 삭제합니다. 여러 번의 반복이 필요합니다.
복구 가능성
97%
Database file appears corrupt. Bad checksum
오류 설명
Database file appears corrupt. Bad checksum. 데이터베이스 페이지 XX에 체크섬 오류가 발생했습니다.
원인
불량 RAM. 서버의 메모리(RAM)를 확인하는 것을 강력히 권장합니다.
복구 과정
맞춤형 복구 프로세스. 여러 번의 반복이 필요합니다.
복구 가능성
99%
Cannot find record back version
오류 설명
데이터베이스가 작동하는 것처럼 보이지만 gbak이 백업을 완료할 수 없습니다.
오류 텍스트:
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).
원인
가장 가능성 있는 원인은 잘못된 트랜잭션 관리입니다. 트랜잭션 성능 조사가 필요합니다.
복구 과정
데이터베이스에 대한 상세 분석이 필요하며, 일반적으로 문제가 있는 데이터베이스 객체를 찾아 삭제한 후 다시 생성하는 것이 해결책입니다. 때로는 데이터를 새 데이터베이스로 전송해야 할 수도 있습니다.
복구 가능성
99%
Next transaction older than oldest active transaction
오류 표시
Internal gds software consistency check (next transaction older than oldest active transaction (266))
원인
이 드문 오류는 InterBase 4.x-5.x에서 발생하며 버그입니다.
복구 과정
맞춤형 복구 프로세스
복구 가능성
99%
Corrupted header
오류 설명
데이터베이스를 열 수 없으며 Firebird/InterBase가 이를 유효한 데이터베이스로 인식하지 않습니다.
원인
물리적 손상, HDD 충돌.
복구 과정
맞춤형 복구 프로세스
복구 가능성
80%
Database file size exceeds implementation limit
오류 설명
InterBase 4.x-5.x 서버 및 초기 Firebird(0.9.x) 베타에서 발생합니다. 데이터베이스를 열 수 없으며 데이터베이스 파일 크기가 4Gb입니다.
원인
InterBase 4.x-5.x-6.0.x 및 초기 Firebird 0.9.x의 구현 제한.
복구 과정
맞춤형 복구 프로세스.
복구 가능성
일반적으로 모든 데이터를 저장할 수 있지만(즉, 100%), 때로는 70% 미만일 수 있습니다.
Conversion error from string
오류 설명
오류 텍스트: Conversion error from string “XXX”.
원인
예비 진단은 불가능하며 현장 조사가 필요합니다.
복구 과정
맞춤형 복구 프로세스.
복구 가능성
99%
INET/inet_error: read errno = 10054 or 10038 or 10093
오류 표시
firebird.log 또는 interbase.log에 10054, 10038, 10093 등의 오류가 여러 번 기록됩니다.
원인
이러한 오류는 네트워크 문제로 인해 발생합니다 - 허브, 네트워크 어댑터 등을 확인하세요. Firebird/InterBase 자체의 오류는 아니지만 Firebird/InterBase에 영향을 미칠 수 있습니다.
복구 과정
“10054 오류” 문제(및 기타 문제)를 해결하기 위해 FBScanner 도구를 제공합니다. 자세한 내용은 여기를 참조하세요.
복구 가능성
해당 없음.
Partner index description not found (175))
오류 설명
오류 메시지 텍스트: internal gds software consistency check (partner index description not found (175))
기본 키 또는 외래 키에 대한 인덱스가 누락되었습니다.
원인
물리적 손상 또는 내부 서버 버그로 인해 발생할 수 있습니다.
복구 과정
맞춤형 복구 프로세스.
복구 가능성
100%
기타 오류
오류 설명
다음은 다양한 원인으로 발생할 수 있는 드문 Firebird/InterBase 오류 목록입니다. 문제 설명을 주저하지 말고 보내주세요 - 도움을 드릴 수 있습니다.
잘못된 UDF로 인해 interbase.log에 다음 오류가 발생할 수 있습니다:
SCH_validate – not entered
SCH_validate – wrong thread
인덱스 손상으로 인해 interbase.log에 다음 메시지가 나타날 수 있습니다:
Page 34672 is an orphan
그리고 단일 트랜잭션 중 집중적인 삽입/업데이트/삭제 중에 이 오류가 발생할 수 있습니다:
internal gds software consistency check (Too many savepoints (287))
다음 오류의 경우 데이터베이스 조사 없이는 원인을 인식하기 어렵습니다:
internal gds software consistency check (error during savepoint backout (290))
internal gds Software consistency check (size of opt block exceeded (286))
내부 gds 소프트웨어 일관성 검사(잘못된 SEND 요청(167))
가능한 원인
다양한 원인이 있습니다. 손상된 데이터베이스를 조사해야 합니다.
복구 프로세스
맞춤형 복구 프로세스.
복구 가능성
다양함