2013-06-01 121 views
0

我想从sql server中将数百万条记录从java server迁移到oracle,所以逻辑是
1.从指定的日期范围中选择sql server的所有数据,
2.一个将它们插入到Oracle一个,
3.删除SQL服务器每天将数百万条记录从sql server迁移到oracle

数据,但由于数据是非常巨大的,我怕的过程中会花费太多时间。所以我想要做
1.使用多线程从sql server读取日期(将指定的日期范围移到一些较小的范围)
2.使用多线程向oracle插入日期。

但我不确定多个线程可以解决问题。

希望得到一些建议。

+0

多少数据确实“百万记录“暗示?我们在说几百MB吗?几十GB?加载数据需要多长时间?什么是瓶颈?假设网络是瓶颈,通过数据库链接直接与SQL Server数据库直接通信将比需要两次在网络上传输所有数据的Java解决方案效率更高。 –

+0

我同意你关于Java在这种情况下绝对不相关,但不能同意使用SQL链接超过100.000条记录。在这种情况下,转储和质量加载将更有效率。如果在使用SQLLDR之前删除索引并禁用所有约束是可能的,那也是有帮助的。 –

回答

1

1)转储数据转换成中间文件(CSV或固定宽度) 2)使用SQLLDR导入它

你将不得不describe转储文件SQLLDR

相关问题