BACKUP PENDING
DB2数据库LOGRETAIN参数用来标示数据库的日志模式:
LOGRETAIN= RECOVERY,表示归档日志模式;LOGRETAIN=NO,表示循环日志模式。
若修改数据库LOGRETAIN参数,从循环日志模式改为归档日志模式,则会导致数据库backup pending状态。如:
执行“db2 update db cfg for dbname using LOGRETAIN RECOVERY”
数据库状态“Backup pending = YES”
此时就无法连接,访问数据库“SQL1116N A connection to or activation of database “dbname” cannot be made because of BACKUP PENDING. SQLSTATE=57019”
此时,需要对数据库做离线全库备份,使状态恢复正常,以便正常访问。
执行“db2 backup db dbname to /db2backup”
数据库状态恢复正常“Backup pending = NO”
修改完后重启数据库
db2 terminate
db2 force applications all
db2stop force
db2start
注:在设置归档日志模式时,
“db2 update db cfg for dbname using LOGRETAIN RECOVERY”与
“db2 update db cfg for dbname using LOGARCHMETH1 LOGRETAIN”等价
做数据库恢复时,经常会遇见数据库恢复一半时出错,导致数据库处于backup pending状态。解决方法有两种:
一、重新备份数据库。将数据库重新备份,备份成功后数据库状态会更新为正常状态。
二、执行下面的脚本:
update db cfg for stma2 using LOGARCHMETH1 off
update db cfg for stma2 using LOGARCHMETH2 off