DB2 数据库备份

 四、 DB2 数据库备份实验(附完整命令脚本清单)

4.1 DB2 数据库实验准备工作
(1)、Step1:创建测试数据库 TestDB

脚本清单
CREATE DATABASE TestDB
ON 'D:'
USING CODESET GBK TERRITORY CN
WITH 'Pjj''s Test DB';
}

(2)、Step2:创建数据库管理表空间 Data_SP(注意路径,如果没有请创建)

脚本清单 

CREATE REGULAR TABLESPACE Data_SP
PAGESIZE 4 K
MANAGED BY DATABASE
USING ( FILE 'D:\DB2\Container\TestDB\UserData\UserData' 2560 )
BUFFERPOOL IBMDEFAULTBP;

     说明:上面的脚本创建了一个名为 Data_SP 的数据库管理表空间,该表空间使用的缓冲池为 IBMDEFAULTBP,存储路径为 D:\DB2\Container\TestDB\UserData\,存储文件名为 UserData,大小为 2560 * 4K = 10M,页大小为 4K。

(3)、Step3:创建测试表 TestTable 并插入测试数据

脚本清单

CREATE TABLE TestTable
(
ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 0, INCREMENT BY 1, NO CACHE ),
Message VARCHAR(100),
PRIMARY KEY(ID)
)IN Data_SP; 

--插入测试数据 
INSERT INTO TestTable(Message) 
VALUES('测试表建立成功'); 

    说明:建立测试表并插入数据是为了稍候验证数据库恢复的时候用的。

(4)、Step3:创建测试表 TestTable 并插入测试数据
脚本清单

CREATE TABLE TestTable
(
ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 0, INCREMENT BY 1, NO CACHE ),
Message VARCHAR(100),
PRIMARY KEY(ID)
)IN Data_SP;
--插入测试数据 
INSERT INTO TestTable(Message)
VALUES('测试表建立成功'); 

4.2 DB2 数据库脱机备份与恢复实验

脚本清单

--Step1:完全备份数据库(脱机,备份时间戳记为 20071121152940) 

db2 backup db TestDB to D:\DB2_Train
--Step2:模拟灾难,强制删除数据库 

db2 drop db TestDB
--Step3:根据该数据库完全备份还原数据库 

db2 restore db TestDB from D:\DB2_Train taken at 20071121152940 

4.3 DB2 数据库增量备份与恢复实验

脚本清单

--数据库增量备份以及还原实验 

--修改数据库参数 TrackMod ,使之支持数据库进行增量备份 
db2 update db cfg using TrackMod YES
--更改参数后必须完全离线备份数据库(脱机,备份时间戳记为 20071121153818) 
db2 backup db TestDB to D:\DB2_Train
--插入测试数据 
INSERT INTO TestTable(Message)
VALUES('开始增量数据库备份测试');
--开始增量备份(脱机,备份时间戳记为 20071121154006) 
db2 backup db TestDB incremental to D:\DB2_Train
--删除数据库,模拟数据灾难 
db2 drop db TestDB
--首先还原至完全离线备份状态 
db2 restore db TestDB from D:\DB2_Train taken at 20071121153818
--还原至增量离线备份状态 
db2 restore db TestDB incremental automatic from D:\DB2_Train taken at 20071121154006
--注意:上述语句中,有一个 automatic ,它表示无论有多少个增量备份,系统将全自动检索恢复数据库的顺序并自动恢复数据库。如果没有 automatic ,则需要多次手动恢复数据库,很麻烦而且容易出错。 

--Step3:根据该数据库完全备份还原数据库 
db2 restore db TestDB from D:\DB2_Train taken at 20071121152940
--还原数据库后查询测试表数据检验数据是否恢复成功 

4.4 DB2 数据库联机机备份与恢复实验
    说明:联机备份数据库可以使数据库在备份的同时仍然保持在可用状态。要让数据库支持联机备份,必须更改数据库的日志归档方式。在脱机备份模式下,数据库采用循环日志方式记录数据库日志,在联机备份模式下,数据库则采用归档日志的方式备份数据库日志。另外,对于联机备份的数据库来说,活动日志和归档日志就很重要了,一定要经常备份、保存。

脚本清单

--数据库联机备份以及还原实验 

--连接至数据库并插入测试数据 
db2 connect to TestDB
--插入测试数据 
INSERT INTO TestTable(Message)
VALUES('开始联机数据库备份测试--完全备份');
--修改数据库参数,使之支持在线联机备份 
db2 update db cfg for TestDB using logretain on trackmod on
--执行增量、在线备份之前必须执行离线全备份一次,否则数据库将处于备份暂挂的不可用状态 
--(联机完全备份,时间戳记:20071121160548) 
db2 backup db TestDB
--连接至数据库并插入测试数据 
db2 connect to TestDB
--插入测试数据 
INSERT INTO TestTable(Message)
VALUES('开始联机数据库备份测试--增量备份');
--执行联机备份,备份同时再打开一个会话,模拟应用在线(联机增量备份,时间戳记:20071121152922) 
db2 backup db TestDB online incremental to D:\DB2_Train
--模拟灾难,删除数据库! 
--重要,此前一定要将活动日志文件备份至另一个路径,保存好,本例中,活动日志保存在 C:\db2admin 下。 
db2 drop db TestDB
--根据在线完全备份恢复数据库 
db2 restore db TestDB from D:\DB2_Train taken at 20071121160548
--根据在线增量备份恢复数据库 
db2 restore db TestDB incremental automatic from D:\DB2_Train taken at 20071121152922
--恢复后的数据库处于前滚暂挂的不可用状态 
db2 connect to TestDB
--前滚数据库,并指定归档日志位置,重要! 
db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE OVERFLOW LOG PATH ("C:\db2admin") 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值