热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

DB2 LOAD命令中COPY NO/COPY说明

来源: 作者: 时间:2007-09-09 Tag: 点击:

  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 命令成功完成。

    E:\TEST>db2 rollforward db sample to end of logs and stop

    前滚状态

    输入数据库别名 = 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 操作对数据库插入的记录。

  4. 关于 NONRECOVERABLE:

  该选项会将 LOAD 操作标志为不可恢复,即数据库不能通过后续的前滚操作而被恢复。LOAD 操作结束后,数据库既不会处于“备份暂挂”状态,也不会产生任何的备份。

    E:\TEST>db2 connect to sample

    E:\TEST>db2 load from staff.del of del insert into staff nonrecoverable

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

  虽然 LOAD 之后表空间和表的状态都正常,但如果今后需要执行前滚命令恢复数据库时,前滚操作将跳过 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

    前滚状态

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

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

    DB20000I ROLLFORWARD 命令成功完成。

    E:\>db2 connect to sample

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

    E:\>db2 select * from staff

    ID NAME DEPT JOB YEARS SALARY COMM
    ------ --------- ------ ----- ------ --------- ---------
    SQL1477N 不能存取表 "LIWENLI.STAFF"。 SQLSTATE=55019

  这表明该表已不可操作,此时只有将表删除,重新构建,或使用 LOAD 操作时间点之后所做的数据库全备份或表空间备份来恢复该表。



相关文章:
db2日期操作函数
SQL 语法参考手册
谈谈IBM DB2的数据库备份与恢复
对 DB2 V9 中 XML 类型的编码处理(dW)
构建DB2 Cube View元数据桥
DB2存储过程开发最佳实践
DB2中使用所有内存
DB2与SQL Server2000间SQL数据复制
用户和组帐户与DB2 UDB的交互
DB2 9数据库优点及缺点详细分析
DB2中实现Oracle的相关功能
将Siebel 7电子商务应用程序从DB2 UDB V8 迁移到D
解析:DB2 无限活动日志策略的实用技巧
DB2 9数据服务器发展的3个阶段
为DB2数据库添加验证约束
DB2数据库创建存储过程时遇到的错误
DB2 9数据库性能理解的二十大误区
DB2中的终极SQL性能调节技术
DB2数据库应用系统性能优化深入探究
提高DB2 Web程序性能5条规则
详解安装DB2 9数据库管理软件的4种方式
DB2 9.5的数据库内存保护技术
解决DB2中出现的SQL1032N错误现象
创建克隆文件
DB2数据库优化的几条策略
如何解决DB2中出现的SQL1032N错误现象
解决DB2数据库代码页不兼容的问题
DB2创建存储过程时遇到的错误
教你提高商业智能环境中的DB2查询性能
DB2 9.5的数据库内存保护