我尝试使用以下命令备份 IBM DB2 (LUW) 数据库:
./db2 backup database DBEMP to /home/user1/db2bkup
但我收到了这条信息:
SQL1035N 数据库当前正在使用中。SQLSTATE=57019
然后我尝试了这个:
./db2 backup database DBEMP online to /home/user1/db2bkup
我收到了这条消息:
SQL2413N 不允许联机备份,因为数据库不可恢复或备份暂挂条件有效。
这是什么意思?有没有其他方法可以在线备份数据库?我无法停止数据库,因为它正在被使用。
不幸的是,如果 DB2 数据库处于循环日志记录模式(这是创建 DB2 数据库时的默认设置),则无法对其进行在线备份。
您可以通过发出以下命令来检查您的数据库是否正在使用循环日志记录:
如果两个 LOGARCHMETH 选项都关闭...
...然后您需要更改数据库配置以使用存档日志记录,然后才能进行备份。我不能 100% 确定这一点,但我相信您需要重新启动数据库并进行离线备份,然后才能开始进行在线备份。
IBM 的“配置数据库日志记录选项”文档中概述了如何执行此操作。
请注意,如果您从 CIRCULAR LOGGING 更改为 ARCHIVE LOGGING,您需要弄清楚如何处理您的归档日志文件。如果这些数据对您很重要,那么将它们存储在 SAN/NAS/磁带上以允许前滚恢复可能是一个非常好的主意。
联机备份要求启用数据库以进行前滚恢复。但是,这不是您创建数据库时的默认设置。
为此,您需要设置
LOGARCHMETH1
数据库配置参数。完成此操作后,您需要进行一次离线备份(即,不能连接任何用户)。完成这些步骤后,您将能够根据需要运行在线备份。
您可能需要花一些时间阅读 DB2 Database Administration 指南的Data Recovery部分,以帮助您熟悉 DB2 Backup/Recovery。