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。

db2数据库迁移步骤

db2数据库迁移步骤

db2数据库迁移步骤DB2数据库迁移步骤随着业务的发展和数据量的增加,数据库的迁移成为了很多企业必须面对的问题。

数据库迁移是指将现有的数据库从一个环境迁移到另一个环境的过程,其中包括数据库的移植、数据的迁移以及相应的配置和测试工作。

本文将以DB2数据库为例,介绍一下数据库迁移的步骤。

1. 环境准备在进行数据库迁移之前,首先需要对目标环境进行准备。

包括安装DB2数据库软件、创建数据库实例、设置数据库参数等。

同时,要确保源数据库和目标数据库的版本兼容性,以保证迁移过程中的数据完整性和一致性。

2. 数据迁移方案设计在进行实际的数据迁移之前,需要进行详细的方案设计。

这包括确定迁移的数据量、迁移的时间窗口、迁移的方式等。

根据实际情况选择合适的迁移方式,可以是在线迁移、离线迁移或者增量迁移等。

3. 数据备份和恢复在进行数据库迁移之前,一定要对源数据库进行全量备份。

这是为了在迁移过程中出现意外情况时,能够及时恢复数据。

备份可以使用DB2自带的工具或者第三方工具进行操作。

4. 迁移数据根据设计好的迁移方案,开始进行数据的迁移工作。

可以使用DB2自带的数据迁移工具,如db2move、db2look等,也可以使用第三方工具进行数据迁移。

在迁移过程中,要注意数据的一致性和完整性,确保源数据库和目标数据库的数据一致。

5. 数据测试和验证在完成数据迁移之后,需要进行数据的测试和验证工作。

包括对迁移后的数据进行查询、统计、对比等操作,以确保数据的准确性和完整性。

同时,还需要进行性能测试,评估迁移后数据库的性能是否满足业务需求。

6. 应用程序适配在完成数据迁移之后,还需要对应用程序进行适配。

这包括修改连接字符串、修改SQL语句等,以适应新的数据库环境。

同时,还需要进行应用程序的功能测试,确保应用程序能够正常运行。

7. 迁移后的运维工作在完成数据库迁移之后,还需要进行一些运维工作。

包括设置数据库的备份和恢复策略、定期进行数据库维护、监控数据库性能等。

使用Q复制实现DB2数据库系统的高可用性和双活

使用Q复制实现DB2数据库系统的高可用性和双活

使用Q复制实现DB2数据库系统的高可用性和双活展开全文数据是古代企业最主要的营业资产之一,特殊是症结数据。

假天命据弗成用或没有遭到珍重,企业可以会在每小时的营业宕机时辰内损丢失落数百万美元,同时还会给企业抽象带来负面影响。

对进展在瞬息万变的竞争情形中获得胜利的企业来说,构建一个具有高可用性架构的数据中央至关主要。

在本文笔者将引见若何行使IBM InfoSphere Data Replication 产物中的 Q 复制手艺完成 DB2 数据库零星的高可用性和双活。

1. 概述数据库是古代企业数据中央的焦点,用于支持症结的企业运用。

对数据库的要求,除高功效,高靠得住性,功用雄厚,易行使,易珍重外,还要求有很好的灾备和高可用性计划合营,提高数据的平安和可用性。

1.1 数据库灾祸恢复 (DR) 的概念望文生义,数据库灾祸恢复计划为灾祸事宜准备的数据库备份和恢复计划,简称灾备计划。

这里涵盖的灾祸包括各类自然和工资灾祸事宜,若有洪水、地震、飓风、海啸等各类极端自然天色和气象,和爆炸、失落火、电网缺点等工资异常事宜。

这些灾祸会对数据中央的根蒂根抵举动装备组成影响,损坏数据中央的存储介质,致使数据库中的数据丧丢失落。

灾祸的特色参数包括它影响的地舆局限,延续的时辰长短,和对举动装备和数据的损坏水平。

为了避免这些事宜完整息灭企业的数据,企业需求设计有呼应的灾备装备,在灾祸影响局限之外安装备用数据中央和寄存备份数据,这样当灾祸真的发生发火时才华够在备份数据中央连续睁开营业。

灾备计划需求凭证针对的灾祸特色来设计。

好比对影响局限局限在数据中央内部的灾祸(局限几百米),同城的灾备中央就可以恢复营业。

对影响局限除夜到整座城市的灾祸(局限为几十千米),就需求安装在异地甚至很远处的灾备中央来恢复营业运转。

理想中经常据说的同城灾备中央和异地灾备中央就是指灾备节点处于同城局限或异地局限。

对灾备计划,次要有两个手艺目的:1.数据损丢失落目的 RPO (Recovery Point Objective),泄漏表现在该灾备计划下可以的数据丧丢失落量,以时辰单元来泄漏表现,好比丧丢失落三个小时的营业数据。

