DB2的在线备份是最常用的功能之一,我整理了下。
1.检查参数
Unix/Linux下的查看命令:
db2 get db cfg for xcldb|grep "USEREXIT"
db2 get db cfg for xcldb|grep "LOGRETAIN"
db2 get db cfg for xcldb|grep "TRACKMOD"
Windows下的查看命令:
db2 get db cfg for xcldb|find /I "userexit"
db2 get db cfg for xcldb|find /I "logretain"
db2 get db cfg for xcldb|find /I "trackmod"
2.配置参数,
使数据库变为归档日志模式,默认为循环日志模式,不支持联机备份.
DB2 v9及以前版本:
db2 update db cfg for xcldb using userexit on //启用用户出口
db2 update db cfg for xcldb using logretain on //启用归档日志
db2 update db cfg for xcldb using trackmod on //启用增量备份功能
userexit和logretain 参数在DB2 v10及以后版本中被废弃了.改用LOGARCHMETH1参数来实现.
db2 update db cfg for xcldb using LOGARCHMETH1 disk:/u01/db2log
LOGARCHMETH1: DISK : 本地磁盘
TSM : Tivoli Storage Manger
VENDOR : 第三方存储设备
不过增量备份的设置参数trackmod,依然如故.
3.数据库变为 Backup pending 状态,需要离线备份一次
db2 backup db xcldb to /db2bak
4.测试连接,看是否能连接成功
db2 connect to xcldb
db2 connect reset
5.手工归档,查看一下是否有产生日志文件
5.1 查找日志文件所在目录
--为
Path to log files 参数所对应的值.
db2 get db cfg for xcldb
5.2 手工归档
db2 archive log for db xcldb
5.3 去日志目录检查下文件是否有产生
ls -lrt
6.联机(在线)备份,有下面几种方式
--仅备份数据库,不包含日志
-- compress : 压缩备份集
db2 backup db xcldb online to c:\\db2bak compress
--备份数据库,并且备份中包含日志
db2 backup db xcldb online to c:\\db2bak include logs
--增量备份
db2 backup db xcldb
online incremental to c:\\db2bak include logs
--差量(Delta)备份
db2 backup db xcldb
online incremental delta to c:\\db2bak include logs
7. 查看备份记录
db2 list history backup all for xcldb
日志相关的知识,下面两文章都有详细说明:
DB2日志基本概念
DB2日志的管理
在线备份的恢复有点复杂,另放一篇.
MAIL:
[email protected]
Blog:http://blog.csdn.net/xcl168