首页 > 数据库 >db2 load介绍

db2 load介绍

时间:2023-08-17 14:56:19浏览次数:53  
标签:load .. 备份 介绍 replace db2 数据 pending

load过程分为4个阶段:load/build/delete/index copy。load阶段是将源文件parser成物理数据存储的格式,直接装入到页中,而不通过db2引擎,load阶段会检查表定义,违背定义的数据不会装入到表中。build阶段建议索引(如果装入表有索引的话),会检查唯一性约束,违背了唯一性的数据会在delete阶段删除。index copy阶段将index数据从指定的临时表空间拷贝到初始的表空间里,index copy只适应于allow read access场景。load的4个阶段会记录在messages文件里。

3.online and offline load

缺省情况下,load过程不允许其他应用访问表,即allow no access,或叫offline load(离线加载)。Allow read access,或叫online load(在线加载),只有在load ...insert into的时候才允许使用,其他应用读到的数据是加载前的数据,load ... replace into会将数据先删除,再load,只能是离线加载。

4.load举例

此例中,要将calpar.del文件数据导入到表calpar中,calpar表的第一个字段是primary key,最后一个字段定义为非空的数字型。load命令如下:

load from calpar.del of del modified by dumpfile=/dump.fil warningcount 100 messages par.msgs insert into calpar for exception calpar.exp

此命令会产生四个输出,calpar为目标表,messages记录load的4个阶段,dumpfile记录违背表定义的数据,exception table记录违背唯一性约束的数据(exception table需要在load之前创建,表定义为目标表+timestamp type column+clob type column)。本例中,第2行和第5行违背了表定义,因此存到了dumpfile文件;第4行和第7行违背了唯一性约束,存到了exception table里;剩余正常的数据存到了目标表里。

  1. load表的状态

load可能出现的几种状态,某一时刻可能会同时处于几种状态。只有当表是normal状态时,表才能进行正常的增删改查操作。

normal: 正常状态

set integrity pending: 如果目标表有check约束或reference约束,那么Load后此表处于set integrity pending,表明表有约束还未检查,稍后解释。

load in progress:load正在数据加载过程中。

load pending:数据提交前出现了故障,需要通过load..terminate,load..replace或load..restart解除暂挂状态

read access only:目标表数据是可以读的,当load时指定了allow read access,那表就会处于read access only状态

unavailable:表可能被删除了或从backup中恢复了。

unknown:通过load..query命令无法得知表的状态。

可以通过load..query命令查看表的状态,

(1).当表处于load pending的时候,需要检查pending的原因,然后通过load..terminate终止load操作,或通过load..replace将表数据清空,或通过load..restart重启load操作。记住不要删除load的临时数据文件。load pending的原因很多,如表空间没有足够的空间等。

(2).当表处于set integrity pending状态的时候,意味着要求用户去检查数据的一致性(check constraint和reference constraint)。可通过 set integrity for <table_name>immediate checked将set integrity pending去掉。

(3).load..replace会将数据先清空,再load数据。如果中间出现故障,那么通过load..terminate命令后,表里的数据会变空,因此建议load之前进行数据库备份或单表备份。

  1. load的COPY选项

COPY可以理解为备份,主要针对前滚恢复,即当数据库处于归档日志情况下。由于load不记日志,需要备份才能进行恢复。

Load支持三种COPY选项,COPY NO(缺省),COPY YES,和NONRECOVERABLE。

COPY NO :此选项会导致load表所在的表空间处于backup pending状态,可以读数据,但不能对表进行增删改。load操作一旦开始,表就会处于backup pending状态,即使终止Load,也不会使表空间脱离此状态。load完成后,需要进行表空间backup。

COPY YES: 此选项会将load变化的数据进行自动备份。在前滚恢复阶段(rollforward),会使用这个备份重建load过程产生的数据。

NONRECOVERABLE:此选项表明此表是不能通过rollforward恢复的,当rollforward完成后,此表只能被删除或从备份介质中恢复。此选项不会使表空间处于backup pending状态,也不会产生数据的备份。

  1. load replace快速清空大表

