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数据迁移、备份与恢复及联邦数据库使用操作命令

数据移动及实用工具跨平台移动数据,首选PC/IXF文件格式进行数据的导出,平台间数据传输使用二进制。

1.导出命令基本语法Export to <路径+文件名> OF <del | ixf | wsf>Lobs to <大对象文件路径> lobfile <大对象文件名>Modified <分隔符选项>Method n (<字段名列表>)Messages <消息文件>Select 子句Eg1. Export to d:\export\org.txt of del select * from orgEg2. Export to d:\export\org1.dat of del modified by chardel! Coldel# messages d:\export\org1_msg.txt select * from orgEg3. Export to d:\export\emp_resume1.del of del lobs to d:\export\ lobfile emp_resume_lob1 modified by lobsinfile select * from emp_resume2.导入命令基本语法Import from <路径+文件名> OF <del | ixf | wsf>Messages <消息文件><insert | insert_update | replace | replace_create | create>Into <目标表名称>Eg1. Import from d:\export\org.txt of del insert into orgEg2. Import from d:\export\org1.dat of del modified by chardel! Coldel# messages d:\export\org_im_msg.txt insert into orgEg3. Import from d:\export\emp_resume1.del of del lobs from d:\export\ modified by lobsinfile insert into emp_resumeEg4. Import from d:\export\staff.ixf of ixf commitcount 1 restartcount 2 insert into staffback 3.Load 命令的基本语法Load from <路径+文件名> OF <del | ixf | wsf>Messages <消息文件>[<insert |replace |terminate |restart>]Into <目标表名>[<copy yes |copy no |nonrecoverable>] [indexing mode <autoselect|rebuild |increamental>] Eg1. Load from d:\export\org.txt of del messages :\export\org_load_msg.txt replace into orgEg2. Load from d:\export\staff1.del of del insert into staffback for exception staffexp4.处理load导致的异常状况a)查看表的状态load query table <表名称>b)关闭完整性检查Set integrity for <表名称> <check |foreign key |all> immediate uncheckedc)处理表空间挂起状态,方法一:使用restart 模式重新load,成功则自动消除;方法二:使用terminate 模式的load 命令,强行终止load过程,并消除挂起状态。

DB2导入、导出、备份及恢复数据库等操作资料

DB2导入、导出、备份及恢复数据库等操作资料
$ db2 unquiesce database
$ db2 connect reset
说明:
1, 以上指令将会把数据库testdb备份到指定目录 /home/backup下,所以请确保当前登陆用户(db2inst1)对该目录有读写的权限。
题外话,若打算使用root用户来执行备份,请先编辑文件 /etc/group,将root用户加入到与DB2相关的几个组:db2grp1, db2fgrp1, dasadm1.
$ cd /home/movedata
$ db2move mytestdb import –u db2inst1 –p thepasswd
此时屏幕上会显示有关导入数据的信息。
存在的问题:
db2move import方式只能导入“普通”的表,如果表中存在自增长的IDENTITY列,那么使用db2move import时,会出错。这是因为,如果IDENTITY列创建表的时候都是定义成always的话,那么在导入数据的时候该列数据是不能被赋值的,而是 应该由系统生成,使用db2move无法导入这样的表。对于这种含有IDENTITY列的表,只能使用db2 import指令来进行导入,相关的参数是IDENTITYIGNORE,IDENTITYMISSING。我将在下一部分给出具体的指令操作。
建立到数据库的连接:
$ db2
db2 => connect to testdb user db2inst1 using thepasswd
以DEL格式导出:
db2 => export to /home/backup/mytbl.txt of del select * from mytbl
db2 => terminate

DB2数据库恢复及备份

DB2数据库恢复及备份

DB2数据库恢复及备份1安装DB2数据库1)安装DB2前建议在Windows上创建一个叫db2admin的用户,其密码也为db2admin 2)安装成功后的服务如下图所示:3)平时可以把所有DB2的服务都停掉,运行DB2只需启动第一个服务,也就是上图中选定的服务即可,如果要做数据导入导出操作,还需要启动最后面一个服务。

