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를 시도해 보세요.