DB2数据库备份和恢复

数据库备份(离线):
C:\Documents and Settings\quanlun>db2 backup db sample to 'E:\bk\test'
备份成功。此备份映像的时间戳记是:20101207095857

C:\Documents and Settings\quanlun>db2 drop db sample
DB20000I  DROP DATABASE 命令成功完成。
数据库恢复:
C:\Documents and Settings\quanlun>db2 restore db sample from 'E:\bk\test' taken at 20101207095857 without rolling forward
DB20000I  RESTORE DATABASE 命令成功完成。
注意:taken at 20101207095857 当中的时间戳应当是:
C:\Documents and Settings\quanlun>db2 backup db sample to 'E:\bk\test'

备份成功。此备份映像的时间戳记是:20101207095857
当中的时间戳值,否则恢复会抛出:
SQL2542N  根据所提供的源数据库别名 "SAMPLE" 和时间戳记
"20101207095908",找不到与数据库映像文件相匹配的文件。

注:
数据库的恢复分为:版本恢复和前滚恢复。
要使用前滚恢复方法,必须已建立了数据库的备份,并且已将日志归档。
此时数据库将被复原到创建离线备份映像时的状态。
如果没有对复原数据库操作指定without rolling forward选项,则该数据库在复原操作结束时处于
前滚暂挂状态。此时可进行前滚恢复。


表空间级别的备份/恢复操作要求数据库处于归档日志和启用增量备份模式下。
首先打开一下支持在线备份的数据库配置参数: 
db2 update db cfg for sample using userexit on 启用用户出口 
db2 update db cfg for sample using logretain on 启用归档日志 
db2 update db cfg for sample using trackmod on 启用增量备份功能 
由此得知:
表空间备份和恢复只能够使用在线。

例如:
C:\Documents and Settings\quanlun>db2 backup db sample tablespace(syscatspace,userspace1) to 'E:\bk\
test'
SQL2421N  因为未启用前滚恢复,所以不允许表空间级备份。

注:
在开启了支持在线备份的数据库配置参数:
db2 update db cfg for sample using userexit on 启用用户出口 
db2 update db cfg for sample using logretain on 启用归档日志 
db2 update db cfg for sample using trackmod on 启用增量备份功能 
之后数据库处于backup pending状态,要求做数据库的离线全备份。

C:\Documents and Settings\quanlun>db2 backup db sample to 'E:\bk\test'

备份成功。此备份映像的时间戳记是:20101207103724
而后在做在线备份:
C:\Documents and Settings\quanlun>db2 backup db sample online to 'E:\bk\test'

备份成功。此备份映像的时间戳记是:20101207103847

基于联机全量备份进行恢复
db2 restore db sample from $BAKPATH taken at 20101116145227 logtarget $OVERFLOWLOGPATH
db2 rollforward db sample to end of logs and stop
备注:时间点可以指定为备份时间点之后的任意时间点


db2 restore db sample from 'E:\bk\test' taken at 20101207133115 without rolling forward


db2 list history backup all for sample     //列出备份情况

猜你喜欢

转载自blog.csdn.net/m0_37604866/article/details/83755340