db2数据库迁移步骤

db2数据库迁移步骤

db2数据库迁移步骤DB2数据库迁移步骤随着企业业务的发展,数据库迁移已经成为许多企业不可避免的选择。

DB2数据库作为一种常见的关系型数据库管理系统,其迁移过程也是需要仔细考虑和规划的。

本文将介绍DB2数据库迁移的步骤,帮助读者了解如何顺利完成数据库迁移。

1. 确定迁移目标在进行数据库迁移之前,首先需要确定迁移的目标。

这包括目标数据库的选择,例如DB2的不同版本或其他数据库系统。

同时,还需要考虑目标数据库所在的服务器环境和操作系统等因素。

2. 迁移前的准备工作在正式进行数据库迁移之前,需要进行一些准备工作。

首先,备份源数据库的数据和配置文件,以防止意外数据丢失。

其次,检查源数据库的完整性和一致性,确保其可以正常迁移。

最后,收集源数据库的相关信息,包括表结构、索引、存储过程、触发器等,以便在迁移后重新创建。

3. 创建目标数据库根据迁移目标确定的数据库类型和版本,在目标服务器上创建一个新的DB2数据库。

可以使用DB2提供的管理工具或命令行来完成这个步骤。

在创建数据库时,需要指定数据库的名称、大小、字符集等信息,并设置相应的权限和安全策略。

4. 导出源数据库的数据在迁移之前,需要将源数据库的数据导出为一个可迁移的文件。

可以使用DB2提供的EXPORT命令或其他导出工具来完成这个步骤。

在导出数据时,需要指定要导出的表、字段和数据范围等信息,并将数据保存到一个文件中。

5. 导入数据到目标数据库将导出的数据文件导入到目标数据库中。

可以使用DB2提供的IMPORT命令或其他导入工具来完成这个步骤。

在导入数据时,需要指定目标表和字段的映射关系,并设置相应的导入选项和策略。

导入过程中需要注意数据的完整性和一致性,确保数据的准确性和可用性。

6. 重新创建数据库对象在迁移完成后,需要重新创建数据库中的对象,包括表、索引、存储过程、触发器等。

可以使用DB2提供的CREATE命令或其他管理工具来完成这个步骤。

在重新创建对象时,需要根据源数据库的信息进行相应的配置和设置,确保数据库的结构和功能与源数据库保持一致。

DB2从AIX+server上转移(迁移)到linux上

DB2从AIX+server上转移(迁移)到linux上

首先说一下大致情况,就是目前生产环境(AIX server)上边有一数据库product,现在想迁移到本地做一下测试环境,由于本地服务器只是linux server所以,不可以直接的用backup 和restore恢复。

需要用db2look和db2move配合一下来实现迁移过程,本操作适用于各类操作系统之间的迁移.首先这些在Aix服务器上做1. 用db2look把aix上的product数据库的DDL语句导出来.db2look -d product-a -e -o product.sql输出结果是:aix:/home/db2inst1$ db2look -d product-a -e -o product.sql-- Generate statistics for all creators-- Creating DDL for table(s)-- Output is sent to file: product.sql2.用db2move 命令导出ixf和msg文件db2move pdm export屏幕输出类似如下信息***** DB2MOVE *****Action: EXPORTStart time: Tue Mar 11 01:26:43 2008Connecting to database PRODUCT... successful! Server: DB2 Common Server V8.2.1EXPORT: 4 rows from table "PROCORE "."PLAN_MASTER"EXPORT: 3 rows from table "PROCORE "."PERIOD_MASTER"EXPORT: 3849 rows from table "PROCORE "."PLAN_OBJ"EXPORT: 26176 rows from table "PROCORE "."REGION"EXPORT: 340 rows from table "PROCORE "."CTY_MASTER"系统执行完之后会生成一堆.ixf 和.msg文件3. 在本机或目标机(linux) 上建立一个目录如product,product.sql和上步产生的文件都ftp过来.ftp servernamebinprompt offmget *closequit即可4.在本地新建一数据库可以原aix数据库同名如productCREATE DATABASE "PRODUCT"ON '/home/db2inst1/'ALIAS "PRODUCT"USING CODESET ISO8859-1TERRITORY USCOLLATE USING CompatibilityNUMSEGS 1DFT_EXTENT_SZ 32;5. 建立本数据库的所有表,用第一步生成的DDL语句来生成db2 –vtf product.sql6. 最后一步,导入所有数据db2move product import注意:此命令要在第三小download下来的那些文件(*.ixf *.msg)所在的目录中执行测试一下db2 connect to product;如果看到成功信息,db2数据库从aix迁移到linux上边就成功了。

db2数据库常用命令

db2数据库常用命令

