您的位置 首页 高防服务器

oracle的Bi系统怎么迁移到大数据平台上来?(oracle数据迁移mysql)

第一步:从SQLSERVER中导出数据

在SQLSERVER数据库上使用ImportandExportData工具

1.在chooseaDatasource页

选取:

source=MicrosoftOLEDBPorviderforSqlServer

server=local

database=icd_db_bill

{useSqlServerauthentication}

user=sa

选择下一步

2.在choosedestination页中

选取destination为TextFile

filename=\”d:\\backup\\tbilllog1.txt\”

选择下一步

3.选择useaquerytospecifythedatatotransfer

选择下一步

注:由于SQLSERVER导出时会将table_id作为一个域导出,而oracle没有(oracle为rowid),所以必须选择此项为useaquerytospecifythedatatotransfer而不是copytable(s)fromsourcedatabase

4.在QueryBuilder选项进入

选取tbilllog1,添加然后将table_id从列表中去掉

一直确认直到selectDestinationFileFormat页面

5.选择

filetype=ansi(缺省)

row={cr}{lf}(缺省)

column=comma(缺省)

text=doublequote{\”}(缺省)

在comumn和text选项会影响到oracle的controlfile的设置

第二步:

oracle方面的设置

首先将tbilllog1.txt拷贝到log1.ctl的目录

提示:如果NT平台可以先压缩再传送可以节省时间,到目的目录再解开

controlfileexample:log1.ctl

LOADDATA

INITFILE\’tbilllog1.txt\’

insertintotabletbilllog1

fieldsterminatedby\’,\’optionallyenclosedby\’\”\’

(

callid,

callidnum,

callerno,

calleeno,

waitbegindate\”yyyy–mm-ddhh24:mi:ss\”,

waitenddate\”yyyy-mm-ddhh24:mi:ss\”,

ackbegindate\”yyyy-mm-ddhh24:mi:ss\”,

ackenddate\”yyyy-mm-ddhh24:mi:ss\”,

)

*fieldsterminatedby\’,\’指明域由,分割,对应到上面第5步的column=comma

*optionallyencloseby\’\”\’指明字符型数据有\”\”括起来,对应到text=doublequote{\”}如果选择text=none不加此语句。

sql数据怎么转到ORACLE里?

可以参考如下解决方法:1利用某个工具将数据导出成txt文件(里面的内容类似insetintotablevalues();形式)。这个步骤也有讲究。有两个方案:1)直接从这个大表中一个id一个id的导出数据。2)先采取createtablet_idnameasselect*fromsouce_tablewhereid=1;的形式建立15000个id表。然后直接一个表一个表的导出数据。优点是:导出的时候速度快,目标清晰,出错了容易处理。缺点:前期准备工作很多。得考虑磁盘空间等。2导出文件的处理。因为sqlserver和oracle的一些数据类型不同,一些关键字也不同。需要对导出文件进行处理。(如果导出工具支持的话,可以直接在导出工具中设置进行处理,兼并到第一步中去)3导入。没什么好说的,采用oracle的sqlload工具即可。另外还可以在sqlserver里建立dblink,连oracle然后,就在sqlserver方,用sql把数据转到dblink连着的数据库里。

关于作者: 维拓主机

热门文章