DB2数据库备份与恢复
2014-01-15 19:29
169 查看
DB2数据库备份与恢复
1. 备份
1.1离线备份(必须在数据库所在PC机进行操作)
STEP 1 连接到要备份的数据库
C:\Documentsand Settings\Administrator>db2 connect to ncc usernccwykpi using nccwykpiSTEP 2 显示数据库应用状态
C:\Documentsand Settings\Administrator>db2 list applicationsSTEP 3 停掉数据库应用
C:\Documentsand Settings\Administrator>db2 force applicationsall注意:由于该命令是异步的,所以在进行备份的时候会出现以下错误信息。此时可以再次执行db2 force applications all
命令。
STEP 4 对数据库进行离线状态下的备份
C:\Documentsand Settings\Administrator>db2 backup database nccto d:\db2\backup注意:指定的备份文件的输出目录必须是已创建的,否则会报错。
STEP 5 查看备份历史记录
C:\Documentsand Settings\Administrator>db2 list history backupall for ncc1.2在线备份
注意:如果要做在线的备份,要对两个参数作修改:USEREXIT和LOGRETAIN,将其修改为on,默认是off的,默认使用日志模式,修改完参数后,可以变为归档日志模式,启用了userexit做数据库日志的归档。STEP 1 查看数据库当前的属性
C:\Documentsand Settings\Administrator>db2 get db cfgSTEP 2 设置userexit、logretain参数的状态为on
C:\Documentsand Settings\Administrator>db2 update db cfg for nccusing userexit onC:\Documentsand Settings\Administrator>db2 update db cfg for nccusing logretain on
注意:修改配置参数必须是数据库管理员,并且必须停掉全部应用后更改才会生效。
STEP 3 连接需要备份的数据库(注意)
注意:此时由于数据库处于backup pending状态,所以必须做一次离线的全备才可以进行数据库连接。STEP 4 对数据库进行在线状态下的备份
C:\Documentsand Settings\Administrator>db2 backup database ncconline to d:\db2\backup
1.3增量备份
注意:必须要修改trackmod为on状态,并有一次完全备份。STEP 1 修改trackmod参数为on状态
C:\Documentsand Settings\Administrator>db2 update db cfg for nccusing trackmod yesSTEP 2 停掉数据库应用
C:\Documentsand Settings\Administrator>db2 force applicationsallSTEP 3 对数据库进行增量备份
C:\Documentsand Settings\Administrator>db2 backup database ncconline increment
aldelta to d:\db2\backup
注意:在进行增量备份之前需要做一次离线的全备。否则是backup pending状态的。
如若此时并未执行一次离线的全备那么会出现下面的错误。
故:
2. 恢复
2.1恢复完全备份
STEP 1 查看备份历史记录
C:\Documentsand Settings\Administrator>db2 list history backupall for nccSTEP 2 停掉数据库应用
C:\Documentsand Settings\Administrator>db2 force applicationsallSTEP 3 恢复某个时间点的数据
C:\Documentsand Settings\Administrator>db2 restore database nccfrom d:\db2\backup taken at 20120206094204STEP 4 回滚到日志结束(可不执行,即不恢复日志)
C:\Documentsand Settings\Administrator>db2 rollforward databasencc to end of logs and stop2.2恢复增量备份
STEP 1 连接数据库
C:\Documentsand Settings\Administrator>db2 connect to ncc usernccwykpi using nccwykpiSTEP 2 显示数据库应用状态
C:\Documentsand Settings\Administrator>db2 list applicationsSTEP 3 停掉数据库应用
C:\Documentsand Settings\Administrator>db2 force applicationsallSTEP 4 恢复增量备份
C:\Documentsand Settings\Administrator>db2 restore database nccincremental automatic from d:\db2\backup taken at 20120206133457STEP 5 回滚到日志结束(可不执行,即不恢复日志)
[b]C:\Documentsand Settings\Administrator>db2 rollforward databasencc to end of logs and stop3. 检查备份完整性
当备份完成后,使用db2ckbkp命令不仅可以用来检查DB2数据库备份文件的完整性,而且还可以用来查询DB2数据库备份文件的元数据。同时可以使用db2ckbkp –h<备份文件>来检查DB2数据库备份的类型。3.1使用db2ckbkp –h<备份文件>命令来查看DB2数据库备份的类型
C:\Documentsand Settings\Administrator>db2ckbkp -hd:\db2\backup\NCC.0.DB2.NODE0000.CATN0000.20120206133232.001注意:我们可以通过上述输出中的
来确定备份的类型。三个关键字的说明如下:
incremental和delta的说明如下:
3.2回滚日志
当回滚日志找不到日志文件而出错时,数据库处于roll-forward pending状态,此时不能连接或激活数据库。解决方案如下:3.3数据库恢复
如果一个数据库启用了归档日志记录,那么当该数据库被恢复时,它将自动被置于rollforwardpending状态。可以使用如下命令告诉DB2不要将该数据库置于rollforwardpending状态。C:\Documentsand Settings\Administrator>restore database ncc fromd:\db2\backup taken at 20120206151346
withoutrolling forward
如果数据库启用了归档日志记录,处于rollforwardpending状态,此时连接数据库将会提示
此时可使用如下命令使数据库状态恢复正常
此时再执行连接数据库即可连接成功。
相关文章推荐
- 数据库中插入不进数据现象
- Linux下面oracle安装方法总结
- oracle10g精简版
- plsql 乱码
- Oracle 表空间
- nginx+tomcat+memcached 搭建
- Redis主从复制
- Oracle数据库之PLSQL异常
- SQL Server Index详解
- 提高oracle查询效率
- 查询数据库的所有者
- 如何计算memcache的容量
- [oracle] DBLINK +同义词,实现本地数据库访问另一台机器的数据库
- mysql GROUP BY 字符相加
- sql server 行转列
- Oracle 关于V$OPEN_CURSOR
- (一) 1:oracle 数据库的安装
- Replication--数据库镜像阻塞复制日志读取器的解决的办法
- oracle对大对象类型操作:blob,clob,nclob
- oracle对大对象类型操作:blob,clob,nclob