I have a question regarding a good way to optimize the transfer of anywhere from 1 billion to 1.3 billion records (with capacity up to 2 billion or more records in the future) between Oracle and SQL Server.
*EDIT*I forgot to mention -- this process needs to be run weekly, within the time frame of of 1 weekend.
Currently I plan on using an ETL package. I'm looking at Talend or SSIS for right now.
Here is the data setup. The data resides on Oracle, and needs to be gathered first and repackaged before transmission.
Currently my process is this: 1.) A stored proc Extracts all the data and repackages it into an oracle table. 2.) An ETL will scan this table and move it to SQL Server DB. 3.) The table on Oracle and SQL Server are identical.
I was looking for some thoughts on optimization of the process. How would be good ways to optimize the inserts into SQLserver?
1.) I was thinking to just simply drop the table on SQL Server and then do create table as select * from oracle_table
2.) A redesign of the stored proc such that it runs in the ETL (saves me from having to insert into the oracle) and then directly insert into SQL Server -- On low volume tests with Talend (I can't speak for SSIS) I got some performance issues - the restructured procedure took longer to extract the data then calling it directly on Oracle. Is this normal, or maybe I messed up the optimization?
3.) Is there a better way to do massive data transmission that I am not aware of?
Any advice would be great. I think linked servers are an option here, but one is not setup, and I've never set one up before.
Any points/tips would be great, as I'm pretty new to this whole thing.