DB2数据库导入和导出
DB2数据导入导出及建库步骤2命令
文档编号:DB2数据导入导出及建库步骤2013年3月关于本文档说明:类型-创建(C)、修改(U)、删除(D)、增加(A);目录关于本文档 (2)DB2 数据导入导出及建库步骤 (4)一、数据库数据的导出 (4)二、编辑导出的数据 (4)三、数据库的创建 (5)四、数据库数据的导入 (5)五、数据库数据的备份与还原 (5)DB2 数据导入导出及建库步骤【说明:LISG为已有数据库,LISG为想要创建的数据库。
】一、数据库数据的导出1、启动DB2服务本地:db2cmd 远程:telnet2、连接数据库db2 connect to LISG user db2inst1 using db2adm273、重启数据库,断开所有连接db2stop forcedb2start4、导出表结构及函数db2look -d LISG-a -e -x -o 20130309.sql -i db2inst1 -w db2adm275、导出基础数据(需指定文件夹目录cd /home/db2inst1/20130309 )db2move LISG export -u db2inst1 -p db2adm27二、编辑导出的数据1、基础数据打tar包命令:进入上级目录,执行“tar -tvf 20130309.tar20130309 ”;2、将导出的建表语句、基础数据放到指定路径下,编辑导出的20130307.sql文件,按照“表结构\视图\函数\存储\RISKAMNT函数”排序。
去掉所有的双引号,更换表与函数的前缀名为想要用的用户名(如“DB2INST1”),去掉开头的connect 并且把所有存在blob字段的表空间(即create语句的IN 后面的表空间)改成新建pagesize 32 K 的表空间(LISG);3、将所有的创建function语句剪切到另一个function.sql文件中去(直接创建function可能会失败);4、编辑db2move.lst文件,将双引号去掉,更换前缀名为想要用的用户名(如“DB2INST1”);三、数据库的创建1、新建数据库LISGdb2 create database LISG using codeset utf-8 territory cn2、查看库信息db2 get db cfg for LISG3、创建缓冲池(连接到LISG后为LISG创建一个pagesize 为32k的缓冲池)db2 connect to LISG user db2inst1 using db2adm27db2 create bufferpool LISGBF immediate size 1000 pagesize 32K4、创建三个表空间,使用刚才建立的缓冲池,使用D:\DB2\LISG处的容器(自动新建)常规表空间:db2 create regular tablespace LISG pagesize 32K managed by system using ('D:\DB2\ LISG) bufferpool LISGBF系统临时表空间:db2 create system temporary tablespace LISG1 pagesize 32K managed by system using ('D:\DB2\ LISG1) bufferpool LISGBF用户临时表空间:db2 create user temporary tablespace LISG2 pagesize 32K managed by system using ('D:\DB2\ LISG2) bufferpool LISGBF四、数据库数据的导入1、连接数据库db2 connect to LISG user db2inst1 using db2adm272、导入表结构db2 –tvf 20130309.sql3、导入函数db2 –tvf function.sql4、导入基础数据db2move LISG load -u db2inst1 -p db2adm27五、数据库数据的备份与还原(一)数据库数据备份1、重启数据库,断开所有连接db2stop forcedb2start2、备份数据库db2 backup database LISG to ‘指定目录’(二)数据库数据还原(备注:当在同一台主机上还原一个新的数据库时产生容器共享冲突)1、重启数据库,断开所有连接db2stop forcedb2start2、删除数据库db2 drop database LISG3、重建数据库LISGdb2 create database LISG using codeset utf-8 territory cn4、查看库信息db2 get db cfg for LISG5、创建缓冲池(连接到LISG后为LISG创建一个pagesize 为32k的缓冲池)db2 connect to LISG user db2inst1 using db2adm27db2 create bufferpool LISGBF immediate size 1000 pagesize 32K6、创建三个表空间,使用刚才建立的缓冲池,使用D:\DB2\LISG处的容器(自动新建)db2 create regular tablespace LISG pagesize 32K managed by system using (/home/db2inst1/LISG/ LISG’)bufferpool LISGBFdb2 create system temporary tablespace LISG1 pagesize 32K managed by system using ('D:\DB2\ LISG1') bufferpool LISGBFdb2 create user temporary tablespace LISG2 pagesize 32K managed by system using ('D:\DB2\ LISG2') bufferpool LISGBF7、还原数据库【说明:备份的数据库(olddb) 与要还原的数据(newdb)名不相同: db2 restore db olddb into newdb 】db2 restore database LISG into LISG(from C:\Documents and Settings\Administrator)友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
DB2数据的导入导出
DB2数据的导入导出DB2数据的导入(Import)导出(Export)(Load) DB2中所谓的数据移动,包括:1. 数据的导入(Import)2. 数据的导出(Export)3. 数据的装入(Load)导入和装入都是利用DB2的相关命令把某种格式的文件中的数据保存到数据库中的表中导出是指把DB2数据库的表中的数据保存到某种格式的文件当中去数据移动的作用:如果要在不同的数据库管理系统之间转移数据,数据移动通常是最实用的一种方法,因为任何一种数据库管理系统都支持常用的几种文件格式,通过这个通用的接口,就很容易实现不同系统间数据的转移。
这三个命令中,Export最简单,因为从表中向文件转移数据,通常不会出现错误,也不会有非法的数据。
在讲解命令之前,首先介绍一下文件的格式,用于DB2数据移动的文件格式有四种:1. ASC——非定界ASCII文件,是一个ASCII字符流。
数据流中的行由行定界符分隔,而行中的每一列则通过起始和结束位置来定义。
例如:10 Head Office 160 Corporate New York15 New England 50 Eastern Boston20 Mid Atlantic 10 Eastern Washington38 South Atlantic 30 Eastern Atlanta42 Great Lakes 100 Midwest Chicago51 Plains 140 Midwest Dallas66 Pacific 270 Western San Francisco84 Mountain 290 Western Denver2. DEL——定界ASCII文件,也是一个ASCII字符流。
数据流中的行由行定界符分隔,行中的列值由列定界符分隔。
文件类型修饰符可用于修改这些定界符的默认值。
例如:10,"Head Office",160,"Corporate","New York"15,"New England",50,"Eastern","Boston"20,"Mid Atlantic",10,"Eastern","Washington"38,"South Atlantic",30,"Eastern","Atlanta"42,"Great Lakes",100,"Midwest","Chicago"51,"Plains",140,"Midwest","Dallas"66,"Pacific",270,"Western","San Francisco"84,"Mountain",290,"Western","Denver"3. WSF——(work sheet format)为工作表格式,用于与Lotus 系列的软件进行数据交换。
DB数据库的导入和导出详解
本文件为您介绍DB2数据库中表结构的导入和导出的两种常用方法,供您参考选择,希望能够对您有所帮助。
方法一在控制中心的对象视图窗口中,选择所要导出表结构的数据表,按住Ctrl或Shift可多选,单击鼠标右键,选择->生成DDL即可。
方法二◆第一步:打开DB2的命令行工具,在DB2安装目录的BIN文件夹下新建一个文件夹data,并且进入该目录。
创建该目录: mkdir data进入该目录: cd data◆第二步:导出表结构,命令行如下:db2look -d dbname -e -a -x -i username -w password -o ddlfile.sql执行成功之后,你会在刚才新建的文件夹下找到该sql文件。
◆第三步:导出数据,命令行如下:db2move databasename export -u username -p password至此,导出数据结束。
2导出表中数据export to [path(例:D:"TABLE1.ixf)] of ixf select [字段(例: * or col1,col2,col3)] from TABLE1;export to [path(例:D:"TABLE1.del)] of del select [字段(例: * or col1,col2,col3)] from TABLE1;导入表的数据import from [path(例:D:"TABLE1.ixf)] of ixf insert into TABLE1;load from [path(例:D:"TABLE1.ixf)] of ixf insert into TABLE1;load from [path(例:D:"TABLE1.ixf)] of ixf replace into TABLE1; // 装入数据前,先删除已存在记录load from [path(例:D:"TABLE1.ixf)] of ixf restart into TABLE1; // 当装入失败时,重新执行,并记录导出结果和错误信息import from [path(例:D:"TABLE1.ixf)] of ixf savecount 1000 messages [path(例:D:"msg.txt)] insert into TABLE1;// 其中,savecount表示完成每1000条操作,记录一次.存在自增长字段的数据导入:load from [path(例:D:"TABLE1.ixf)] of ixf modified by identityignore insert into TABLE1;// 加入modified by identityignore.解除装入数据时,发生的检查挂起:SET INTEGRITY FOR TABLE1 CHECK IMMEDIATE UNCHECKED;命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.另外,对load和import,字面上的区别是:装入和导入,但仍未理解两者之间的区别.只是性能上load显然优于import.(load 需要更多的权限)。
db2数据库迁移步骤
db2数据库迁移步骤db2数据库迁移步骤随着科技的发展和数据的不断积累,许多企业会面临将其数据库迁移到更高效、更可靠的平台的需求。
在这篇文章中,我将为您介绍db2数据库迁移的一般步骤,并分享一些我对数据库迁移的观点和理解。
1. 确定迁移目标和原因在开始数据库迁移之前,首先需要明确迁移的目标和原因。
您可能希望将数据库从旧版db2迁移到新版db2,或者从其他数据库平台(如Oracle)迁移到db2。
确定迁移目标和原因对后续的步骤非常关键,因为它们将指导您选择适当的工具和方法。
2. 数据库备份和准备在进行数据库迁移之前,务必备份源数据库,以防意外数据丢失或迁移失败。
您还应该确保源数据库的架构和数据是正确的,并在迁移之前进行必要的清理和优化。
这样可以减少迁移过程中的问题和错误,并提高迁移的成功率。
3. 选择迁移工具选择适当的迁移工具对数据库迁移的成功至关重要。
在db2数据库迁移中,您可以选择使用IBM提供的迁移工具,如IBM Database Conversion Workbench或IBM Data Movement Tool。
这些工具可以帮助您将数据从源数据库平台迁移到db2,并处理数据类型和架构的映射。
4. 迁移数据和应用程序一旦选择了适当的迁移工具,就可以开始迁移数据和应用程序。
在这一步骤中,您可能需要对数据进行转换和映射,以确保在目标数据库中的正确性和完整性。
您还应该测试和验证已迁移的数据和应用程序,以确保它们与源数据库一致,并且可以正常运行。
5. 更新连接和配置完成数据和应用程序的迁移之后,您需要更新连接和配置,以便它们指向新的db2数据库。
这包括更新应用程序代码中的数据库连接字符串、修改数据库配置文件以反映迁移后的设置,以及确保所有相关的服务和组件都已正确地指向新的数据库。
6. 测试和性能优化在数据迁移完成之后,您应该进行全面的测试和性能优化。
这包括对数据库进行负载和压力测试,以确保它可以处理预期的数据量和并发请求。
db2迁移方案
db2迁移方案咱来说说DB2迁移方案哈。
一、前期准备。
1. 评估现状。
首先得好好瞅瞅现在的DB2系统。
就像给它做个全身检查似的,看看数据库里都存了些啥数据,数据量有多大。
这就好比清点家里的东西,知道有多少瓶瓶罐罐,多大容量一样。
了解有哪些表、视图、存储过程之类的。
如果数据量超级大,那迁移的时候就得特别小心,就像搬一个超级重的大柜子,得有合适的工具和计划。
还要看看现在的DB2版本,因为不同版本可能在功能和兼容性上有差别。
这就像你知道自己手机是啥型号的,才能确定能不能升级到新系统嘛。
2. 确定目标环境。
想清楚要把DB2迁移到哪儿去。
是要迁移到另一个DB2服务器,还是要转到其他数据库系统,像Oracle或者MySQL之类的。
如果是转到其他系统,那就得研究这个目标系统的特性了。
这就好比你要搬家,得先确定新的住址,还得看看新地方的环境,有没有足够的空间放你的东西。
考虑目标环境的硬件资源。
如果新环境的磁盘空间或者内存不够,那迁移过去也会出问题。
这就像你想把大象塞进小汽车里,根本就塞不下呀。
3. 数据备份。
这可是超级重要的一步,就像给你的宝贝数据穿上一层保护甲。
把DB2里的数据完整地备份出来,可以用DB2自带的备份工具。
这备份就像是你的数据的一个副本,万一迁移过程中出了岔子,还能有个回退的余地。
就像你走钢丝的时候,下面得有个安全网一样。
4. 制定迁移计划。
得做个详细的计划,就像规划一次旅行一样。
先确定迁移的时间表,啥时候开始迁移,预计啥时候结束。
比如说,不能在业务高峰期迁移,得挑个大家都不咋用系统的时候,就像半夜搬家,不会打扰到邻居一样。
规划好迁移的步骤,是一次性迁移所有数据,还是分阶段迁移。
如果数据很多,分阶段迁移可能更靠谱,就像蚂蚁搬家,一点一点来。
还要确定迁移过程中的测试计划,得确保迁移过去的数据是正确的,就像检查新搬的家东西有没有损坏一样。
二、迁移过程。
1. 数据转换(如果目标是不同数据库)如果是从DB2迁移到其他类型的数据库,可能需要进行数据转换。
DB2数据库迁移详细操作步骤
DB2数据库迁移详细操作步骤DB2服务器迁移(V8.2-->DB2 V9.1)===========================一:预迁移任务===========================1、建立迁移备份目录mkdir /tmp/migrant/2、备份数据库(全量、脱机)1)db2inst1登录2)断开所有连接db2 force application all3)检查数据库目录,根据实际迁移数据库名称代替后续代码中的dbNamedb2 list db directory4)备份所有数据库mkdir /tmp/migrant/dbbackupdb2 backup db dbName to /tmp/migrant/dbbackup5)检查结果ls /tmp/migrant/dbbackup/3、备份配置信息1)db2inst1登录2)备份所有数据库配置信息(如果db2dump目录下文件比较多本过程会比较长)mkdir /tmp/migrant/db2support/db2support /tmp/migrant/db2support/ -d dbName -o dbName.zipls /tmp/migrant/db2support/3)备份与每个数据库相关联的应用程序的所有程序包的信息mkdir /tmp/migrant/db2package/db2 connect to dbNamedb2 list packages for schema db2inst1 show detail > /tmp/migrant/db2package/dbName.pkg.txtls /tmp/migrant/db2package/4)备份数据库ddlmkdir /tmp/migrant/db_ddl/db2look -d dbName -e -o /tmp/migrant/db_ddl/dbName.ddlls /tmp/migrant/db_ddl/5)备份所有外部例程cdcp -R sqllib/function /tmp/migrant/function_backup4、增大表空间和日志文件大小(本部分可提前完成)1)db2inst1登录db2 connect to dbName2)查看表空间使用情况db2 list tablespaces show detail3)增大系统目录表空间的大小(SYSCATSPACE)SMS:确保可用磁盘空间>= 已使用的表空间大小(总页数×页大小),不够则需增加磁盘DMS:确保可用页数>= 已使用页数,不够则增大表空间db2 ALTER TABLESPACE SYSCATSPACE EXTEND (ALLnumber_of_pages)4)增大临时目录表空间的大小(TEMPSPACE1)SMS:确保可用磁盘空间 >= 系统目录表空间大小×2DMS:确保总页数>= 系统目录表空间大小×2,不够则增大表空间db2 ALTER TABLESPACE TEMPSPACE1 EXTEND (ALL number_of_pages)5)增大日志空间大小(注意日志所在磁盘确实有这么多空闲空间)查看db2 get db cfg for dbName | grep '(LOG[FPS]'增大db2 update db cfg for dbName using LOGSECOND LOGSECOND+LOGPRIMARY或者无限日志db2 update db cfg for dbName using LOGSECOND -15、提高诊断级别1)归档原先的诊断日志db2diag -A2)提高诊断级别db2 update dbm cfg using diaglevel 46、使DB2服务器脱机1)停止DB2许可证服务db2licd -enddb2 terminatedb2 force application alldb2stop===========================二:迁移任务===========================1、安装数据库V91)root登录2)插入db2V9.1光盘,运行db2setup 命令,选择“安装新产品”选项3)基本使用默认值,不创建新实例4)安装完成2、验证数据库是否已准备好进行迁移1)实例所有者db2inst1登录2)停止实例db2stop3)验证所有数据库mkdir /tmp/migrant/db2ckmig/opt/ibm/db2/V9.1/bin/db2ckmig dbName -l /tmp/migrant/db2ckmig/db2ckmig.dbName.log如果失败,则检查log文件,确定错误并修改,然后重复验证操作4)检查任意log文件cat db2ckmig.DBName.log确保日志文件包含下列文本:Version of DB2CKMIG being run: VERSION 95)启动实例db2start*****************************************************注意:如果无法通过(经测试,在V8.1 FixPak7下,db2ckmig 会报无法连接数据库错误),则1)方法一:将V8实例下的所有数据库先删除(必须先全量备份),再升级实例,最后通过备份恢复数据库2)方法二:打上V8.1的补丁FixPak 14,或者显式指定DB2CODEPAGE。
DB2数据导入步骤(Windows环境)
DB2数据库安装配置与导入一、前提1、在导入DB2数据之前,请先检查备份数据是否完整,备份数据包含以下格式文件:lst文件、out文件、msg文件、ixf文件。
并且向对方咨询清楚导出数据库所使用的用户和密码以及数据库名。
2、是否已经安装DB2服务器版并已经建立新的数据库,如果还没有,请先按照下文安装DB2已经创建新的数据库。
3、以下导入举例以荆州中心DB2数据库导入为例,数据库名为jtpsoft,用户名和密码分别为db2inst1和db2admin。
并且以DB2数据库V9.7版本为例。
二、DB2数据库安装并创建新的数据库1、运行setup.exe文件,进入到DB2安装启动版,然后点击左侧列表的【安装产品】出现如下图:2、点击【DB2高级企业服务器版版本 9.7】底下的按钮【安装新产品】,稍做等待后进入如下界面:3、点击【下一步】,进入如下界面:4、择【我接受许可证协议中的全部条款(A)】,然后点击【下一步】,进入到如下界面:5、默认选择【典型安装】,然后点击【下一步】,进入到如下界面:6、选择【在此计算机上安装DB2 Advanced Enterprise ServerEdition】选项,然后点击【下一步】,进入到如下界面:7、在这里我设定目录为【D:\Program Files\IBM\SQLLIB\】,您可以根据您实际情况自行更改目录,然后点击【下一步】,进入如下界面:8、做如上图设定,用户名设为【db2inst1】,密码设为【db2admin】,这里根据前提内容中提到的导出数据库所使用的用户和密码,来根据实际情况设定。
然后点击【下一步】,进入如下界面:9、继续点击【下一步】,进入如下界面:10、继续点击【下一步】,进入如下界面:11、继续点击【下一步】,进入如下界面:12、不勾选【设置DB2服务器以发送通知】选项,然后点击【下一步】进入如下界面:13、继续点击【下一步】,进入如下界面:14、点击【安装】,开始进入DB2安装过程,稍等片刻后,进入到如下界面:15、点击【下一步】,进入到如下界面:16、再点击【完成】,即可进入【DB2”第一步”】,我们不从这里创建数据库,关闭该窗口即可。
DB2表数据导出、导入的另一方法
DB2表数据导出、导入的另一方法
数据的导出
在DB2中对表数据的导出,可以用export命令,导出数据为一个文本文件,如:
export to d:\test01.txt of del select id, name, age, address, note from testtable order by id;
数据的导入
可以用import命令从文本文件导入数据到表里,如:
import from d:\test01.txt of del insert into testtable;
如果数据量巨大,insert时数据库日志会很大,建议采用分批提交的方式来执行:
import from d:\test01.txt of del commitcount 10000 insert into testtable;
上为每insert 10000条记录会提交执行一次commit。
也可以使用load命令替换import命令,load导入数据更快。
最大的区别是load方式不记录日志,import方式记录日志。
如:load fromd:\test01.txt of del modified by codepage=1386 insert into testtable;
modified by codepage=1386参数是避免中文出现乱码。
另:这几天在修改程序的时候需要把利率精度调整,修改完数据库导入数据的时候发现有时候会报事务日志已满。
后尝试几次后发现数据条数多的时候就报错,尝试下把数据分几次导入,成功。
后有查询下网络资料,发现还可以调整db2日志的大小,不知道为啥我的可视化不好使,我就一直米尝试,但是分批导入肯定好使。
DB2数据库迁移详细操作步骤
cat db2ckmig.DBName.log
确保日志文件包含下列文本:Version of DB2CKMIG being run: VERSION 9
5)启动实例
db2start
*****************************************************
db2 terminate
2)root登录
3)FTP使用binary方式上传补丁到/tmp目录
4)解压缩文件,安装升级包
cd /tmp
tar zxvf /tmp/v9fp10_linux_ese.tar.gz
cd /tmp/ese/disk1
./installFixPack
[db2inst1@server]$ db2 terminate
DB20000I The TERMINATE command completed successfully.
[db2inst1@server]$
[db2inst1@server]$ db2 restore db toolsdb taken at 20111129002652
db2 migrate db dbName
2.2、恢复所有数据库
<可选,某些环境下必须>db2 drop db dbName
db2 restore db dbName from /tmp/migrant/dbbackup/
完整范例:可能的报错信息(代码页不匹配)
4)增大临时目录表空间的大小(TEMPSPACE1)
SMS:确保 可用磁盘空间 >= 系统目录表空间大小×2
DMS:确保 总页数 >= 系统目录表空间大小×2,不够则增大表空间 db2 ALTER TABLESPACE TEMPSPACE1 EXTEND (ALL number_of_pages)
DB2_备份还原_导入导出
打包已导出的表结构与数据 tar zcvf 目录名.tar.gz 目录名/
在新的db2导入数据
创建数据库: db2 create db 库名
导入表结构操作:db2 -tvf 文件名.sql
导入数据操作:db2move 新建库名 import
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 5 using (path "F:\DB2\NPORTAL\BP32K")
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 6 using (path "F:\DB2\TEMP\NPORTAL\BP32K")
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 3 using (path "F:\DB2\NPORTAL\BP8K")
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 4 using (path "F:\DB2\NPORTAL\BP16K")
db2move JX45 export
DB2 下导出表结构及数据
su db2inst - 进入db2权限模式
任意建立一个文件夹子 mkdir data
进入文件夹子 cd data
db2数据库迁移方案
DB2数据库迁移方案简介数据库迁移是将现有数据库从一个环境迁移到另一个环境的过程。
在实际应用中,数据库迁移是一项常见的任务,特别是在将数据库从测试环境迁移到生产环境、从旧服务器迁移到新服务器或从一个数据库版本迁移到另一个版本时。
本文将介绍一种常见的DB2数据库迁移方案,涵盖了准备工作、迁移步骤和后续验证。
准备工作在开始数据库迁移之前,需要进行一些准备工作。
以下是一些常见的准备工作:1.备份数据: 在开始迁移之前,一定要确保将现有数据库的数据进行备份。
这样可以避免数据丢失或损坏,以便在迁移过程中出现问题时进行恢复。
2.创建目标环境: 在迁移数据库之前,必须创建好目标环境。
这包括安装和配置目标数据库服务器,并确保它与源数据库服务器兼容。
3.检查数据库版本: 确保源数据库和目标数据库的版本兼容。
如果源数据库是较早的版本,可能需要升级到与目标数据库版本匹配的版本。
4.分析应用程序依赖: 分析现有应用程序与数据库的依赖关系。
了解应用程序使用的数据库对象、表格和视图,以便在迁移后调整和验证。
5.创建迁移计划: 创建一个详细的迁移计划,包括步骤、负责人和时间表。
这有助于确保迁移过程无缝进行。
迁移步骤一旦完成了上述准备工作,可以开始执行以下迁移步骤:1.停止源数据库: 在开始迁移之前,必须停止源数据库以确保所有的数据都在一个一致的状态下。
2.导出源数据库: 使用DB2提供的工具或命令行实用程序将源数据库导出到一个文件中。
这个文件将用作导入到目标数据库的基础。
db2 export to export_file.ixf of ixf select * from table_na me3.导入到目标数据库: 将先前导出的文件导入到目标数据库中。
这将复制源数据库的数据到目标数据库中。
db2 import from export_file.ixf of ixf insert into table_na me4.验证数据完整性: 在导入完数据后,需要验证目标数据库中的数据完整性。
DB2数据的导入(Import) 导出(Export)(Load)
DB2中所谓的数据移动,包括:1. 数据的导入(Import)2. 数据的导出(Export)3. 数据的装入(Load)导入和装入都是利用DB2的相关命令把某种格式的文件中的数据保存到数据库中的表中导出是指把DB2数据库的表中的数据保存到某种格式的文件当中去数据移动的作用:如果要在不同的数据库管理系统之间转移数据,数据移动通常是最实用的一种方法,因为任何一种数据库管理系统都支持常用的几种文件格式,通过这个通用的接口,就很容易实现不同系统间数据的转移。
这三个命令中,Export最简单,因为从表中向文件转移数据,通常不会出现错误,也不会有非法的数据。
1. ASC——非定界ASCII文件,是一个ASCII字符流。
数据流中的行由行定界符分隔,而行中的每一列则通过起始和结束位置来定义。
例如:10 Head Office 160 Corporate New York15 New England 50 Eastern Boston20 Mid Atlantic 10 Eastern Washington38 South Atlantic 30 Eastern Atlanta42 Great Lakes 100 Midwest Chicago51 Plains 140 Midwest Dallas66 Pacific 270 Western San Francisco84 Mountain 290 Western Denver2. DEL——定界ASCII文件,也是一个ASCII字符流。
数据流中的行由行定界符分隔,行中的列值由列定界符分隔。
文件类型修饰符可用于修改这些定界符的默认值。
例如:10,"Head Office",160,"Corporate","New York"15,"New England",50,"Eastern","Boston"20,"Mid Atlantic",10,"Eastern","Washington"38,"South Atlantic",30,"Eastern","Atlanta"42,"Great Lakes",100,"Midwest","Chicago"51,"Plains",140,"Midwest","Dallas"66,"Pacific",270,"Western","San Francisco"84,"Mountain",290,"Western","Denver"3. WSF——(work sheet format)为工作表格式,用于与Lotus系列的软件进行数据交换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4. 使用LOAD导入数据
DB2 Load 可以更快的将数据文件导入到数据表中。 DB2 Load 不会与DB2 数据引擎发生交互,所以当 使用Load 工具时,不会触发触发器也不会使用缓冲 池。 DB2 LOAD 允许追加或替换数据。 例如: (1)db2 load from test.txt of del insert into test (2)db2 load from stafftab.ixf of ixf messages staff.msgs replace into staff nonrecoverable
2. 使用DB2 MOVE导入、导出数据
使用db2move import方式不需要先建表结构,即, 准备好一个空库就行了。பைடு நூலகம்一点与load方式不一样, load方式需要先建立表结构。 例如:将数据全部导入到mytestdb数据库中
db2move mytestdb import –u db2inst1 –p password
db2move <database-name> <action> [<option> <value>]
其中: action: export、import、load
option: -tn(特定的表)、-ts (表空间)、-tc(表创建者)、
-sn(模式名) 、-u(用户id)、-p(密码)
2. 使用DB2 MOVE导入、导出数据
注意:
db2move import方式只能导入“普通”的表,如果表中存在自增长的 IDENTITY列,那么使用db2move import时会出错。这是因为,如果 IDENTITY列创建表的时候都是定义成always的话,那么在导入数据的时候该 列数据是不能被赋值的,而是应该由系统生成,使用db2move无法导入这样 的表。对于这种含有IDENTITY列的表,只能使用db2 import指令来进行导入
DB2导入/导出
1. 2. 3. 4.
概述 使用DB2 MOVE导入、导出数据 使用Export/IMPORT导入、导出数据 使用LOAD导入数据
DB2系统的层次结构
1. 2. 3. 4. 5. 6.
7.
8.
驱动器/目录 —— 在 CREATE DATABASE 命令中指定的驱动器或目录 DB2 实例名称 —— DB2 实例所有者的名称。 NODE0000 —— 数据库的分区数。0 表示非分区的数据库。 SQL00001 —— 从 1 开始的数据库 ID。 SQLOGDIR —— 数据库的默认日志目录。 SQLT0000.0 —— 目录表空间 SYSCATSPACE。 SQLT0001.0 —— 临时表空间 TEMPSPACE1。 SQLT0002.0 —— 用户表空间 USERSPACE1。
若表中存在自增长的IDENTITY列,需要使 用相应的参数才能导入,比如:
import from mytbl2.ixf of ixf modified by identityignore insert into mytbl2
导入命令的一些关键参数如下:
INSERT:不修改当前数据,向目标表添加新的行。 INSERT_UPDATE:向目标表添加新的行,或更新匹配 主键的已有行。 REPLACE:删除目标表中所有已有数据后,向目标表插 入导入数据。 CREATE:创建表定义并插入新行。 COMMITCOUNT n:每导入n条记录就提交一次更改,用 来降低数据丢失的风险。 RESTARTCOUNT n:跳过前n条记录,从n+1开始导入 数据,可以减少导入量,但是必须指定COMMITCOUNT 参数。 COMPOUND n:指定在一个可之行操作中包含n条SQL 语句,可以提高性能。
9
3.使用Export/IMPORT导入、导出数据
import和export是一对存在对应关系的指令, import支持四种格式:ASC, DEL, WSF, IXF 。 有关db2 import的帮助: db2 ? import 例如: import from emp.ixf of ixf insert into emp
3.使用Export/IMPORT导入、导出数据
与上面提到的db2move的export功能不同,db2 export是一个更加细致的导出工具,它支持三种数据 文件格式:DEL, WSF, IXF。 有关db2 export的帮助: db2 ? export 例如: export to emp.txt of del select * from emp export to emp.ixf of ixf select * from emp 若需要记录导出过程中的message,使用: export to emp.ixf of ixf messages emp.msg select * from emp
1. 概述
用于DB2数据移动的文件格式,共有四种:
1. DEL:带分隔符的ASCII文件,行分隔符和列分隔符将数据分开。
2. ASC:固定宽度的ASCII文件,行按照行分割符分开,列定长。 3. PC/IXF(Integration Exchange Format,IXF):只能用来在 DB2之间导数据,根据类型数字值被打包成十进制或者二进制, 字符被保存为ASCII,只保存变量已经使用了的长度,文件中包括 表的定义和表的数据。 4. WSF(Work Sheet Format):工作表方式导入导出,这种格式 的文件类型用的比较少。
4
1. 概述
文件类型 DEL(带分隔符) IXF WSF工作表 Import 支持 支持 支持 Export 支持 Load 支持
ASC(固定宽度) 支持
不支持
支持 支持
支持
支持 不支持
2. 使用DB2 MOVE导入、导出数据
db2move是一个集成式的数据移动工具,它支持导出 (export)、导入(import)、装入(load)三种 操作方式。 db2move用于不同操作系统之间(如linux和windows)的数 据转移。 命令:
例如:导出sample数据库中的全部数据 db2move sample export –u db2inst1 –p password
说明: • 每个表的内容都存储在一个.ixf文件中,每个.ixf文件都有一个与之 相对应的.msg文件(用于描述从表中导出数据时的信息); • db2move.lst用来记录.ixf文件、.msg文件与表的一一对应关系; • EXPORT.out记录的是导出数据时的屏幕输出。