db2常用命令0.进入db2命令环境db2cmd1.启动db2db2start;2.关闭db2db2stop;db2stop force;3.创建数据库db2 create db ;db2 create db using codeset GBK territory CN;db2 Create database using codeset IBM-eucCN territory CN;这样可以支持中文。

4.删除数据库(执行此操作要小心)db2 drop db如果不能删除,断开所有数据库连接或者重启db2。

5.断开数据库连接db2 force application all6.连接数据库db2 connect to user using7.断开数据库连接断开当前数据库连接:db2 connect reset或者:db2 disconnect current断开所有数据库的连接:db2 disconnect all8.备份数据库db2 backup db备注:执行以上命令之前需要断开数据库连接9.恢复数据库db2 restore db10.导出数据文件db2move export [-sn <模式名称,一般为db2admin>] [-tn <表名,多个之间用逗号分隔>]; 更多时候用下面这种方式:db2 export to test.ixf of ixf select * from11.导入数据文件db2move importdb2 import from text.ixf of ixf create into ;(表不存在)db2 import from text.ixf of ixf insert into ;(表已经存在)12.建立映像:db2 catalog tcpip node nodename remote 10.0.2.3 server 50000db2 catalog db dbname at node nodename13.撤销映像:db2 uncatalog db dbname14.列出数据库中所有db:db2 list db directory15.获取建表脚本:db2look -d dbname -e -t tablename -a -x -i userId -w password -o filename.sql-d: 数据库名:这必须指定-e: 抽取复制数据库所需要的 DDL 文件-u: 创建程序标识:若 -u 和 -a 都未指定,则将使用 $USER-z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z-t: 生成指定表的统计信息-h: 更详细的帮助消息-o: 将输出重定向到给定的文件名-a: 为所有创建程序生成统计信息-m: 在模拟方式下运行 db2look 实用程序-c: 不要生成模拟的 COMMIT 语句-r: 不要生成模拟的 RUNSTATS 语句-l: 生成数据库布局:数据库分区组、缓冲池和表空间。

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数据库表空间迁移的实施过程经验分享(适用于v.9.7以下版本)

