繁体中文
设为首页
加入收藏
当前位置:技术首页 >> 数据库 >> DB2 >> DB2 LOAD命令中COPY NO/COPY的说明

DB2 LOAD命令中COPY NO/COPY的说明 (1)

2007-01-01 22:26:00  作者:diablo2   来源:blog   浏览次数:141  文字大小:【】【】【

内容提要

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

正文

当 DB2 的数据库启用了前滚恢复模式,即将日志由循环日志方式改为归档日志,以便用户在进行恢复操作时,可在恢复了数据库或表空间的备份后,再通过前滚归档日志中的事务,恢复数据库备份时间点之后提交的事务,最大程度的保护数据库的数据。

而 DB2 的 LOAD 实用程序为实现快速导入数据的功能,除采用了通过直接向数据库中写入格式化的数据页装载数据,导入过程中不激活触发器,不会检查参考完整性和表检查约束当等方式外,还最小化了记录事务日志的操作。在 LOAD 的 LOAD、BUILD、DELETE 和 INDEX COPY 四个处理阶段中,仅在 DELETE 阶段记录对每个删除事件记日志,即只对每个违反唯一约束的行的删除操作记日志,因此整个 LOAD 操作仅记录了极少的日志。

由于 LOAD 最小化了日志的记录,有因启用了前滚恢复的数据库在恢复在线备份时需要归档日志的特性,对于这种数据库的 LOAD 操作,为避免执行 LOAD 操作后,表在使用 ROLLFORWARD 命令前滚归档日志的过程中因缺少日志而被置为非正常状态,DB2 为 LOAD 命令提供了如下选项:

·COPY NO(缺省)

·COPY YES

·NONREVERABLE

为更清楚地说明这些选项的作用,这里将以举例的方式进行说明。而在开始操作之前,首先了解一下 DB2 备份操作所产生的映象文件的形式和命名特点:

在 UNIX 环境下是文件的形式:

Databasealias.Type.Instancename.Nodename.Catnodename.Timestamp.number

在 Windows 环境下是子目录及文件的形式:

Databasealias.Type\Instancename\Node0000\Catn0000\yyyymmdd\hhmmss.number

而其中的 Type 则因备份类型的不同而不同:

0 -- 数据库全备份

3 -- 表空间备份

4 -- 由 LOAD 操作产生的备份

1. 进行一次数据库的全备份:

首先对已启用前滚恢复模式的 SAMPLE 数据库进行一次全备份:

E:\TEST>db2 backup db sample

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

这时看到在当前目录下产生了一个 SAMPLE.0 的子目录,表明产生的是一个数据库全备份。下面将对这些现象逐个予以举例说明:

2. 关于 COPY NO:

在 LOAD 操作结束时,将表所在的表空间置于“备份暂挂”状态,此时虽然其中的表可以进行 SELECT 操作,但不能进行 UPDATE 和 DELETE 操作。为使该表状态恢复正常,除去备份暂挂状态,必须手动对其表空间执行一个 BACKUP 命令。由于该选项为缺省选项,如果 LOAD 命令中未指明,则默认为使用该选项,如:

E:\TEST>db2 connect to sample 
E:\TEST>db2 load from staff.del of del insert into staff 
E:\TEST>db2 list tablespaces 
 : 
表空间标识 = 2 
名称 = USERSPACE1 
类型 = 系统管理空间 
内容 = 任何数据 
状态 = 0x0020 
详细解释: 
备份暂挂 
 : 
E:\TEST>db2 select count(*) from staff 
1 
----------- 
70 
1 条记录已选择。 
E:\TEST>db2 update staff set id=335 where id=340

DB21034E 该命令被当作 SQL 语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:

SQL0290N 不允许存取表空间。 SQLSTATE=55039

在手动对 USERSPACE1 表空间进行一次备份操作后,表空间状态将正常,再次尝试更新操作就会成功:

E:\TEST>db2 backup db sample tablespace (userspace1)
[1] [2] [3]
点击收藏到

责任编辑:雪焰

本文引用地址: http://tech.itzero.com/2007/0101/12873.html 请粘贴到你的QQ/MSN上推荐给你的好友

相关文章
数据库安全应用 使用MySQL的23个注意事项
如何使Web用户安全的对数据库进行访问
教你配置Linux操作系统安全管理服务
防止ACCESS数据库被下载的几种方法
路由器资料 Cisco 基本检验和配置命令集
将路由器配置为抵御攻击第一道安全屏障
基于NBMA链路类型OSPFv3协议实现方案
Cisco网络教材:Cisco NAT的配置例子
Cisco网络教材:路由器的配置及测试
思科C3550配置DHCP服务器实例
IP路由协议实例配置
 

最新文章

更多

· 基于DB2的数据库应用系统...
· DB2数据库中提高INSERT性...
· DB2数据库中提高INSERT性...
· SQL Server 2005与DB2 8...
· 热点关注:IBM将与微软开...
· 国内学院派专家对DB2 9新...
· 教你如何构建DB2 Cube V...
· DB2数据库创建存储过程时...
· 访问大型机、小型机上DB...
· DB2 9安装方法简介

热点文章

更多

其它推荐