在SqlServer2000上面的一张表里面大约有9000w数据量。想导入到Oracle同名的一张表里面。尝试了以下方法:
1. SqlServer DTS。 导入了几百万条数据,DTS崩溃。
2. 写代码导入。效率不高,或者没有找对方法。准备建立透明网关,用 insert into a select * from a的方法去导入,不知道能不能成功
忘各位有经验的朋友能指点一二。
1. SqlServer DTS。 导入了几百万条数据,DTS崩溃。
2. 写代码导入。效率不高,或者没有找对方法。准备建立透明网关,用 insert into a select * from a的方法去导入,不知道能不能成功
忘各位有经验的朋友能指点一二。
Oracle下配置透明网关访问MS SQL SERVER配置环境:
Oracle服务器:192.168.1.218 Oracle9.2.0.1 for Windows SID:lrdb
MS SQL服务器:192.168.1.244 SQL SERVER 2000 要访问的库:lfkf1、安装 TRANSPARENT GATEWAY 选件(FOR MSSQL)
安装完成了以后有这样一个目录 $ORACLE_HOME\ora90\tg4msql2、 配置 LISTENER.ORA, 在SID_LIST_LISTENER下添加:
(SID_DESC =
(GLOBAL_DBNAME = sql2000) # 可自己命名
(PROGRAM = tg4msql)
(SID_NAME = sql2000) # SID 自己命名
(ORACLE_HOME = D:\oracle\ora92)
)3、 在 oracle_home\ora90\tg4msql\admin
建文件 init<SID>.ora 由于LISTENER里定义SID为 sql2000
因此文件名为:initsql2000.ora
其中内容为:
HS_FDS_CONNECT_INFO="SERVER=192.168.1.244;DATABASE=lfkf"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER4、重启LISTENER5、配置 tnsnames.ora
sql2000 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.218)(PORT = 1521))
)
(CONNECT_DATA =
(SID = sql2000)
)
(HS=OK)
) 6、建立数据库链:
CREATE DATABASE LINK DB_SQL CONNECT TO sms IDENTIFIED BY linkrich USING 'sql2000';7、完成,测试
select * from demo@db_sql
使用oracle 提供的TRANSPARENT GATEWAY 选件,可以实现oracle 数据库和ms sql server ,sybase 数据库的互联
以上是从网上搜的,如果能互连的话,能否通过
create table tb as select * from tb_target的方式来复制表的?仅仅是建议啊.. 也希望楼主实施之后分享下经验呀..
写代码,连接2000之后进行查询,按某一标志进行 ORDER BY,每次取500W条,需要20次(每次1000W,需要10次),每次记录标志的符号,这样的话需要的时间也是比较多了。优点:一次导入不完,可以分很多次导入,不会需要整块的时间来进行操作。
缺点:效率方面可能没有专业的工具高。我是菜鸟,欢迎拍砖!
今天在项目实施过程中是按照yhuib童鞋的方法做的,先用bcp将SQLServer数据导出,然后用sqlldr工具导入。
哇咔咔,数据呼啦呼啦的贼快。透明网关的方式,我本来想做的,但后来想想,花费的时间一定很多。
于是抱着试试看的心理,用bcp和sqlldr先导出导入一个月的数据,看看要多长时间。
结果,嘿嘿,蛮快的。10几分钟吧,总共600多w条数据。于是,打算用这种方法做导出导入。我是个勤快的人。( ⊙o⊙ ),数据一个月一个月的导,貌似有更加方便的做法(比如写个bat,循环,放在那里,去睡个觉,醒来就ok了。)大约9000w数据,花费了大约3.5小时。(还有提高效率的空间)死訷灬騎士,你的方法肯定不行的,读数据的速度估计还没有写数据的速度快呢,人家数据库一天就要有30多w的数据量。大量数据,看来用此种方法是没什么问题的。要注意一点,就是如果有varchar类型的数据,一定要注意特殊字符。
有空的时候,我会把项目实施过程的具体资料弄上来给各位参考。再次感谢大家的帮忙,谢谢,O(∩_∩)O谢谢。
我一般都用DTS,不过没碰到过你这么大的量.