私はSQL Serverでデータマートを構築しています。これは、Oracleデータベースから毎月抽出する必要があります。現在、これはフラットファイルにエクスポートし、SQL Serverですべての挿入/更新を実行することで行われます...
更新を開始する前にエクスポートして挿入する約10のフラットファイルがあります。各ファイルには、ファイルあたり約350万行と5〜10列が含まれます。
現在、すべてが厳密にストアドプロシージャを介して行われています。今週、アクセス許可が適切に付与されていると想定して、SSISを調査しています。 Rhino ETLにも出会いました。
OracleからSQL Serverへの効率的でありながら比較的痛みのないETLに関するアドバイスはありますか?
ヘルプに感謝します!
SSISは、OracleからSQL Serverへのデータのエクスポートを適切に処理します。 SQL Serverでステージングテーブルを作成し、SSISを使用して10個のOracleテーブルのデータを抽出することをお勧めします。次に、SQL Serverでストアドプロシージャを使用し、SSISを使用してストアドプロシージャを実行するか、Merge
構文を使用して、制御フローで挿入と更新の両方を実行してみます。非常に多数の行に対してOledbコマンドを使用するSSISのデータフロータスクでは、更新が遅くなる傾向があります。
このリンクにアクセスしてください SSISを使用してOracleからデータを取得する:大きな驚き! これは、短時間で大量のデータをロードする際のSSISのパフォーマンスを説明しています。
OracleからSQL ServerへのETLプロセスを開始するには、 this のドキュメントを参照してください。
トランザクションOracleデータベースから「ステージング」データベース(Microsoft SQL Server 2012/2014)にデータを「プル」するときの個人的な経験から得られた、いくつかの適用しやすいアドバイスがあります。
IBMのData Managerを使用しましたが、面倒でした。そこで、代わりに簡単なJava移行を行うプログラムを作成しましたが、これは魅力のように機能しました。
リンクサーバーを使用してOLE DB。を介してOracleに接続しています。openqueryコマンドを使用して、データをSQLサーバーにプルダウンしています。
これは役立ちます