2恢复1)解压缩CNCOA.0.rar到D盘,如下图所示:2)运行命令:db2cc,打开如下界面3)在上图的数据库上点右键-创建数据库-根据备份,打开如下界面:4)如上图,输入两个CNCOA,点下一步,打开如下图所示的界面:5)点完成按钮,将出现成功页面3备份1)在某个数据库上点击右键-备份,如下图所示:2)打开如下界面后,点下一步按钮:3)打开如下界面后,选择一个目录如D盘4)点完成按钮,将打开备份成功的界面,如下图5)检查备份文件,如下图4注意事项4.1未发出启动数据库管理器的命令如果是联机备份或者把DB28.1下的备份恢复到DB28.2,则可能恢复后会出现:SQL1032N 未发出启动数据库管理器的命令。

SQLSTA TE=57019。

此时数据库需要进行前滚操作,前滚的时候要选择日志所在的目录,类似D:\DB2\NODE0000\SQL00003\SQLOGDIR前滚的操作入口在备份的下面4.2Quest Central for DB2是个不错的DB2的客户端工具4.3建大表有可能会用到较长字段的列,如V ARCHAR(2000)类型的列,当有多个这样的列时,表会建不起来,此时需要建立有较大缓冲池的表空间,先建立缓冲池,如下图所示:再建立表空间,在数据库名称上点右键-表空间-创建,如下图所示:点完成,将把表空间建立起来,也可以用DB2的命令来建缓冲池和表空间:CREATE BUFFERPOOL EGOVDBBP IMMEDIATE SIZE 1000 PAGESIZE 32KCREATE REGULAR TABLESPACE EGOVDBSPACE PAGESIZE 32 K MANAGED BY DA TABASE USING ( FILE '/home/db2inst1/EGOVDBSPACE' 6400 ) EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRA TE 0.33 BUFFERPOOL EGOVDBBPDROPPED TABLE RECOVERY OFF4.4大表排序时报错如果没有建有大的缓冲池的系统临时表空间,当大表要根据非主键列排序时会报错,参照上面建表空间的步骤,只是在选择要创建的表空间的类型时,选择“系统临时”。

db2数据库复制

db2数据库复制

DB2 与DB2 之间的远程SQL 复制白玉媛 (baiyy@), 软件工程师,IBM 中国软件开发中心,IBM肖振春 (xiaozc@), 软件工程师, IBM 中国软件开发中心简介:本文介绍了基于SQL 的DB2 与DB2 之间的远程复制,力求为初学者掌握DB2 复制提供一个参考步骤。

标记本文!发布日期: 2006 年12 月21 日级别:中级访问情况 2363 次浏览建议: 0 (添加评论)平均分(共3 个评分)本文介绍了基于“SQL复制”的DB2 与DB2 之间的远程复制。

很多读者反映,对于初学者,由于对DB2 的复制概念不是很清楚,在实践中或多或少遇到了入手难的问题。

本文通过对远程DB2 之间的复制的介绍,力求为初学者对DB2 的掌握提供一个参考步骤。

背景“SQL”复制又称为“DB2 复制”,是为DB2 开发的两种数据复制类型中的一种,它是通过SQL 进行的复制。

在这里简单提一下,DB2 复制中的另一种”Q 复制”是通过WebSphere MQ 队列进行的。

在进行SQL 复制时,Capture 程序读取DB2 恢复日志以获取对指定源表的更改。

该程序将更改保存到分级表中,Apply 程序并行读取更改并应用于目标事务。

见图1。

图 1. SQL复制的结构动机商业上用复制出于很多原因,可以归纳为:∙分散,把数据分散到各个地方∙整合,把其他地方的数据联合起来∙交换,与其他地方进行双向的数据交换∙灵活应用,对上面提到的进行一些改变或者结合在企业的生产环境中,常常会遇到把分公司的数据汇总到总公司的情况。

