2012-05-29 2 views
0

나는 여러 개의 Sqlite 데이터베이스를 매일 업데이트합니다. 그래서 매일의 백업을해야합니다. 어떤 사고가 발생하면 복구 할 수 있습니다. 그러나 매일 데이터베이스 전체를 백업하는 것은 비용이 많이 들기 때문에 증분 백업 (두 가지 다른 날짜 사이에 해당 정보 만 백업)을 수행하려고합니다.데이터베이스 증분 백업 및 복원 (Perl 또는 Java로 구현하는 방법)

현재 데이터베이스 업데이트 프로세스가 Perl에서 수행되므로 궁금한 점이 있습니다. 스크립트를 사용하여 Perl/Matlab/Java에서 증분 데이터베이스 백업/복구를 수행하는 방법을 아는 사람이 있습니까?

감사합니다.

감사합니다. Qiao.

답변

0
  1. 테이블에서 각 행이 변경되었을 때의 타임 스탬프를 저장합니다 (change_timestamp 열이라고 함).

  2. 행을 삭제하지 마십시오. 대신 "D"삭제 상태로 표시하십시오. 이렇게하면 마지막 백업 이후 삭제 된 행을 파악하여 머리를/뒤로 깰 필요가 없습니다. 마지막 두 행을 검색

    • 현재 실행 시간 저장 "백업 시간"테이블

    • 로 : 백업을 실행하면

    • 은 "백업 시간"테이블

    • 되세요 "백업 시간"테이블에서 (< 2 행이면 전체 백업 수행)

    • 백업 메인 타 마지막 백업 시간 스탬프 사이에 change_timestamp 인 행을 삭제하십시오.

당신은 감사 테이블의 현명한 사용에 # 1/# 2를 할 수 있지만 조금 더 어렵다.