在线备份整个数据库
db2inst4@BI-DEV:~> db2 backup db aismart2 online to /db2fs05 include logs
注意:在线备份要求日志是归档模式,在线备份时最好不要执行其他运维任务,比如runstats等。否则可能会出现锁竞争而回滚的情况。
如果下面错误:
SQL2413N Online backup is not allowed because the database is not recoverable
or a backup pending condition is in effect.
原因:数据库在线备份需要启用归档日志功能,该数据库未启用。
备份指定的表空间
db2inst4@BI-DEV:~> db2 "backup db aismart2 tablespace(SYSCATSPACE,USERSPACE1) online to /db2fs05"
增量备份
db2inst4@BI-DEV:~> db2 backup db aismart2 --做离线完全备份
db2inst4@BI-DEV:~> db2 backup db aismart2 online incremental delta
--在线增量迭代备份
db2inst4@BI-DEV:~> db2 backup db aismart2 online incremental
--在线增量备份
备份文件命名规则
备份类型:0代表全备,3代表表空间备份,4代表Load COPY备份。
单分区环境:分区节点号固定为NODE0000
编目节点:固定为CATN0000
检查备份文件的有效性
db2inst2@BI-DB2:~> db2ckbkp -h /data/backup_portal/PORTAL82.0.db2inst2.DBPART000.20220114215003.001
db2inst2@BI-DB2:~> db2ckbkp -h -a /data/backup_portal/PORTAL82.0.db2inst2.DBPART000.20220114215003.001|grep -i "File Number" --检查需要前滚的日志文件
备份监控
db2inst4@BI-DEV:~> db2 list utilities show detail
通过执行时间和监控时间,大致估算完成整个备份需要的时间
数据库恢复
当目录中有多个备份介质的时候,必须指定taken at来确定哪个备份文件
db2inst2@BI-DB2:~> db2ckbkp -h /data/backup_portal/PORTAL82.0.db2inst2.DBPART000.20220114215003.001 --找到对应的时间戳
db2inst2@BI-DB2:~> db2 restore db PORTAL82 from /data/backup_portal/ taken a 20220114215003
BI-DB2:/data/backup_portal # db2 rollforward db PORTAL82 to end of backup and stop
表空间恢复
可以从数据库备份(需要启用了归档日志模式)或表空间备份中恢复表空间。恢复时,正在恢复的表空间不可访问,指定online选项后,用户可以连接数据库,并访问其余表空间。表空间恢复后,会处于rollforward-pending状态,需要前滚到表空间最小恢复时间点。
db2inst2@BI-DB2:~> db2 "restore db PORTAL82 tablespace (USERSPACE1) online from /data/backup_portal/ taken at 20220114215003"
增量备份和恢复
备份策略为:周末做离线完全备份,然后周一、周二做迭代增量备份(delta),周三做增量备份,周四、周五做迭代增量,周六做增量备份
--周日做离线完整备份
db2inst4@BI-DEV:~> db2 backup db AISMART2
--周一做迭代增量
db2inst4@BI-DEV:~> db2 backup db AISMART2 online incremental delta
--周二做迭代增量
db2inst4@BI-DEV:~> db2 backup db AISMART2 online incremental delta
--周三做增量
db2inst4@BI-DEV:~> db2 backup db AISMART2 online incremental
--周四做迭代增量
db2inst4@BI-DEV:~> db2 backup db AISMART2 online incremental delta
--周五做做迭代增量
db2inst4@BI-DEV:~> db2 backup db AISMART2 online incremental delta
--周六做增量
db2inst4@BI-DEV:~> db2 backup db AISMART2 online incremental
如果要恢复到周五,可以通过incremental automatic taken at<周五时间戳>,automatic选项自动按照顺序进行恢复。
db2inst4@BI-DEV:~> db2 restore db AISMART2 incremental automatic taken at 20220114215003 --要在备份文件所在的目录下
--查看恢复历史文件产生恢复顺序
db2inst4@BI-DEV:~> db2ckrst -d AISMART2 -t 20220114215003 -r database
恢复到另外一个数据库目录或存储路径
指定DBPATH ON /data/db2data,如果目标库不存在,那么会将数据库目录存在/data/db2data,但自动存储路径不变。如果目标库存在,则忽略DBPATH ON。
[db2inst1@node1 ~]$ cd /tmp/ --进入备份文件存放路径
[db2inst1@node1 tmp]$ db2 "restore db PORTAL82 dbpath on /data/db2data"
--恢复数据库




