이 페이지는 기계 번역되었습니다. 영어 원본을 읽어보세요. English

IBSurgeon 라이브러리

gfix.exe 출력에 대한 간단한 설명

Alexey Kovyazin, 2014년 4월 13일

gfix.exe가 완료되면 표준 출력(보통 화면)에 오류 요약(있는 경우)을 기록합니다. 다음은 gfix 출력에 대한 간단한 설명입니다:

  • 레코드 수준 오류 수 - gfix 작업 중 발견된 손상된 레코드 수입니다. 이러한 레코드는 올바르지 않으며, 본질적으로 손실된 것입니다.
  • 인덱스 페이지 오류 수 - 잘못된 인덱스의 인덱스 페이지 수입니다. 인덱스에서 단 하나의 키만 잘못되어도 gfix는 전체 인덱스를 잘못된 것으로 표시하므로 페이지 수는 일반적으로 많습니다. 그러나 이는 사용자 데이터에 영향을 미치지 않으며, 손상된 인덱스는 백업/복원 중에 재생성되므로 참고 정보로만 간주할 수 있습니다.
  • 트랜잭션 페이지 오류 수 - gfix에 의해 수정된 트랜잭션 페이지 수입니다. 일반적으로 이 메시지가 표시되면 gfix가 작업을 수행했고 이제 트랜잭션이 정상임을 의미합니다.
  • BLOB 오류 수 - 잘못된 BLOB 페이지 수로, 잘못된 BLOB의 수를 나타냅니다.
  • 데이터베이스 페이지 오류 수 - gfix가 방문하여 변경하거나 잘못된 것으로 표시한 데이터베이스 페이지의 총 수입니다. 역시 대부분 참고 정보입니다.

그런 다음 firebird.log를 확인하여 gfix가 식별한 문제에 대한 세부 정보를 볼 수 있습니다. 아마도 고아 페이지에 관한 많은 메시지를 보게 될 것입니다.

고아 페이지는 단지 손실된 공간입니다. 이는 오류의 결과이지만 오류 자체는 아닙니다.

고아 페이지는 다른 오류가 감지되지 않고 -full이 지정된 경우에만 수정됩니다.

또한 고아 레코드 버전에 대한 정보가 있을 수 있습니다. 이는 고아 페이지와 다릅니다. 고아 레코드 버전은 어떤 경우에도 수정되지 않으며 데이터베이스에 그대로 남아 있습니다.

gfix를 실행한 경우, 이러한 심각하게 손상된 레코드는 -mend가 지정된 경우에만 “손상됨"으로 표시하여 수정할 수 있습니다. 이러한 레코드는 데이터베이스에 남아 있지만 엔진에 의해 건너뜁니다.

따라서 gfix 출력은 손상된 Firebird 또는 InterBase 데이터베이스에서 발견된 문제에 대한 대략적인 추정치를 제공합니다. 이 요약의 좋은 점은 gfix가 이를 출력할 수 있다면 데이터베이스가 충분히 일관성이 있다는 것을 의미한다는 것입니다.

gfix가 손상된 데이터베이스를 복구하지 못한 경우 IBSurgeon FirstAID를 시도해 보세요.