db2数据迁移到oracle

1.导出db2原始数据

db2 "EXPORT TO ft_user.csv OF DEL  
SELECT ROW_NUMBER() OVER() AS DBID,
COALESCE(TO_CHAR(TRANS_UPDATETIME,'yyyymmdd'),TO_CHAR(SYSDATE,'yyyymmdd')) AS FRONT_DATE,
COALESCE(TO_CHAR(TRANS_UPDATETIME,'HH24mmss'),TO_CHAR(SYSDATE,'HH24mmss')) AS FRONT_TIME, 
'000000' AS FRONT_SEQ,
MER_ID AS BUSS_NO,
USER_ACCTNO AS CARD_NO,
0 AS SIGN_STAT,
COALESCE(TO_CHAR(TRANS_BEGINDATETIME,'yyyy-mm-dd HH24:mm:ss'),TO_CHAR(SYSDATE,'yyyy-mm-dd HH24:mm:ss')) AS CREATE_TIME,
COALESCE(TO_CHAR(TRANS_UPDATETIME,'yyyy-mm-dd HH24:mm:ss'),TO_CHAR(SYSDATE,'yyyy-mm-dd HH24:mm:ss')) AS MODIFY_TIME  
FROM FT_USER"

 数据格式:

1,"20150916","180950","000000","800000000000039","5289489950000196",0,"2015-09-16 18:09:50","2015-09-16 18:09:50"
2,"20151022","161008","000000","800000000000040","5289489950000196",0,"2015-09-17 09:09:24","2015-10-22 16:10:08"
3,"20151021","101030","000000","800000000000040","4218719930000406",0,"2015-10-12 14:10:56","2015-10-21 10:10:30"
4,"20151110","101113","000000","800000000000023","5289489950000196",0,"2015-10-22 17:10:57","2015-11-10 10:11:13"
5,"20151110","101155","000000","800000000000023","4218719930000406",0,"2015-10-22 17:10:59","2015-11-10 10:11:55"
6,"20151222","141241","000000","800000000000039","4218710000004071",0,"2015-12-07 10:12:36","2015-12-22 14:12:41"

 

2.导入oracle数据

orale表结构

CREATE TABLE ALIPAY_SIGN(
    DBID            NUMBER(20)      NOT NULL PRIMARY KEY,
    FRONT_DATE      VARCHAR2(8)     NOT NULL,
    FRONT_TIME      VARCHAR2(6)     NOT NULL,
    FRONT_SEQ       VARCHAR2(60)    NOT NULL,
    BUSS_NO         VARCHAR2(15)    NOT NULL,
    CARD_NO         VARCHAR2(19)    NOT NULL,
    SIGN_STAT       VARCHAR2(1)     NOT NULL,
    CREATE_TIME     DATE            NOT NULL,
    MODIFY_TIME     DATE            NOT NULL,
    UNIQUE(BUSS_NO,CARD_NO)
);
CREATE SEQUENCE ALIPAY_SIGN_DBID_SEQ MINVALUE 1 MAXVALUE 9999999999999999999 INCREMENT BY 1 NOCYCLE;

 

 ft_user.ctl脚本

load data
append into table "ALIPAY_SIGN"
fields terminated by "," optionally enclosed by '"'
trailing   nullcols
(DBID "ALIPAY_SIGN_DBID_SEQ.nextval",FRONT_DATE,FRONT_TIME,FRONT_SEQ,BUSS_NO,CARD_NO,SIGN_STAT,CREATE_TIME DATE "YYYY-MM-DD HH24:MI:SS",MODIFY_TIME DATE "YYYY-MM-DD HH24:MI:SS")

 

 运行脚本

sqlldr userid=user/passwd control=/tmp/ft_user.ctl log=/tmp/ft_user.log data=/tmp/ft_user.csv rows=1000

 

posted @ 2017-01-11 15:47  W&L  阅读(3888)  评论(0编辑  收藏  举报