1.问题:在将A服务器的在线db2备份文件以及日志传输到B服务器上进行还原,在restore的过程中没有报错,在对database进行rollforward的过程中报错,报sql1218n there are no pages currently available in bufferpool "". sqlstate=57011错误,查看db2diag报no available free pages等。
2.原因分析:A服务器上的库bufferpool设置的比较大,在B服务器上没有那么大的内存,所以会报错,在forward的时候用topas或者nmon进行内存观察可以进行分析。
3.解决:db2有一个全局变量db2_override_bpf,可以对这个变量进行设置,具体设置多大,根据B服务器的内存进行规划,在设置的过后需要重启db2已使其生效。设置的小在rollforward的时候会非常慢,现在在根据一个备份文件,需要rollforward三个多月的数据,现在过了一天才前滚了5天不到的数据。
4.接着观察rollforward的进度。