2014-10-07 193 views
0

我是这个SQLite的新手。所以长期使用集中维护的Oracle/SQL,所以DBA管理所有这些我正计划在我们的Java/JSP应用程序之一中使用SQLite DB。SQLite备份和恢复策略

的数据将被写入和读出这个DB

我存储在同一台服务器作为应用程序本身在此的SQLite数据库文件。有可能是DB文件被删除(出于什么原因)

我在想什么备份和恢复策略,我们可以在这里应用以增量备份数据库,并在最坏的情况下还原。

简单地复制文件(批处理文件从一个位置复制文件到另一个),每一个现在,因为数据库文件,可以使用

+0

“简单地复制文件(批处理文件以将文件从一个位置复制到另一个位置)每隔一段时间都不会起作用,因为可能会使用数据库文件”这并不妨碍您复制SQLite文件。 – 2014-10-07 10:26:02

+0

@Tichodroma照顾详细?谢谢 – KK99 2014-10-07 10:40:08

+0

只需复制SQLite文件。而已。 – 2014-10-07 11:04:47

回答

0

多大的文件你在说什么,然后将无法正常工作? http://tldp.org/HOWTO/LVM-HOWTO/snapshots_backup.html

正常的数据库,如MariaDB的你可以这样做::

锁定问题可能会因使用LLVM快照喜欢这里描述的解决

  1. 同花顺数据,并锁定写入
  2. 以LLVM快照
  3. 发布锁
  4. 将快照挂载到某处并使用tar进行备份, rsync,tarsnap等

然后再次,为了这个可用,你可能需要在创建快照时以某种方式锁定SQLite DB文件。

0

如果您确定数据库当前未被写入,则可以简单地复制该文件。

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

没有机制进行增量备份。