미안하지만 복구할 수 있는 방법은 거의 없는 걸로 알고 있습니다.
이런 결과가 나오지 않게 하는게 최선입니다.
DB 파일이 손상되는 이유는 대략적으로 두가지가 있습니다.
첫째, Forced Write 옵션이 Disabled 일 경우 (인터베이스는 디폴트가 Disabled, 파이어버드는 Enabled)
insert나 update 속도는 빨라지지만 디비에 쓰는 중간에 전원이 오프 되거나 프로그램을 강제 종료할
경우 거의 대부분 디비파일이 손상됩니다. 반드시 Forced Write 옵션을 Enabled로 해주십시요.
둘째, 다량의 데이터를 insert 또는 update 할 경우 관계가 연결된 table들의 변경을 완료하고 다음 항목으로
넘어가기전에 반드시 Commit을 해주십요. 만약 insert나 update을 수백, 수천건 한 후 Commit을 하기전에
전원이 오프 되거나 프로그램을 강제 종료할 경우 역시 디비파일이 손상됩니다.
이 두가지만 잘 지키면 절대 디비파일은 깨어지지 않습니다.
전 Firebird 1.5를 한 2년정도 쓰면서 전국 30여개 업체에 공급했지만 위의 두가지를 지키며 프로그램
한 이후로는 한번도 깨어진적이 없습니다.
원하는 직접적인 답변이 아니것 같아서 죄송합니다.
초보 님이 쓰신 글 :
: Database file appears corrupt ()
: bad checksum
: checksum error on database page 44727
: Statement: select * from user
:
: 이런 에러가 뜹니다.
: 이곳에 복구 내용 올라와있는것들을 모두 해보았는데...
: 제가 뭘 잘못하고 있는건지 좀 많이 답답하네요 ^^;;;
:
: 인터베이스 쓰시는 님들 노하우를 공개해 주세요 ^0^
|