SQLite备份&恢复战略

时间:2014-10-07 09:11:11

标签: java sqlite jsp

我是这个SQLite的新手。长期以来一直使用集中维护的Oracle / SQL,以便DBA管理所有这些

我打算在我们的Java / JSP应用程序中使用SQLite DB。

数据将被写入并读取到此DB

我将此SQLite DB文件存储在与应用程序本身相同的服务器中。 DB文件可能会被删除(出于任何原因)

我想知道我们可以在这里应用什么备份和恢复策略,以便逐步备份数据库,并在最坏的情况下恢复。

只需将文件(批处理文件从一个位置复制到另一个位置)不时复制就行,因为可能会使用DB文件

2 个答案:

答案 0 :(得分:0)

你说的文件有多大?

使用如下所述的LLVM快照可以解决锁定问题: http://tldp.org/HOWTO/LVM-HOWTO/snapshots_backup.html

对于像MariaDB这样的普通数据库,您可以这样做:

  1. 刷新数据和锁定写入
  2. 获取LLVM快照
  3. 释放锁
  4. 在某处安装快照并使用tar,rsync,tarsnap等进行备份
  5. 然后,为了使用它,您可能需要在创建快照时以某种方式锁定SQLite DB文件。

答案 1 :(得分:0)

如果您确定当前没有写入数据库,则只需复制文件即可。

如果可能存在并发访问,则必须从数据库事务中读取数据库文件 SQLite有一个backup API;最简单的方法是使用.backup命令运行sqlite3命令行shell。

没有机制进行增量备份。