내부 gds 소프트웨어 일관성 검사 - Firebird/InterBase 데이터베이스를 복구하는 방법
Oleg Matveev, 20-Nov-2014
Firebird(또는 InterBase) 인스턴스가 데이터베이스 일관성에 영향을 주지 않는다는 보장 없이 일부 작업을 수행할 수 없는 경우, 오류(bugcheck)를 발생시키고 현재 작업을 중단합니다.
이러한 Firebird 오류 텍스트는 필수 접두사 “internal gds software consistency check (can’t continue after bugcheck)"(최신 Firebird 버전에서는 “internal Firebird software consistency check”)로 시작하며, 그 다음에 실제 오류 텍스트(예: “decompression overran buffer (179)")가 이어집니다.
종종 “internal software consistency check” 오류는 Firebird 데이터베이스가 손상되었음을 의미합니다(항상 그런 것은 아니지만). 즉, 내부 데이터베이스 이미지의 일관성이 깨졌으며 정상적인 작업을 계속하려면 복구해야 합니다.
firebird.log 또는 애플리케이션의 오류 메시지에서 이러한 오류를 발견하면 다음 명령을 실행하여 데이터베이스가 정상인지 확인하십시오:
gfix.exe -v -full -user SYSDBA -pass masterkey path_to_your_database
gfix 검증에서 오류가 반환되면 데이터베이스가 손상된 것이며 복구가 필요합니다.
먼저 gfix로 복구를 시도하십시오:
gfix.exe -mend -ig -user SYSDBA -pass masterkey path_to_your_database
그런 다음 데이터베이스를 백업하십시오:
gbak.exe -b -g -user SYSDBA -pass masterkey path_to_your_database path_to_backup
그리고 복원하십시오:
gbak.exe -c -v -user SYSDBA -pass masterkey path_to_backup path_to_new_database
gfix/gbak 중 문제가 발생하면 IBSurgeon FirstAID 도구로 손상된 데이터베이스를 복구하십시오 - 대부분의 “internal Firebird consistency check” 오류는 이 도구로 해결할 수 있습니다. FirstAID는 심각한 데이터베이스 손상을 처리하도록 특별히 설계되었습니다.
또한 손상된 Firebird 또는 InterBase 데이터베이스가 있는 경우 지원팀([email protected])에 문의하여 오류의 전체 텍스트(또는 스크린샷)를 제공해 주십시오.