从今天开始DB2相关的内容 系统为 Redhat 7.4 数据库为 v10.5fp10 上节我们说了如何建立数据库,这节内容为设置常见的参数 DB2中一个实例下可以有多个数据库,一个数据库只能属于一个实例 所有命令在db2inst1用户下运行 ## 1. 备份还原相关参数查看 **在线日志位置** ``` db2 get db cfg |grep -i newlogpat db2 update db cfg for testdb using NEWLOGPATH /newpath ``` **日志镜像参数** ``` db2 get db cfg |grep -i mirror db2 update db cfg for testdb using MIRRORLOGPATH /newpath ``` **归档日志参数** OFF代表循环日志模式 ``` db2 get db cfg for testdb |grep -i logarchmeth1 ``` **查看归档历史记录** ``` db2 list history archive log all for testdb ``` **查看当前第一个活动日志** ``` db2 get db cfg for testdb |grep -i first ``` **修改在线日志的大小和数量** ``` db2 update db cfg for testdb using logsecond 20 db2 update db cfg for testdb using logprimary 20 db2 update db cfg for testdb using logfilsiz 20 ``` ## 2. 备份数据库 ### 2.1 离线备份 ``` db2 backup db testdb to '/db2data/backup' ``` ### 2.2 在线备份 ``` db2 backup db testdb online to '/db2data/backup' include logs ``` ### 2.3 在线表空间备份 ``` backup db testdb tablespace (TB1,TB2) online to '/db2data/backup' backup db testdb tablespace (TB1,TB2) online to '/db2data/backup' include logs ``` ### 2.4 增量备份 ``` db2 get db cfg for testdb |grep -i trackmod db2 update db cfg for testdb using trackmod ON db2 backup db testdb online incremental 累积备份 db2 backup db testdb online incremental delta 迭代备份 ``` ### 2.5 检查备份是否正常 ``` db2ckbkp -h xxx ``` ### 2.6 监控备份状态 ``` db2 list utilities show detail ``` ## 3. 还原 ### 3.1 还原前检查 **查看bufferpool** 查看源库和目标库bufferpool情况,若目标库内存不满足源库,需要设为初始 ``` db2set DB2_OVERRIDE_BPF=1000 ``` 还原完毕后重新设置 ``` db2 alter bufferpool bp4k size 200000 db2set DB2_OVERRIDE_BPF= db2stop force db2start ``` **关闭目标库连接** ``` db2 list applications db2 connect to ebank db2 unquiesce db db2 connect reset db2 force application all db2 terminate ``` 如下一步中删除库失败则考虑重启实例 ``` db2stop db2start ``` ### 3.2 删除库 ``` drop database testdb ``` ### 3.3 还原库 **全备还原** ``` db2 restore db sample from /data1 taken at 2020023051525 logtarget /data1/logs ``` **增量还原** ``` db2 restore db sample incremental automatic taken at 2020023051525 logtarget /data1/logs 最后一次备份时间 ``` **还原表空间** ``` db2 "restore db sample tablespace (TBS1) online from /data1 taken at 2020023051525 ``` **只还原日志** ``` db2 restore db sample logs from /data1 logtarget /data1/logs ``` **重定向还原** ``` db2 restore db sample from /backup taken at <timestamp> redirect generate script redirect.ddl db2 -tvf redirect.ddl ``` **停止恢复** ``` db2 restore database testdb abort ``` ## 4.前滚恢复 ``` db2 "rollforward db testdb to end of logs and stop overflow log path (/data1/logs)" db2 rollforward db testdb to 2011-01-20-0.34.18.890729 using local time overflow log path (/data1/logs)" db2 "rollforward db testdb to end of backup and stop" ``` ## 5. 查看还原进度 ``` db2 list utilities show detail db2pd -utilities ```