这些数据可能分别建立在不同的数据库系统之中,也可能只使用DB2 数据库。

无论哪种情况,都可以通过IBM 的DB2 ESE 和Webshpere II 产品进行操作。

如果产品只是DB2 之间的SQL 复制,那么生产环境中只需安装DB2 ESE 即可。

假设用户有两台服务器都在使用DB2 V8。

用户想把其中一台DB2 V8 中的数据复制到另外一台的DB2 系统中。

db2 直接复制过来的文件夹不能加载数据库

db2 直接复制过来的文件夹不能加载数据库

db2 直接复制过来的文件夹不能加载数据库1. 引言在数据库管理中,数据迁移是一项重要的任务。

数据的复制是一种常用的迁移方式,它可以将数据库中的内容从一个位置复制到另一个位置。

然而,有时候我们可能会遇到一个问题,即当我们尝试直接复制一个文件夹到DB2数据库时,发现无法加载数据库。

在本文中,我们将探讨这个问题的原因,并提供一些解决方案和建议。

我们将从简单的概念开始,逐步深入,以便更好地理解这个问题。

2. DB2数据库简介DB2是一种关系型数据库管理系统,它由IBM开发和维护。

它被广泛应用于各种企业级应用程序和数据仓库中。

DB2的设计目标是提供高性能、高可靠性和可扩展性的数据库解决方案。

3. 数据迁移方法在数据库管理中,有多种方法可以进行数据迁移,包括复制、备份和还原等。

其中,数据的复制是一种常用且有效的方法。

通过将源数据库中的内容复制到目标数据库,我们可以简化数据迁移过程,并确保数据的完整性和一致性。

4. 直接复制过来的文件夹不能加载数据库的原因如果我们尝试直接复制一个文件夹到DB2数据库中,可能会遇到无法加载数据库的问题。

这是由于DB2数据库的特性所致。

DB2要求我们使用其专用的工具和命令来执行数据库的加载和还原操作。

直接复制文件夹可能会导致数据库的元数据和配置信息缺失或不正确,从而使数据库无法加载。

5. 解决方案和建议要解决直接复制文件夹无法加载数据库的问题,我们可以采取以下措施:5.1 使用DB2的工具和命令进行数据迁移最简单和推荐的方法是使用DB2提供的工具和命令来执行数据迁移操作。

这些工具和命令可以确保数据库的元数据和配置信息正确加载,从而使数据库能够正常运行。

5.2 执行数据库备份和还原操作如果我们已经复制了文件夹到DB2数据库,并且数据库无法加载,我们可以尝试执行备份和还原操作。

我们需要使用DB2的工具和命令对源数据库进行备份。

在目标数据库中执行还原操作,将备份文件中的数据加载到目标数据库中。

DB2导入数据库实例

DB2导入数据库实例
VARCHAR(20), OPERATION VARCHAR(20), STATUS CHARACTER,
REQUESTER VARCHAR(20), CHECKER VARCHAR(20), CHECK_TIME
建库
DB2 CREATE DATABASE CTIDB USING CODESET UTF-8 TERRITORY TW;
--恢复到备份的时点,无需前滚:
导入数据,
db2 RESTORE DATABASE CTIDB TAKEN AT 20110104153558 WITHOUT ROLLING FORWARD;
CHAR, AC VARCHAR(30), AC_TYPE VARCHAR(7),
ALERT_ID VARCHAR(20), ALERT_INT_ID VARCHAR(20), ALERT_TYPE
"move"。预期标记可能包括:"DECLARE"。 SQLSTATE=42601
F:\workspace\CTI>db2move ctidb import -u db2admin -p db2admin;
Application code page not determined, using ANSI codepage 1386
VARCHAR(10), ALERT_TYPE_MEANING VARCHAR(300), ALERT_SEV_TYPE VA
RCHAR(10), DESCRIPTION VARCHAR(1000), ENTITY VARCHAR(20),
MAXVALUE NOCYCLE NO CACHE
DB20000I SQL 命令成功完成。

