AnyBackup-DB2 数据库备份失败,执行输出有 SQL2413N 错误信息
关键字
DB2、SQL2413N、归档模式、脱机备份
适用产品
· AnyBackup 6.0.x
· 超易备 5.0.x
问题描述
对于DB2 实例下首次创建的数据库执行备份时,备份任务执行输出,有如下错误信息:
-2413 : SQL2413N 由于数据库不可恢复或者已有备份暂挂条件生效,因此不允许进行联机备份。 [\var\JFR\workspace\C_P_DB2BACKUP\MY_OS_FULL\Windows_All_x64\svnrepo\5r\src\cpp\backup\db2\db2schedule\src\ncDB2Core.cpp:653](错误提供者:db2Backup,错误值:-2413)(错误提供者:db2Backup,错误值:183,错误位置:ncDB2BackupExec.cpp:254)
错误,DB2 备份失败。(错误提供者:db2Backup,错误值:e033001d,错误位置:ncDB2BackupExec.cpp:105)(附加信息:错误,读取 DB2 初始消息失败。(错误提供者:db2Backup,错误值:e033000d,错误位置:ncDB2BackupExec.cpp:653))
问题影响
DB2 数据库备份任务失败。
问题原因
当前 DB2 数据库未开启归档模式,所以,不支持 DB2 数据库热备份。
解决方案
将出现问题的 DB2 数据库开启归档模式,然后做一次脱机备份。
警告:以下步骤包含数据库的脱机备份,脱机备份会导致应用连接断开,请做好 DB2 相关业务停机准备。
Linux 操作系统:
1. 执行如下命令,以切换至 DB2 用户。注意:示例命令中的 “ db2inst1 ” 为准备备份的 DB2 数据库所属用户。
su - db2inst1
2. 检查数据库是否开启归档模式,此例中以数据库 " test1212 " 为例,操作命令如下:
db2 get db cfg for test1212 | grep arch
如下图所示," First log archive method (LOGARCHMETH1) = OFF " 表明数据库 " test1212 " 未开启归档模式。
3. 为数据库 " test1212 " 开启归档模式,归档路径为 " /opt/ibm/db2/arch ",归档路径可以根据实际环境来设置,操作命令如下:
db2 update db cfg for test1212 using logarchmeth1 disk:"/opt/ibm/db2/arch"
4. 再次确认数据库 ” test1212 “ 的归档模式,操作命令如下:
db2 get db cfg for test1212 | find /I "arch"
如下图所示,” First log archive method (LOGARCHMETH1) = DISK:/opt/ibm/db2/arch/ “ 表明数据库 ” test1212 “ 已成功开启归档模式。
5. 手动脱机备份数据库 " test1212 " 到目录 " /opt/ibm/db2/backup " 下,操作命令如下。注意:需要确保备份目的地存储空间足够。
db2 backup db test1212 to /opt/ibm/db2/backup
Windows 操作系统:
1. 点击开始菜单,进入 DB2 “ 命令窗口 - 管理器 ”,如下图所示:
2. 检查数据库是否开启归档模式,以数据库 " test1212 " 为例,操作命令如下:
db2 get db cfg for test1212 | find /I "arch"
如下图所示,” 第一个归档日志归档方法 (LOGARCHMETH1) = OFF“ 表明数据库 ” test1212 “ 未开启归档模式。
3. 为数据库 " test1212 " 开启归档模式,归档路径为 " C:\db2\arch ",归档路径可以根据实际环境来设置,操作命令如下:
db2 update db cfg for test1212 using logarchmeth1 disk:"C:\db2\arch"
4. 确认数据库 ” test1212 “ 的归档模式,操作命令如下:
db2 get db cfg for test1212 | find /I "arch"
如下图所示,” 第一个归档日志归档方法 (LOGARCHMETH1) = DISK:C:\db2\arch\ “ 表明数据库 ” test1212 “ 已成功开启归档模式。
5. 手动脱机备份数据库 " test1212 " 到目录 "C:\db2\backup" 下,操作命令如下:
db2 backup db test1212 to C:\db2\backup
注意:需要确保备份目的地存储空间足够。
更多信息
关于 SQL2413N 报错代码具体含义,请参考 DB2 官方文档:SQL2413N。