Firebird数据库的部分/选择性备份/复制

时间:2012-10-30 22:18:03

标签: database backup firebird

我想备份Firebird数据库但是从备份中排除某些表,这可能吗?

如果没有,我想在Firebird数据库正在运行时复制它(不进行备份,然后进行恢复)

gbak和nbackup似乎都不支持这样的东西,但我们公司里面有一个可以进行选择性备份的软件,我根本不知道它是如何工作的。我想复制它的行为。

3 个答案:

答案 0 :(得分:0)

您可以使用fbexport导出表格和查询 http://fbexport.sourceforge.net

答案 1 :(得分:0)

gbak只能执行完整的数据库,但可以在Firebird联机时运行。

在没有备份的情况下使用gbak最接近的方法是通过将gbak -B管道传输到gbak -R来跳过中间备份文件。这应该可以节省一些时间,因为两个操作同时发生。例如,

gbak -B dbhost:mydb stdout -user SYSDBA -password masterkey | gbak -R stdin /firebird/mydbcopy.fdb -user SYSDBA -password masterkey

否则,如果您只是想移动数据,那么您正在查看第三方工具。您还可以编写一个过程来利用ON EXTERNAL DATA SOURCE在本地刷新所选表。 (仅限Firebird 2.5)

答案 2 :(得分:0)

在Fireb的版本3中,gbak中有一个名为skip_d的新参数,您可以为此参数提供正则表达式。

您可以在here

中找到详细信息

例如:gbak -b -skip_d'(table1 | table2 | table3)' - 用户......