首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

SQL Server 2005 SSIS 遷移 Oracle 9.2 性能實測:驅動選型與內存權衡

     編輯:Oracle 資料庫基礎

項目背景

  • 異構遷移:多源舊系統 → Oracle 9.2 統一模型。
  • 甲方要求圖形化 ETL 工具,排除純 SQL 腳本方案。
  • 舊遷移工具僅支援表對表、性能極差。
  • 評估 Informatica/DataStage:授權貴、安裝繁雜、DataStage 非 Server 版 Windows 不支援並行作業。
  • 轉向微軟 **SSIS (SQL Server Integration Services)**,企業級 ETL 組件,隨 SQL 2005 內建。

測試環境與數據量

  • 同機器、同源數據、同目標 Oracle 9.2。
  • 測試集:25 萬條記錄(源表近 100 萬條)。
  • 機器內存:896 MB(VS.NET 設計器啟動即佔 790 MB)。

兩款 Oracle OLEDB 驅動對比

指標Microsoft OLEDB Provider for OracleOracle Provider for OLEDB
耗時(3 次平均)1 分 33 秒(~2 萬行/分)1 分 06 秒(~3 萬行/分)
速度優勢基準+50%
運行內存峰值~1.0 GB1.25~1.3 GB
100 萬行可行性峰值 1.5 GB 可完成突破 1.3 GB 即報「內存不足」/紅色錯誤

關鍵發現與選型困境

  • Oracle 官方驅動 **快 50% 但內存激進**,低配機器(<2 GB)跑大數據量極易 OOM。
  • 微軟驅動 **慢但穩健**,內存增長平緩,100 萬行同機器可跑通。
  • 對比基準:同源同驅動寫 **SQL Server 2005 (SQL Native Client)**,98.9 萬行 1 分 12 秒;開啟 FastLoad 仅 **58 秒**——原生目標庫性能碾壓異構寫入。

決策建議

  1. 內存 ≥ 4 GB + 追求極速:首選 Oracle Provider for OLEDB,並調大 SSIS 緩衝區 DefaultBufferMaxRows/DefaultBufferSize。
  2. 內存受限/穩定性優先:選 Microsoft OLEDB Provider for Oracle,接受較長窗口。
  3. 長期規劃:異構遷移屬一次性/低頻任務,建議**直接用 Oracle 原生工具**(Data Pump、SQL*Loader、外部表)繞過 SSIS 異構層,性能提升 10 倍+。
  4. 驅動優化方向:尋找 Windows 下內存佔用接近 SQL Native Client 的 Oracle 驅動(如 Oracle ODBC 驅動 + SSIS ODBC 目標、Attunity Oracle Connector),歡迎大神推薦。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved