科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道DB2 LOAD命令中COPY NO/COPY的说明

DB2 LOAD命令中COPY NO/COPY的说明

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

主要介绍 DB2 LOAD 命令所提供的 COPY NO/COPY YES/NONRECOVERABLE 选项,以及与之相关的注册表变量 DB2_LOAD_COPY_NO_OVERRIDE 的功能和使用方法等。

作者:赛迪网 来源:赛迪网 2007年9月5日

关键字: 数据库 DB2 LOAD

  • 评论
  • 分享微博
  • 分享邮件
 

备份成功。此备份映像的时间戳记是: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 操作对数据库插入的记录。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章