db2数据库表空间迁移的实施过程经验分享(适用于v.9.7以下版本)
AND T1.TABSCHEMA=T2.TABSCHEMA AND T1.TABNAME=T2.TABNAME
)
检查结果:没有发现引用迁移表的约束。
处理方法:无
5、表引用检查,检查涉及引用的迁移表
SELECT * FROM SYSCAT.REFERENCES T1 WHERE EXISTS (
SELECT * FROM SYSCAT.TABLES T2 WHERE T2.TBSPACE='USERSPACE1' AND T2.TABSCHEMA NOT IN ('SYSTOOLS')
6、XSR对象检查,检查涉及引用的迁移表
SELECT * FROM SYSCAT.XSROBJECTDEP T1 WHERE EXISTS (
SELECT * FROM SYSCAT.TABLES T2 WHERE T2.TBSPACE='USERSPACE1' AND T2.TABSCHEMA NOT IN ('SYSTOOLS')
CELL
SPE_ORGANIZATION_SEARCH
CELL
TP_ORGANICFERT_SPE_ORG
处理方法:备份找出的4个视图的DDL,并在迁移过程重命名表名步骤前,删除这些视图,迁移后重新创建。
2、触发器检查,检查涉及引用的迁移表
SELECT * FROM SYSCAT.TRIGDEP T1 WHERE EXISTS (
处理方法:无
3、自定义函数检查,检查涉及引用的迁移表
SELECT * FROM SYSCAT.FUNCDEP T1 WHERE EXISTS (
SELECT * FROM SYSCAT.TABLES T2 WHERE T2.TBSPACE='USERSPACE1' AND T2.TABSCHEMA NOT IN ('SYSTOOLS')

数据库的复制

数据库的复制

在DAO对象中含有一些数据操作的属性,如Database, QueryDef,TableDef等。Property对象中一般具有以下一些属性:
1. Name属性 2. Typt属性 3. Value属性 4. Inherited属性
13
数据库应用——电子商务
2022年9月13日
与副本操作有关的对象、属性和方法
1. 需要更新多个副本中的大量记录
对于那些需要对不同副本中的现存记录进行频繁更 新的应用程序,可能会产生更多的记录冲突。
2. 对数据一致性的要求非常严格
对于诸如资金过户、航班机票的预订之类的事务处 理应用程序,要求复制时候6 的信息不能有半点差错。数据库应用——电子商务
副本集拓扑结构
2022年9月13日
7
数据库应用——电子商务
副本集拓扑结构
2022年9月13日
星形拓扑结构
星形拓扑结构是通过一个连接节点将数据复制到每个相连的副本节点中。 星形结构的优点在于:降低了节点出错时数据复制失败的几率;对于局域网 范围来说,数据复制的速度较快;该结构比较有效、可靠。其缺点是当连接 节点出错时,可能会造成数据复制失败。
10
数据库应用——电子商务
2022年9月13日
与副本操作有关的对象、属性和方法
(一) Document对象和Documents集合 DoБайду номын сангаасument对象含有关于对象的一个实例的信息,对
象可以是一个数据库、表、查询或关系(仅适用于 Microsoft Jet数据库)。。每个Container对象有一个包含 Document对象的Documents集合,这些Document对象描 述由Container指定类型的内置对象的实例。

db2数据库迁移方案

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数据库迁移步骤

db2数据库迁移步骤

DB2数据库迁移步骤1. 确定迁移目标和目标环境在进行DB2数据库迁移之前,首先需要确定迁移的目标和目标环境。

确定迁移目标是指确定数据库要迁移到哪个系统或服务器上,目标环境是指目标系统或服务器的操作系统、硬件配置、网络环境等。

2. 准备迁移计划在进行数据库迁移之前,需要制定一个详细的迁移计划。

这个计划应包括以下几个方面的内容:•迁移时间表:确定迁移的时间安排,包括迁移开始时间、结束时间以及可能的中断时间。

•迁移步骤:确定迁移的具体步骤,包括备份原数据库、准备目标环境、迁移数据、测试迁移结果等。

•迁移风险评估:评估迁移过程中可能出现的风险,并制定相应的应对措施。

•迁移资源需求:确定迁移所需的人员、设备和软件资源,并进行相应的准备。

3. 备份原数据库在进行数据库迁移之前,务必要对原数据库进行备份。

备份数据库的目的是为了在迁移过程中出现问题时能够恢复到迁移前的状态。

可以使用DB2提供的备份工具进行数据库备份,也可以使用其他第三方备份工具。

4. 准备目标环境在进行数据库迁移之前,需要准备好目标环境。

这包括安装DB2数据库软件、创建目标数据库实例、配置数据库参数等。

确保目标环境与原数据库环境兼容,并满足迁移需求。

5. 迁移数据迁移数据是数据库迁移的核心步骤。

可以使用DB2提供的迁移工具进行数据迁移,也可以使用其他第三方工具。

数据迁移的具体步骤包括:•导出数据:从原数据库中导出需要迁移的数据。

可以使用DB2提供的导出工具进行数据导出,也可以使用其他第三方工具。

•导入数据:将导出的数据导入到目标数据库中。

可以使用DB2提供的导入工具进行数据导入,也可以使用其他第三方工具。

6. 测试迁移结果在完成数据迁移之后,需要对迁移结果进行测试,以确保迁移成功并满足预期的需求。

测试迁移结果的具体步骤包括:•验证数据完整性:检查迁移后的数据库是否与原数据库一致,数据是否完整。

•验证功能性:测试数据库的各项功能是否正常运行。

•性能测试:测试数据库的性能是否满足需求,包括查询性能、事务处理性能等。

DB2数据库导入导出

DB2数据库导入导出

DB2数据导入导出2012年3月12日编辑:徐彦一、环境操作系统:RedhatLinuxAS5.5(-128.el5PAE#1SMPi686i386GNU/Linux)数据库版本:DB2WorkGroup版V9.7.0(数据库版本可通过连接数据库来查看,db2connecttodbname)二、声明●实例用户,默认为db2inst1●Das用户,默认为dasusr1●数据库安装目录($INSTHOME),默认为/opt/ibm/db2/V9.7●实例安装目录($HOME),默认为/home/db2inst1/●实例名:db2inst1●数据库名:<dbname>三、导出具体步骤3.1导出对象结构建议单独创建一个数据导出目录,利于导出文件整理的清晰。

$su–db2inst1#切换至db2inst1用户$cd/<backupdir>#<backupdir>为导出目录,例如/home/db2inst1/dbdmp(db2inst1要有相应的读写权限)$db2connectto<dbname>#连接至数据库$db2look–d<dbname>-e–a–l–o<dbname>.sql#导出数据库对象创建脚本例子:数据库名为meibof3.2导出数据库数据(建议在<backupdir>目录下另建db2move的目录用来存放导出数据,因为db2move命令会产生若干文件)db2move<dbname>export(如果导出是发现有warning,在上面的命名后面加上-aw参数)以数据库名为meibof为例:四、导入具体步骤4.1建立新数据库$su–db2inst1#切换至db2inst1用户db2createdb<dbname>(建议使用db2cc工具来进行创建数据库)创建名为meibof的数据库:4.2执行<dbname>.sql脚本创建数据库切换到放置<dbname>.sql的目录db2–tvf<dbname>.sql(单次导入有可能丢失数据结构,建议连续执行3次,导入完成后,和开发人员确认数据库对象的数量,尤其是存储过程。

  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 参考资料。

相关文档
最新文档