龙空技术网

金融-DB2数据库迁移

侠心童语 119

前言:

此时朋友们对“db2表数据迁移到另一张表”大概比较关怀,各位老铁们都想要分析一些“db2表数据迁移到另一张表”的相关知识。那么小编在网络上网罗了一些对于“db2表数据迁移到另一张表””的相关资讯,希望同学们能喜欢,咱们一起来学习一下吧!

最近,数据库所在的机器即将过维保或者要坏了,我们不得不进行数据库迁移,下面简单介绍下如何迁移数据库,源和目标都是DB2: 一、旧环境的数据库环境

1. 在迁移之前,你需要将迁移前的数据库IP、端口、数据库名称、用户名和密码都搞清楚,做好规划,需要迁移哪些表。

2. 登陆数据库IP查看数据库相关信息

db2 list db directory

db2 connect to DBNAME user dbuser using dbpwd

db2 list TABLESPACES show detail

db2 LIST TABLESPACE CONTAINERS FOR 1 show detail

查看各个表空间是否用到裸设备

通过上述命令调查源数据库的数据库表空间放置位置,给新数据库创建提供参考。

二、新数据库创建和数据迁移

1、新环境创建数据库

登录用户 db2i**** db2i****

db2start

db2 "create db ****db using codeset UTF-8 territory CN pagesize 16 K"

2、新机器本地配置老数据库IP的 数据库

db2 get dbm cfg |grep SVC

****user

密码

3、制作导出的sql

select distinct a.CARD, 'export to '|| a.TABNAME ||'.ixf of ixf select * from '|| a.TABNAME ||' with ur;' from syscat.tables a where a.OWNER ='****USER' and( a.TABNAME not like '****_%' and a.TABNAME not like 'AP_%')

order by a.CARD desc

with ur;

将上述SQL语句取出的内容放到.sql文件中。

4、编目源数据库

在新机器上catalog老IP数据库,执行如下2个命令:

操作用户必须是实例用户(db2i**** db2i****)

db2 catalog TCPIP node n_68msa remote 老数据库IP server 60001

db2 catalog db ****db as msa68db2 at node n_68msa

db2 connect to msa68db2 user ****user

将export.sql上传到新的数据库IP,并执行导出:

3、制作导入语句

select distinct 'import from '|| a.TABNAME ||'.ixf of ixf create into '|| a.TABNAME ||';' from syscat.tables a where a.OWNER ='****USER' and( a.TABNAME not like '****_%' and a.TABNAME not like 'AP_%')

with ur;

4、授权及环境处理

需要编辑****user的.profile文件

if [ -f /home/db2i****/sqllib/db2profile ]; then

. /home/db2i****/sqllib/db2profile

Fi

退出****user.重新执行db2命令成功

5、开始上传文件并进行导入

将export.sql和import.sql上传到新的机器

注意用户是****user,新建文件夹importdata(mkdir importdata)

三、错误解决

1、drop 不掉表

drop table CHECK_OPR_LOG-2018-11-14bak;

只能用 drop table “CHECK_OPR_LOG-2018-11-14bak”;

2、日志空间满

解决办法:

db2 update db cfg using LOGPRIMARY 50

db2 update db cfg using LOGSECOND 30

标签: #db2表数据迁移到另一张表