数据迁移技术文档
1.实现目标:
将主server: 10.0.125.64:50000/bak 中的test_a表的数据导入到远程server: 192.168.227.100:50000/fwap_db 中的test_b表
2.使用软件:putty
具体步骤
1.通过putty在远程server中用talent的方式进行登陆,然后在命令行的形式下进行操作
2. 编目远程数据库。
catalog tcpip node train1 remote 10.0.125.64 server 50000
catalog database bak as c at node train1
train1 可以自定义
c 可以自定义不过字符尽量要少,不然报异常
10.0.125.64是需要进行迁移的数据库所在的IP地址
5000主端口号
bak 是需要进行迁移的数据库
3. 设置数据库参数FEDERATE为YES
UPDATE DBM CFG USING FEDERATED YES
更新联合数据库的支持为YES(更新前通过get dbm cfg来查看参数,如果可以支持联合数据库则不用执行该语句)
4. 重启实例
db2stop, db2start
(第三步没有执行的话则这步也不用执行)
5. 连接fwap_db数据库
connect to fwap_db
6. 创建包装器
CREATE WRAPPER DRDA
注册 DB2 包装器是将 DB2 系列数据源添加至联合服务器这一大型任务的一部分。
必须注册包装器才能存取 DB2 系列数据源。联合服务器使用包装器来与数据源通信以及从数据源中检索数据。包装器是作为一组库文件实现的。
7. 创建server
CREATE SERVER TRAINSAMPLE2 TYPE DB2/aix VERSION '10.1.2' WRAPPER "DRDA" AUTHID "db2inst1" PASSWORD "admin" OPTIONS( ADD NODE 'TRAIN1',ADD DBNAME 'c')
TRAINSAMPLE2为SERVER别名,可以自定义
db2inst1是bak数据库的用户名
admin 是db2inst1相关联的密码。
TRAIN1 是上面创建的节点名称
c 想要迁移的 DB2 数据库的别名。此别名是在您使用 CATALOG DATABASE 命令对数据库进行编目时定义的。此值是区分大小写的。
8. 创建用户映射
CREATE USER MAPPING FOR "db2inst1" SERVER "TRAINSAMPLE2" OPTIONS ( ADD REMOTE_AUTHID 'db2inst1', ADD REMOTE_PASSWORD 'admin')
db2inst1 指定您正在映射至在 DB2 系列数据源服务器中定义的用户标识的本地用户标 识。
db2inst指定您正在将 db2inst1 映射所至的 DB2 系列数据源服务器中的连接授权用户标识
admin为与db2inst相关联的密码
9. 映射远程表到本地数据库(为远程表创建一个昵称)
CREATE NICKNAME DB2INST1.N FOR TRAINSAMPLE2.DB2INST1.TEST_A
其中DB2INST1为模式名, n为本地昵称(类似表名), TRAINSAMPLE2为之前创建的服务器名, DB2inst1是远程数据库bak的模式名, test_a是bak中的表名。
10.使用insert into test_b select * from db2inst1.n 语句将bak中的test_a中的数据插入到 fwap_db中的test_b表中
11.好了,现在用db2 list tables就可以看到映射过来的表了,并且可以做db2admin相应权限的操作。(如查看,插入等)