DB2数据库的导入和导出详解

合集下载

DB2数据导入导出及建库步骤2命令

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数据的导入导出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数据库的导入和导出详解

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数据库导入和导出

若表中存在自增长的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 语句,可以提高性能。
例如:导出sample数据库中的全部数据 db2move sample export –u db2inst1 –p password
说明: • 每个表的内容都存储在一个.ixf文件中,每个.ixf文件都有一个与之 相对应的.msg文件(用于描述从表中导出数据时的信息); • db2move.lst用来记录.ixf文件、.msg文件与表的一一对应关系; • EXPORT.out记录的是导出数据时的屏幕输出。
db2move <database-name> <action> [<option> <value>]
其中: action: export、import、load
option: -tn(特定的表)、-ts (表空间)、-tc(表创建者)、
-sn(模式名) 、-u(用户id)、-p(密码)

db2 导入导出单个表的操作详解

db2 导入导出单个表的操作详解

db2 导入导出单个表的操作详解本文将详细提供db2导入导出单表数据及db2备份恢复等相关一些操作命令汇总,有需求的朋友可以参考1、导出整个数据库表结构、方法、存储过程等,执行脚本:db2look –d dbname –e –o db.sql –i username –w passworddb2 -tvf db.sql2、单表数据的导出及导入:导出:db2move dbname export -tn tablename -u db2user -p psw导入:db2move dbname import -u db2user -p psw3、数据库的备份、恢复:备份:db2 BACKUP DATABASE dbname恢复:db2 RESTORE DATABASE dbname4、使用db2move命令导出、导入数据库数据从另一数据库中导出初始化数据,首先进入导出的目录,先DB2cmd,后输入命令为:db2move dbname export –u username –p password。

注:dbname 为原数据库名,username为用户名 password为密码。

恢复命令为: db2move dbname import -u username -p password5、其它:.导出到一个文件获得sql语句db2look -d cqyancao -e -o db.sql -i db2user -w psw数据库名要出文件名用户名密码示例: db2look -d DEPARTMENT -u walid -e -o db2look.sql-- 这将生成由用户 WALID 创建的所有表和联合对象的 DDL 语句-- db2look 输出被发送到名为 db2look.sql 的文件中示例: db2look -d DEPARTMENT -z myscm1 -e -o db2look.sql-- 这将为模式名为 MYSCM1 的所有表生成 DDL 语句-- 还将生成 $USER 创建的所有联合对象的 DDL。

db2数据库迁移步骤

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数据库迁移详细操作步骤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表数据导出、导入的另一方法

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数据库的表结构和数据

导出db2数据库的表结构和数据

对于db2数据库,导入和导出表结构和数据其实很简单,只需要用到db2look和db2move两个命令即可。

这两个命令都需要在客户端的命令行处理器中执行,但对于数据库服务器和客户端不在同一机器上的,需要借助catalog命令,来先完成远程数据库加载到本地,然后再进行导出导入操作。

如果是远程操作,则先需要把远程的数据库信息加载到本地,如果是本地则跳过1和2,从3开始,具体如下:1、catalog server端的node ,命令如下:db2 catalog tcpip node node_name remote hostname server service_portdb2 uncatalog node node_name(取消节点的编目)其中node_name是由你任意起的一个结点名,结点名不能跟已有的结点名重复(可通过db2 list node directory查看),hostname也可为IP address,service_port为端口号一般默认为50000。

节点目录用于存储远程数据库的所有连通性信息。

2、catalog 远端DB2 数据库,命令如下:db2 catalog db db_name [as alias_name] at node node_namedb2 uncatalog db db_name(取消数据库的编目)db_name是指远程数据库的名字,alias_name是客户端实例名(可以忽略),db2node是指上面你所指定的节点node!3、连接数据库,命令如下:db2 connect to db_name user user_name using passworddb_name是指数据库的名字,user_name是数据库用户名,password是数据库密码4、用db2look命令生成表结构的DLL脚本db2look -d db_name-i user_name-w password-a -e -o d:\script.sql db_name是指数据库的名字,user_name是数据库用户名,password是数据库密码5、用db2move导出所有表的数据db2move db_name export -u user_name-p passworddb_name是指数据库的名字,user_name是数据库用户名,password是数据库密码6、用export导出指定的表数据db2 "export to d:\data\tab1.ixf of ixf lobs to d:\data\ lobfile lobs modifiedby lobsinsepfiles messages d:\data\tab1.msg select * from schema_name.table_name"schema_name 是表所属,table_name是表名, lobsinsepfiles 或 lobsinfile 是生成lob文件前一个是生成每个,后面是生成到一个文件中7、执行sql脚本db2 -tvf d:\script.sql-z d:\script.log8、用db2move导入所有表的数据db2move db_name import -io replace -u user_name-p password9、用import导入指定的表数据db2 "import from d:\data\tab1.ixf of ixf messages d:\data\tab1.msg insertinto schema_name.table_name"。