对于大表数据的清空,如果用delete,由于会产生大量的日志,导致效率很慢,而且容易出现log full。可以考虑用load from /dev/null of del replace into

(Unix/Linux) 或者load from empty.del of del replace into(Windows,empty.del是一个空的文本文件即可)

  1. load总结

load的步骤可以总结如下:

(1)创建表和索引

(2) 建异常表(exception table)

(3) 备份db或tablespace

(4) load ..dumpfile ..messages ..exception

(5) 验证dumpfile,messages和异常表

(6) backup tablespace if logretain=on and copy NO

(7) set integrity (if table has check or reference constraints)

(8) 更新statistics,便于优化器选择最优执行计划。

标签:load,..,备份,介绍,replace,db2,数据,pending
From: https://www.cnblogs.com/love77/p/17637566.html

相关文章

  • Mosquitto使用介绍:轻松构建MQTT通信
    在物联网(IoT)领域,实现设备之间的高效通信是至关重要的。MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,适用于各种物联网应用。而Mosquitto作为MQTT协议的代表,为开发者提供了便捷的通信方式。本文将介绍如何使用Mosquitto构建MQTT通信,实现设备间的数据传输和交......
  • 介绍一个工具,可快速自定义各种管理功能,包括数据管理和流程审批
    朋友找到一个叫蓝点通用管理系统的软件,真是太牛B了,普通人都可以三分钟入门,非常方便地自己定制需要的管理功能,像什么人事管理、订单管理、进销存管理、客户管理都是简简单单就可以搞定,并且随时可以调整或扩展管理功能。也可以导入官方提供的或别人发的模板,直接用! 还需要买什么......
  • RocketMQ 介绍
    RocketMQ是一种开源的分布式消息中间件,由阿里巴巴集团开发和维护。它是一种高性能、可靠性强的消息队列系统,用于在分布式系统中进行异步通信和解耦。它具有高吞吐量、低延迟、高可靠性和可扩展性的特点,被广泛应用于大规模分布式系统中的消息通信和异步处理场景。RocketMQ采用了主......
  • numpy介绍
    1.概述NumPy是一个Python库,用于数值计算和处理数组。它是其他数据分析和机器学习库的底层库,提供了高效的多维数组运算功能。NumPy完全使用标准C语言实现,以提高运行效率。它是一款开源免费的库。并于1995年由Numeric项目发展而来。在2001年,Numpy被集成到Scipy库中,并进一步扩展......
  • C#仓储模式简单介绍
    为什么使用仓储模式仓储模式是面向接口开发,个人觉得仓储模式就是升级版的三层架构,里面多了接口之间的调用,就好像仓库管理员,只是负责把仓库里面的东西交给客户,也无需知道客户要做什么,反之客户也无需知道东西在哪里,怎么存放的,需要的时候就跟管理员索要就可以了,这样就是低耦合,就算管......
  • Apache ECharts_介绍
         ......
  • elementUI使用el-upload组件上传图片
    <el-form-itemlabel="上传图片":rules="[{required:true,message:'必须要上传图片',trigger:'blur'}]"prop="image"><el-upload:action=webSite......
  • IOS设备管理工具ITOOLS介绍
    目前市场上的IOS系列的管理工具不少,从嫡系itune,cydia,到91助手,同步推等。总体上我更推荐iToolsiTools的目标简单而清晰—-做最好的苹果设备管理软件。iTools——创想天空(thinksky,深圳的公司,核心人员是从腾讯出来的,难怪做产品有一套)第一个核心产品,是一款简洁有着“无需越狱,即可同步”......
  • 紫光展锐T610(虎贲610)_芯片性能介绍_全国产安卓核心板定制
    紫光展锐T610核心板是影像全面升级的8核架构的4G移动平台。采用旗舰级DynamIQ架构设计,基于自主研发的第五代影像引擎Vivimagic解决方案,和高画质显示处理技术,为用户带来精致的高画质体验。展锐T610(虎贲610)安卓核心板基本概述虎贲T610处理器是由紫光展锐研发的一颗基于12nm工艺的4G芯......
  • WebSocket_介绍
           ......