DB2离线备份与恢复
DB2离线备份最简单的命令可以是这样:db2 backup db sample to c:\db2bak 但实际做定时备份时哪这么简单,我整理了UNIX/Linux及Windows下做定时离线备份的脚本.很好用的.UNIX/Linux:1. 新建目录并授权以便存放备份文件[root@O11g64 tmp]# id db2inst1uid=1051(db2inst1) g
·
DB2离线备份最简单的命令可以是这样:db2 backup db sample to c:\db2bak
但实际做定时备份时哪这么简单,我整理了UNIX/Linux及Windows下做定时离线备份的脚本.
很好用的.
UNIX/Linux:
1. 新建目录并授权以便存放备份文件
[root@O11g64 tmp]#
id db2inst1
uid=1051(db2inst1) gid=1010(db2iadm1) groups=1010(db2iadm1),1020(db2fadm1)
mkdir /db2bak
chown -R db2inst1:db2iadm1 /db2bak
2. 新建BAT文件db2bkoffline.sh
#author:xiongchuanliang
#停顿数据库
db2 connect to xcldb
db2 quiesce database immediate force connections
db2 connect reset
#断开所有应用
db2 force application all
#离线备份
db2 backup db xcldb to "/db2bak" with 2 buffers buffer 1024 parallelism 1 without prompting
#取消数据库停顿
db2 connect to xcldb
db2 unquiesce database
db2 connect reset
exit
3. 授权
chmod a+x /tmp/db2bkoffline.sh
4. 运行备份
su - db2inst1 -c "/tmp/db2bkoffline.sh" >> /db2bak/db2bkoffline.log
Windows下:
1. 新建BAT文件db2bkoffline.bat
;;author:xiongchuanliang
;;停顿数据库
db2 connect to xcldb
db2 quiesce database immediate force connections
db2 connect reset
;;断开所有应用
db2 force application all
;;离线备份
db2 backup db xcldb to "c:\\db2bak" with 2 buffers buffer 1024 parallelism 1 without prompting
;;取消数据库停顿
db2 connect to xcldb
db2 unquiesce database
db2 connect reset
exit;
2. 运行备份
db2cmd /c /w /i db2bkoffline.bat >> c:\\db2bkoffline.log
参数说明:
-- 2 buffers : 两个缓存
-- buffer 1024 : 缓存大小为1024
-- parallelism 1 : 并行度
上面这些参数在备份时,如果不指定DB2会自动调整成相关值.
离线备份的恢复也很简单
db2 list history backup all for xcldb
db2 resotre db xcldb from /db2bak taken at 时间戳
-- 结束DB pending状态
db2 rollforward db xcldb stop
MAIL:xcl_168@aliyun.com
Blog:http://blog.csdn.net/xcl168
更多推荐
已为社区贡献2条内容
所有评论(0)