由于兄弟项目组要测试,需要将oracle中的表迁移到db2中,操作步骤如下:
#1 在windows数据库中建联邦数据库服务器\用户映射
connect to sample
CREATE WRAPPER DRDA LIBRARY 'db2drda.dll';--创建DB2包装器
CREATE WRAPPER NET8 LIBRARY 'db2net8.dll';--创建Oracle包装器
CREATE SERVER BSM1 TYPE DB2/UDB VERSION '9.7' WRAPPER DRDA AUTHID "bsm1" PASSWORD "bsm1" OPTIONS( ADD DBNAME 'BSM1');--创建db2数据库的服务器定义
CREATE SERVER IBIS_48 TYPE ORACLE VERSION '10g' WRAPPER NET8 OPTIONS( ADD NODE 'IBIS_48');--创建oracle数据库的服务器定义
CREATE USER MAPPING FOR ADMINISTRATOR SERVER BSM1 OPTIONS ( ADD REMOTE_AUTHID 'bsm1', ADD REMOTE_PASSWORD 'bsm1') ;--创建db2的用户映射
CREATE USER MAPPING FOR ADMINISTRATOR SERVER IBIS_48 OPTIONS ( ADD REMOTE_AUTHID 'bsm5', ADD REMOTE_PASSWORD 'bsm5') ;--创建oracle的用户映射
#2 在windows数据库中建昵称
DB2 CREATE NICKNAME BSM1.TEP0002 FOR BSM1.BSM1.TEP0002
--------
DB2 CREATE NICKNAME BSM5.TEP0002 FOR IBIS_48.BSM5.TEP0002
#3 迁移数据
--把数据表先truncate下
db2 connect to bsm1 user bsm1 using bsm1
db2 truncate table TEP0002
--insert进来oracle数据
db2 connect to sample
db2 INSERT INTO BSM1.TEP0002 SELECT * FROM BSM5.TEP0002
db2 commit(如果需要insert很多个表,需要每个insert后执行一个commit,否则会把DB2的buffer用光而报错)