2012-05-29 30 views
0

我有幾個Sqlite數據庫,每天都會更新。所以我需要做每日備份,以防萬一發生崩潰,所以我可以恢復。但是,每天備份整個數據庫的成本很高,因此我正在考慮進行增量備份(僅在兩個不同日期之間備份這些信息)。數據庫增量式備份和還原(如何在Perl或Java中實現)

目前我的數據庫更新過程是在Perl中完成的,所以我想知道:有誰知道我該如何使用腳本在Perl/Matlab/Java中執行增量數據庫備份/恢復?

謝謝!

此致, 喬。

回答

0
  1. 存儲表格中每行被更改的時間戳(稱爲change_timestamp列)。

  2. 不要刪除行 - 而是將它們標記爲「D」刪除狀態。通過這種方式,您不必破解自上次備份後刪除的行。

  3. 有一個 「備份時間」 表

  4. 當你運行一個備份:

    • 保存當前的運行時間爲 「備份時間」 表

    • 檢索最後2行從「備份時間」表(如果< 2行,做完全備份)

    • 備份主TA其中change_timestamp位於最後2個備份時間戳之間。

你可以做#1 /#2,如果使用得當審計表,但它是一個有點困難。