备份恢复数据数据库案例二--利用在线备份恢复数据库。
一、设置归档参数
1、
drop database mydb
create database mydb
update db cfg for mydb using mirrorlogpathd:\backup\log
2、updatedb cfg for using userexit on //启用用户出口
3、db2update db cfg for using logretain on //启用归档日志
4、db2update db cfg for using trackmod on //启用增量备份功能
db2 => list applications
授权标识 应用程序名 应用程序 应用程序标识 数据库 代理
程序
句柄 名称 序号
---------------------- ---------- ---------------------------------------------
------------------------- -----
DB2ADMINdb2bp.exe 907 *LOCAL.DB2.110925011911
MYDB 1
DB2ADMINjavaw.exe 946 *LOCAL.DB2.110925013547
MYDB 1
DB2ADMINjavaw.exe 945 *LOCAL.DB2.110925013541
MYDB 1
db2 => force application all
DB20000I FORCE APPLICATION 命令成功完成。
DB21024I 此命令为异步的,可能未能立即生效。
db2 => list applications
SQL1611W “数据库系统监视器”没有返回任何数据。
db2 => connect to mydb
数据库连接信息
数据库服务器 = DB2/NT64 9.7.4
SQL 授权标识 =DB2ADMIN
本地数据库别名 = MYDB
二、备份在线数据库
1、db2 backup database mydbto d:\backup #在线备份
db2 => backup database mydb online tod:\backup
备份成功。此备份映像的时间戳记是:20110925094833
2、建立一个表用于模拟灾难恢复
db2 => create table test (idvarchar(10))
DB20000I SQL 命令成功完成。
db2 => insert into test values('1')
DB20000I SQL 命令成功完成。
db2 => commit work
DB20000I SQL 命令成功完成。
db2 => select * from test
ID
----------
1
1 条记录已选择。
3、在线做增量备份,#注意表定义及数据在这个增量备份中
db2 => backup database mydb incrementalto d:\backup
SQL1035N 数据库当前正在使用。 SQLSTATE=57019
db2 => list active databases
活动数据库
数据库名称 = MYDB
当前连接的应用程序 = 1
数据库路径 =D:\DB2\NODE0000\SQL00005\
db2 => force application stop
SQL0104N 在 "APPLICATION" 后面找到异常标记 "stop"。预期标记可能包括:"ALL"。
SQLSTATE=42601
db2 => force application all
DB20000I FORCE APPLICATION 命令成功完成。
DB21024I 此命令为异步的,可能未能立即生效。
db2 => backup database mydb incrementalto d:\backup
备份成功。此备份映像的时间戳记是:20110925104257
4、db2 list history backupall for mydb //查看备份记录
三、模拟灾难发生
1、#drop数据库,模拟灾难恢复的情况发生
db2 => drop db mydb
DB20000I DROP DATABASE 命令成功完成。
db2 => connect to mydb
SQL1013N 找不到数据库别名或数据库名称 "MYDB"。 SQLSTATE=42705
四、恢复数据库
db2 => restore db mydb incrementalautomatic from d:\backup taken at 20110925104257
DB20000I RESTORE DATABASE 命令成功完成。
db2=>
db2 => connect to mydb
数据库连接信息
数据库服务器 = DB2/NT64 9.7.4
SQL 授权标识 = DB2ADMIN
本地数据库别名 = MYDB
db2 => select * from test
ID
----------
1
1 条记录已选择。