环境:
SUSE Linux 11
DB2 v10.5
问题现象:
DB2数据库restore之后无法重新建立HADR,备机在单向上线后无问题,但主机一旦起来加进HADR集群中备机便会报错。数据库日志有以下两条明显现象。
MESSAGE :ZRC=0xFFFFFBF6=-1034
SQL1034C The database was damaged, so allapplications processing the database were stopped.
MESSAGE : ZRC=0x8610000D=-2045771763=SQLP_BADLOG"Log File cannot be used"
DIA8414C Logging can not continue due to anerror.
问题分析:
日志中所报的问题,是由于日志因为某种错误,而无法续写,导致数据库结构被破坏。
因为HADR的环境为建立后要保持两边日志同步,所以一旦备机的日志无法续写就无法提供HADR环境必要的结构,所以数据库会被Shutdown,从而导致HADR集群中只有主机在正常运行。
解决方案:
将做restore的目的机中原来的日志删掉。在恢复完成重建HADR关系主机加入后,主机会主动将其日志传递到备机。
例如:mv/db2log/dbname/NODE0000/LOGSTREAM0000/*.LOG /db2log/dbname/NODE0000/LOGSTREAM0000/old_logs