db2load

db2load

Db2 文件导入导出常见命令总结Db2 文件导入导出常见命令总结Db2 的数据迁移,最常用的就是导入导出功能,而导入导出的命令貌似简单,实则内含玄机,千变万化,稍不留神,则错误百出,这儿就工作中常用到的命令,总结了一下,分享给大家!欢迎大家踊跃拍砖!当然在这以前,我觉得有必要提及一点关于导入导出基础的知识!DEL:界定的ASCII文件,行分隔符和列分隔符将数据分开。

ASC:定长的ASCII文件,行按照行分割符分开,列定长。

PC/IXF:只能用来在db2之间导数据,根据类型数字值被打包成十进制或者二进制,字符被保存为ASCII,只保存变量已经使用了的长度,文件中包括表的定义和表的数据。

WSF:工作表方式导入导出,这种格式的文件类型用的比较少。

Db2中对不同的数据导入导出方式,支持不同的文件类型,这里个人觉得很有必要注意下的。

文件类型Import export load-------------------------------------------------------定界支持支持支持非定界支持不支持支持Ixf 支持支持支持Wsf工作表支持支持不支持关于3种导入导出操作进行简单的介绍:export:导出数据,支持IXF,DEL或WSFimport:导入数据,可以向表中导入数据,支持上面提到的4种文件类型。

load:导入数据,功能和import基本相同。

支持以上说的几种文件类型。

关于Export这个其实比较简单,没啥好说的,一般命令:export to filename of filetype select x from xx where ;就ok了,这里需要注意的是:1. 关于不同字符集的导出MODIFIED BY CODEPAGE=Exprot to filename.del for del MODIFIED BY CODEPAGE=1386 select … from …where …; 这里,在数据从数据库倒出来的时候就会做一个数据库代码页的转换2.时间字段格式化的MODIFIED BY TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt"例:Exprot to filename.del for del MODIFIED BY TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt" select … from …where …;关于Import1.Import模式的介绍CREATE/INSERT/INSERT_UPDATE/REPLACE/REPLACE_CREATECREATE :首先创建目标表和它的索引,然后将数据导入到新表中。

DB2数据库迁移详细操作步骤

DB2数据库迁移详细操作步骤
4)检查任意log文件
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_备份还原_导入导出

DB2_备份还原_导入导出
可使用以下命令查看: db2look -help or db2move -help
打包已导出的表结构与数据 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数据库导出表结构与导入、导出表数据方法一在控制中心的对象视图窗口中,选择所要导出表结构的数据表,按住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 [字段(例: * orcol1,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数据导入步骤(Windows环境)

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 Server Edition】选项,然后点击【下一步】,进入到如下界面:7、在这里我设定目录为【D:\Program Files\IBM\SQLLIB\】,您可以根据您实际情况自行更改目录,然后点击【下一步】,进入如下界面:8、做如上图设定,用户名设为【db2inst1】,密码设为【db2admin】,这里根据前提内容中提到的导出数据库所使用的用户和密码,来根据实际情况设定。

然后点击【下一步】,进入如下界面:9、继续点击【下一步】,进入如下界面:10、继续点击【下一步】,进入如下界面:11、继续点击【下一步】,进入如下界面:12、不勾选【设置DB2服务器以发送通知】选项,然后点击【下一步】进入如下界面:13、继续点击【下一步】,进入如下界面:14、点击【安装】,开始进入DB2安装过程,稍等片刻后,进入到如下界面:15、点击【下一步】,进入到如下界面:16、再点击【完成】,即可进入【DB2”第一步”】,我们不从这里创建数据库,关闭该窗口即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文件为您介绍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 需要更多的权限)。

相关文档
最新文档