db2数据迁移工具

db2数据迁移工具

1.db2 export 实用程序1)文件格式在前面的例子中,数据被提取到一个 DEL 格式的文件中。

默认情况下,列值之间以逗号(,)隔开,字符串以双引号(")括起来。

如果被提取的数据已经包含逗号和双引号,那么会怎么样呢?在这种情况下,导入或装载实用程序不可能确定哪些符号是实际的数据,哪些符号是分界符。

为了定制 EXPORT 如何操作,可以使用MODIFIED BY子句,并指定您想用文件类型修饰符更改哪些方面。

下面是带 MODIFIED BY子句的 EXPORT 命令:下面列出了一些常用的修饰符:chardelx指定 x 作为新的单字符字符串分界符。

默认值是一个双引号(")。

coldelx指定 x 作为新的单字符列分界符。

默认值是一个逗号(,)。

codepage=x指定 x (一个 ASCII 字符串)作为输出数据的新的码页(code page)。

在导出操作期间,字符数据被从应用程序码页转换成这种码页。

timestampformat="x"x 是源表中时间戳的格式。

考虑这个例子:EXPORT TO myfile.del OF DELMODIFIED BY chardel! coldel@ codepage=1208 timestampformat="yyyy.mm.dd hh:mm tt" MESSAGES msg.outSELECT * FROM schedule前面的命令按照以下方式将 SCHEDULE 表中的数据导出到 DEL 格式的文件中:字符串以感叹号(!)括起来。

列之间以 @ 符号分隔开。

将字符串转换成码页 1208。

SCHEDULE 表中用户定义的时间戳的格式为 yyyy.mm.dd hh:mm tt。

2)用 LOBSINFILE 修饰符导出大型对象当导出包含大型对象列的表时,默认情况下只能导出 LOB 数据的前 32 KB。

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

DB2 与DB2 之间的远程SQL 复制白玉媛 (baiyy@), 软件工程师,IBM 中国软件开发中心,IBM肖振春 (xiaozc@), 软件工程师, IBM 中国软件开发中心简介:本文介绍了基于SQL 的DB2 与DB2 之间的远程复制,力求为初学者掌握DB2 复制提供一个参考步骤。

标记本文!发布日期: 2006 年12 月21 日级别:中级访问情况 2363 次浏览建议: 0 (添加评论)平均分(共3 个评分)本文介绍了基于“SQL复制”的DB2 与DB2 之间的远程复制。

很多读者反映,对于初学者,由于对DB2 的复制概念不是很清楚,在实践中或多或少遇到了入手难的问题。

本文通过对远程DB2 之间的复制的介绍,力求为初学者对DB2 的掌握提供一个参考步骤。

背景“SQL”复制又称为“DB2 复制”,是为DB2 开发的两种数据复制类型中的一种,它是通过SQL 进行的复制。

在这里简单提一下,DB2 复制中的另一种”Q 复制”是通过WebSphere MQ 队列进行的。

在进行SQL 复制时,Capture 程序读取DB2 恢复日志以获取对指定源表的更改。

该程序将更改保存到分级表中,Apply 程序并行读取更改并应用于目标事务。

见图1。

图 1. SQL复制的结构动机商业上用复制出于很多原因,可以归纳为:∙分散,把数据分散到各个地方∙整合,把其他地方的数据联合起来∙交换,与其他地方进行双向的数据交换∙灵活应用,对上面提到的进行一些改变或者结合在企业的生产环境中,常常会遇到把分公司的数据汇总到总公司的情况。

这些数据可能分别建立在不同的数据库系统之中,也可能只使用DB2 数据库。

无论哪种情况,都可以通过IBM 的DB2 ESE 和Webshpere II 产品进行操作。

如果产品只是DB2 之间的SQL 复制,那么生产环境中只需安装DB2 ESE 即可。

假设用户有两台服务器都在使用DB2 V8。

用户想把其中一台DB2 V8 中的数据复制到另外一台的DB2 系统中。

这种情况下,可以选定任意一台服务器中的DB2 作为控制平台,为了方便,本例中直接使用了所要复制到的目标所在的DB2 V8 为控制平台。

如图二所示:图 2. 数据复制目标图回页首实现的步骤首先需要确定本地计算机安装了:DB2 ESE(DB2 Enterprise Server Edition)。

本文把复制的过程分为五步介绍,分别为:∙DB2 数据库环境及配置∙编目(Catalog)DB2 数据库∙密码配置∙建立DB2 与DB2 之间的复制过程及错误分析DB2 数据库环境及配置在本例中采用了Windows 2000 运行环境,具体配置见表1:表 1. 操作系统环境与DB2 版本描述Server A Server B主机名WSII155 db2repl主机IP 9.181.139.155 9.181.138.233操作系统Windows 2000 Server SP4 (Eng) Windows 2000 Server SP4 (Eng)图 3. 查看节点这样就把远程的数据库映射到了本地数据库中。

见图4,参考图3。

图 4. 远程数据编目到本地3. 通过在服务器 A 上执行命令db2 list database directory。

可以检查数据库ISOURCE 是不是成功的编目了。

见图4:图 5. 测试从节点West 到节点East 的连接情况4. 测试从节点West 到节点East 的连接情况:列表 2. 测试节点连接情况db2 connect to ISOURCE user administrator using ***db2 terminate图 6. 检查两个系统的连接状况配置密码和连接在进行capture/apply 服务器的配置之前,首先需要配置密码和连接。

如果不配置密码连接,会影响复制。

1. 配置系统密码本文中需要配置IP 地址为9.181.139.155 的系统WSII155(WEST)和IP 地址为9.181.138.233 的系统db2Repl(EAST)。

需要注意的是,复制控制中心建立在WSII155 系统中,在配置系统密码和参数的时,属于远程服务器的db2repl 系统需要用其IP 地址进行配置,如果用机器名db2repl 可能会出现配置不成功的状况。

打开复制中心:点击复制中心> 管理密码和连接,见图7。

图7. 打开密码和连接管理如果要测试两个机器的连接情况,则可以选中所需要测试的服务器,这时对话框右边的Test 按钮会变化到可点击状态,点击Test 按钮,则会显示当前的连接状态,见图8。

图8. 系统密码配置测试的结果见图9。

图9. 测试服务器的连接情况2. 配置数据库的密码与上面的步骤类似,点击“添加”按钮可以增加一个用作capture/apply 服务器的数据库。

可以通过测试按钮进行数据库之间的连接测试。

见图10,图11。

图10. 数据库的密码配置图11. 数据库连接测试成功3. 密码文件的配置创建密码文件的步骤为:∙把目录转换到所要创建密码文件的文件夹中,例如:C:\>cd sqlrep∙敲入asnpwd,按回车键可查询与密码文件相关的命令∙敲入asnpwd INIT ENCRYPT PASSWORD,按回车可创建密码文件∙依次键入自己需要访问的数据库到密码文件中,例如:asnpwd ADD ALIAS SAMPLE ID db2admin PASSWORD admindb2∙想查看密码文件内容,可用命令:asnpwd LIST见图12。

图12. 创建密码文件过程4. SQL 复制的配置过程首先介绍SQL复制的实现过程。

a. 建立SQL capture server (ISOURCE) 和SQL apply server (TARGET)。

图13. 建立capture 和apply server我们能查看到ISOURCE capture server 的类型是远程(Remote)。

图14. ISOURCE capture server 的定义相应的TARGET apply server 的类型是本地。

图15. TARGET apply server 的定义b. 注册一个远程服务器中的表QHDSVT.STUDB559 到ISOURCE 中。

图16. 注册表c. 在TAEGET apply server 中建立订阅集。

图17. 建立订阅集d. 在capture server 和apply server 所在的系统上建立password 文件。

具体步骤请参阅“创建密码文件”一节。

这里需要注意的是,如果数据库所在的DB2 是V8,则必须建立password 文件,否则复制不会成功。

若数据库所在的DB2 是V9,则可不必建立password 文件。

在此例中,ISOURCE 所在的DB2 是V8,所以必须建立password 文件。

e. 启动capture server,apply server,检查他们的状态。

图18. 检查capture,apply 服务器的状态f. 启动capture,apply 服务器之后,检查QHDSVT.STUDB559。

看到表已经复制到target 数据库中。

点开目标数据库中的TGSTUDB559,可以查到所有的数据已经复制到了目标表中。

图19. 检查capture,apply 服务器的状态至此,数据复制成功,整个复制过程结束。

图20. 数据复制成功5. 错误分析在编目远程数据库的过程中,读者可能会碰到如下的错误信息:SQL30081N 检测到通信错误。

正在使用的通信协议:"TCP/IP"。

正在使用的通信API:"SOCKETS"。

检测到错误的位置:"9.181.139.155"。

检测到错误的通信函数:"connect"。

协议特定的错误代码:"10060"、"*"、"*"。

SQLSTATE=08001原因解析:碰到这种错误可能是由于网络连接的不稳定造成的。

解决方案:检查并保证EAST和WEST两个服务器之间的网络连接是可用的,并且服务器的路径设置正确。

此问题也可能由于防火墙的存在而引起。

如果服务器有病毒,也可能早晨服务器的网络不能正常工作,因此读者需根据自己的实际情况寻找原因。

读者也可能会碰到如下的错误信息:SQL0332N 没有从源代码页"1252" 至目标代码页"1386" 的转换。

原因码为"1"。

SQLSTATE=57017原因解析:这个问题是由于本地和远程服务器之间的codepage 不同造成的,本例中由于源表服务器和目标表服务器都是英文操作系统,因此不会遇到这一问题。

但是客户的环境比较复杂,有可能两个操作系统的语言不同,例如,有中文和英文操作系统等。

解决方案:改变codepage。

用下面的语句检查codepage:∙db2 get db cfg for ISOURCE: 检查数据库ISOURCE 所用的codepage∙db2 get db cfg for TARGET: 检查数据库TARGET 所用的codepage∙db2set: 检查当前DB2所在系统的codepage用下面的命令改变DB2 服务器所用的codepage:∙db2set db2codepage=serverdb codepage (e.g. "1252")∙db2 terminate检查是否连接成功:∙db2 connect to ISOURCE user administrator using passw0rd详细细节读者可参阅参考资料中的“理解DB2 Universal Database 的字符转换”。

回页首结论随着DB2的推广,国内越来越多的企业选择使用了DB2产品。

但是由于缺乏实践经验,入门往往比较难,本文针对初学DB2的客户:∙深入浅出的介绍了如何进行两个DB2服务器之间的数据复制∙为读者提供了初步认识DB2复制的平台回页首益处随着“DB2 与Oracle 之间的远程复制”一文的发表,很多读者写信询问DB2 与DB2 之间的远程复制怎么实现。

针对读者的需求,写出本文,供广大读者参考。

参考资料学习∙“ DB2 与Oracle 之间的远程复制”(developerWorks, 2006 年3 月)∙“理解DB2 Universal Database 的字符转换”(developerWorks, 2005 年6 月)∙红皮书:A Practical Guide to DB2 UDB Data Replication V8∙在developerWorks 中国网站Information Management 专区可以找到更多DB2 参考资料。

相关文档
最新文档