在做DB2 Purescale异机恢复测试,生产环境做了online备份,在测试环境restore,由于生产环境的服务器配置比较高,数据库的CF_DB_MEM_SZ内存设置比较大(不是automatic),测试环境服务器内存小于CF_DB_MEM_SZ,在测试环境执行restore一直报CF内存不足,没办法满足CF_DB_MEM_SZ设置,如生产环境参数不修改的前提下,是否能通过修改测试环境参数把这个问题绕过去?
db2 "restore db SAMPLEDB from /home/db2sdin1/SAMPLEDB taken at 20170817154738 to /db2data1/db2sdin1/SAMPLEDB logtarget /home/db2sdin1/SAMPLEDB/logflow"
SQL2049N Database activation failed because there is insufficient CF memory.
Reason code = "4".
=================
更新下进展,IBM实验室确认是产品BUG:要等出补丁或者申请special build才能解决。
更新下进展,重新打了实验室提供的补丁,restore完成后可以修改db参数,然后再执行rollforward,异机恢复成功。
恢复备份的时候要恢复 CF_DB_MEM_SZ 参数,就要分配内存,但是测试环境的内存不够,所以会报 SQL2049N 错误。如果 cf_db_mem_sz 设置了值的话, db2_database_cf_memory 就无效了。所以只能修改原来的数据库 cf_db_mem_sz 参数然后再 backup/restore 了
收起