Attunity Oracleドライバーを使用してリモート サーバー上の Oracle データベースに接続し、データを取得して Excel ファイルにダンプしています。Visual Studio BIDS ではすべて正常に動作します。VS から、リモートの Oracle サーバーに直接接続してデータを取得できます。
しかし、この ETL を実稼働サーバー (64 ビット Windows Server 2008 & SQL Server 2012) に展開すると、ETL は常に実行フェーズで停止します。しばらく(20〜30分)実行した後、次の警告が表示され、エラーが発生することなく実行が継続されます-
[SSIS.Pipeline] Information: The buffer manager detected that the system was low on virtual memory, but was unable to swap out any buffers. 0 buffers were considered and 0 were locked.
Either not enough memory is available to the pipeline because not enough is installed, other processes are using it, or too many buffers are locked.
いくつかの詳細情報 -
- サーバーのメモリを確認しましたが、合計 12GB のうち 3GB しか使用されていません。
- 私はすでに最大8GBを使用するようにSQLサーバーを設定しています。
- SQL Server エージェント ジョブを使用して、ETL を 15 分ごとに定期的に実行しています。
- サーバー上の他のすべての ETL を停止して、この ETL を実行しようとしまし
Execute Package Utility
たが、結果は同じです。 - Oracle Query で日付範囲を使用してデータを取得しています。特定の日付範囲のクエリがデータを返さない場合、ETL の実行は常に成功します。
進捗ログ (パッケージ実行ユーティリティ) -
ポインタ/提案はありますか??
問題を適切に説明できることを願っています。
更新 (2014 年 3 月 5 日) -
取得するデータの量を減らしてみたところ、ETL は成功しました。また、DefaultBufferSize
10 MB(最大サイズ)に設定しました。しかし、クエリ データが超過している場合DefaultBufferSize
、パッケージが開発マシンでは成功するのに、サーバーでは成功しないのはなぜですか??
ありがとう、プラテック