Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103631871
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-14 13:04:23

   来源:blog    作者:diablo2

备份成功。此备份映像的时间戳记是:20051230184841

命令完成后可以在当前目录下看到产生了一个 SAMPLE.3 的子目录,表明产生的是一个表空间级的备份。


 

E:\TEST>db2 connect to sample 
E:\TEST>db2 list tablespaces 
表空间标识 = 2 
名称 = USERSPACE1 
类型 = 系统管理空间 
内容 = 任何数据 
状态 = 0x0000

详细解释:

正常

而所产生这份关于表空间的备份可在数据库因前滚操作将表空间置为“复原暂挂”状态时用于将表空间状态恢复为正常,并恢复 LOAD 操作对该表的修改。如当前滚数据库超过 LOAD 时间点后,表空间将被置为复原暂挂状态:

E:\TEST>
db2 restore db sample taken at 20051230174105 
DB20000I RESTORE DATABASE 命令成功完成。 
E:\TEST>db2 rollforward db sample to end of logs and stop 
SQL1271W 已恢复数据库 "SAMPLE",但在节点 "0"上有一个或多个表空间脱机 
E:\TEST>db2 connect to sample 
E:\TEST>db2 list tablespaces 
表空间标识 = 2 
名称 = USERSPACE1 
类型 = 系统管理空间 
内容 = 任何数据 
状态 = 0x0100 
详细解释: 
复原暂挂 
此时可利用这一表空间级的备份进行恢复操作: 
E:\TEST>db2 restore db sample tablespace (userspace1) taken at 20051230184841 
DB20000I RESTORE DATABASE 命令成功完成。 
E:\TEST>db2 connect to sample 
E:\TEST>db2 list tablespaces 
 : 
表空间标识 = 2 
名称 = USERSPACE1 
类型 = 系统管理空间 
内容 = 任何数据 
状态 = 0x0080 
详细解释: 
前滚暂挂 
 : 
E:\TEST>db2 rollforward db sample to end of logs and stop tablespace (userspace1) 
前滚状态 
输入数据库别名 = sample 
节点数已返回状态 = 1 

节点号 = 0 
前滚状态 = 未暂挂 
下一个要读取的日志文件 = 
已处理的日志文件 = - 
上次落实的事务 = 2005-12-30-10.47.10.000000
DB20000I ROLLFORWARD 命令成功完成。 
E:\TEST>db2 list tablespaces 
 : 
表空间标识 = 2 
名称 = USERSPACE1 
类型 = 系统管理空间 
内容 = 任何数据 
状态 = 0x0000 
详细解释: 
正常 
 : 

E:\TEST>db2 update staff set id=335 where id=340

DB20000I SQL 命令成功完成。

可见表空间状态已正常,表也可执行更新操作了。

3. 关于 COPY YES:

在 LOAD 操作结束时,DB2 自动对表所在的表空间进行一次备份操作,因而 LOAD 结束后,表所在的表空间不会再处于“备份暂挂”状态,而为“正常”状态。但由于要进行备份操作,所以这种 LOAD 操作的时间会较没有备份的长。如:

E:\TEST>db2 connect to sample 

E:\TEST>db2 load from staff.del of del insert into staff copy yes to . 

E:\TEST>db2 list tablespaces 
 : 
表空间标识 = 2 
名称 = USERSPACE1 
类型 = 系统管理空间 
内容 = 任何数据 
状态 = 0x0000 
详细解释: 
正常 
 : 

E:\TEST>db2 select count(*) from staff 
1 
----------- 
105 
1 条记录已选择。

此时可在当前目录下看到一个 SAMPLE.4 的子目录,表明产生的是一个由 LOAD 操作生成的备份,而这份备份将在数据库进行前滚恢复操作时用于重新创建 LOAD 操作对数据库的修改。如:

E:\TEST>db2 restore db sample taken at 20051230174105

DB20000I RESTORE DATABASE 命令成功完成。 

前滚状态 

输入数据库别名 = sample 
节点数已返回状态 = 1 

节点号 = 0 
前滚状态 = 未暂挂 
下一个要读取的日志文件 = 
已处理的日志文件 = S0000002.LOG - S0000003.LOG 
上次落实的事务 = 2005-12-30-11.48.26.000000 

DB20000I ROLLFORWARD 命令成功完成。 

E:\TEST>db2 connect to sample 

E:\TEST>db2 list tablespaces 
 : 
表空间标识 = 2 
名称 = USERSPACE1 
类型 = 系统管理空间 
内容 = 任何数据 
状态 = 0x0000 
详细解释: 
正常 
 : 

E:\TEST>db2 select count(*) from staff 
1 
----------- 
105 
1 条记录已选择。

这表明在 SAMPLE.4 下的备份被用于了前滚恢复操作,而重新创建了 LOAD 操作对数据库插入的记录。

阅读(392) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~