利于DTS将关键数据导入oracle数据库

一、 首先利于DTS将关键数据导入oracle数据库,参照selserver2000DTS转换数据(mysql到oracle).doc
二、 由于DTS迁移到oracle的表名字是小写的,程序调用起来很麻烦,最好是将表改名。以下表名不一定准确,可能会超出长度限制,为了方便分辨才这么写的。
Alter table cdb_members rename to uc_members_bbs;
Alter table uc_members rename to uc_members_caimincun;
Alter table dnt_users rename to uc_members_caiyou;
Insert into uc_members select * from uc_members_bbs;--将uc_members_bbs表的数据插入到uc_members表里
Create table uc_members_caimincun_1 as select * from T2 where 1=2;--创建和T2表结构一样的表
Insert into uc_members_caimincun_1 select t.username from uc_members_caimincun T ,uc_members b where c.username=b.username;--备份uc_members_caimincun表和uc_members表的username重复的数据。
delete from uc_members_caimincun where username in (select t.username from uc_members_caimincun T ,uc_members b where c.username=b.username)--删除uc_members_caimincun表和uc_members表的username重复的数据。
Insert into uc_members select * from uc_members_caimincun;--将uc_members_caimincun表的数据插入到uc_members表中;
Create table uc_members_caiyou _1 as select * from uc_members_caiyou;--将uc_members_caiyou表备份
Create table uc_members_caiyou _2 as select * from uc_members_caiyou where 1=2;--创建和uc_members_caiyou结构相同的表
Insert into uc_members_caiyou _2 select t.username from uc_members_caiyou T ,uc_members b where c.username=b.username 将重复数据备份
delete from uc_members_caiyou where username in (select t.username from uc_members_caiyou T ,uc_members b where c.username=b.username)--删除uc_members_caiyou表和uc_members表的username重复的数据。
Insert into uc_members select * from uc_members_caiyou;--将uc_members_caiyou表的数据插入到uc_members表中;
以上是所有username不重重复的数据,还有一些username重复但是email不重复的很可能不是同一个用户,需要把这些用户的信息处理之后导入到uc_members表中。
delete from uc_members_caimincun _1 where username in(select t.username from uc_members_caimincun _1 t,uc_members tt where t.username=tt.username and t.email=tt.email)删除uc_members_caimincun _1表中username和email都和uc_members相同的数据
delete from uc_members_caiyou _2 where username in(select t.username from uc_members_caiyou _2 t,uc_members tt where t.username=tt.username and t.email=tt.email)删除uc_members_caiyou _2表中username和email都和uc_members相同的数据
delete from uc_members_caiyou_2 where username in(select t.username from uc_members_caiyou_2 t, uc_members_caimincun_1 tt where t.username=tt.username and t.email=tt.email)删除uc_members_caiyou_2表与uc_members_caimincun_1表username和email都相同的数据
insert into uc_members_caimincun_1 select * from uc_members_caiyou_2;将uc_members_caiyou_2中的数据插入到uc_members_caimincun_1中
update t2_1 set username=username||1;将uc_members_caimincun _1表中的username+1
insert into uc_members select * from uc_members_caimincun _1;将uc_members_caimincun _1表中的数据插入到uc_members中。
这样用户整合操作完成。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
---------------------------------------------------------------------------- - oz_ora_dts: Release 2.21 - Copyright (C) 2009 by Ozai ---------------------------------------------------------------------------- Usage: ozoradts -func keyword=value [,keyword=value,...] -func = -imp/exp Common Valid Keywords: userid = username/password@tnsname data = 数据文件 (默认dts.oz) log = 处理日志文件 control = 控制文件 columnarrayrows = 直接路径字段数组行数,5-5000 (默认5000) columnover = 字段数据分隔符 (默认Tab) rowover = 行数据结束符 (默认换行符) enclose = 字段数据封闭符 (默认无) head = 数据文件是否包含字段名 (默认FALSE) fixlen = 根据字段长度定长输出 (默认FALSE) nullif = NULL值替换符 (默认无) date = date类型字符格式 (默认YYYY-MM-DD HH24:MI:SS) timestamp = timestamp类型字符格式 (默认YYYY-MM-DD HH24:MI:SSXFF) timestamp_tz = timestamp_tz类型字符格式 (默认YYYY-MM-DD HH24:MI:SSXFF TZH:TZM) Import Valid Keywords: table = 导入目标表名 owner = 表schema或所属用户名 (默认登录用户名) sub = 对应表分区 (可选) mode = 导入操作 INSERT/APPEND/REPLACE/TRUNCATE (默认INSERT) buffer = 转换缓冲区大小 (UNIT:MB 默认16) reclen = 记录最大长度,8-2048 (默认2048) parallel = 并行导入 (默认FALSE) skip = Number of logical records to skip (默认0) load = Number of logical records to load (默认全部) errors = Number of errors to allow (默认0) rows = Number of rows in conventional path bind array or between direct path data saves nolog = no logging方式导入 (默认FALSE) Export Valid Keywords: query = select语句,只支持单表查询 table = 导入目标表名 (控制文件) mode = 导入操作 INSERT/APPEND/REPLACE/TRUNCATE (控制文件,默认INSERT) buffer = sqlldr READSIZE and BINDSIZE (控制文件,UNIT:MB 默认16) read = set DB_FILE_MULTIBLOCK_READ_COUNT at session level sort = set SORT_AREA_SIZE at session level (UNIT:MB) hash = set HASH_AREA_SIZE at session level (UNIT:MB) serial = set _serial_direct_read to TRUE if 1 at session level trace = set event 10046 to given level at session level long = 最大长字段长度,8192-65534 (默认8192) feedback = 每 x 行显示处理进度 (默认500000) Import采用直接路径方式,等同于sqlldr的Direct方式导入(DIRECT=TRUE),nolog参数等同于sqldr的UNRECOVERABLE参数 ozoradts -exp userid=test/test@oradb columnover=";" query="select * from fct_serv_product_stats_bk where rownum<5" fixlen=yes enclose=\" nullif=NULL head=yes skip=1 errors=2 rows=3 load=8 control=fct_serv_product.ctl table=serv_pstats data="d:\temp\serv.txt" ozoradts -imp userid=test/test@oradb table=serv_stats data="d:\temp\serv.txt" columnover=";" enclose=\" skip=1 errors=2 rows=3 load=8 如遇软件缺陷与建议邮件至ozai@sohu.com,谢谢!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值