2016-01-14 220 views
0

我們嘗試使用Oracle SQL Developer的數據導出,但它需要很長時間(超過4小時且仍在運行)才能導出。從Oracle數據庫導出大數據

有人會建議從Oracle更快地下載大數據源的數據嗎?

最終我們希望從Oracle導出到Amazon S3。通常我們將文件導出爲CSV,然後將數據上傳到S3。

+2

什麼的,說來講是「大」,GB的數據?你的會議在等什麼?我的猜測是你在客戶端機器上運行SQL Developer,並且大部分等待事件都與網絡有關,因爲你正在使客戶端和服務器之間的帶寬達到最大。你可以在服務器上運行導出(在服務器機器上運行SQL Developer或通過'utl_file'生成文件或在服務器上運行Tom Kyte的SQL Unloader實用程序)?然後,您不依賴於客戶端和服務器之間的網絡連接。 –

+0

不幸的是,我們沒有服務器訪問權限。如果網絡是問題,我們沒有接入服務器,那麼我們卡住了嗎? – PC2015

+0

如果網絡是瓶頸,無法消除瓶頸,則可能會卡住。在SQL Developer中更改提取大小可能會產生影響,但除非您的WAN速度非常慢,否則不太可能產生巨大影響。 –

回答

0

我會下載用於Windows的Oracle數據庫工具並使用export(exp.exe)來執行任何大型處理。將direct = y選項放在旁邊將繞過sql評估階段並極大地提高吞吐量。導出的網絡流量效率也更高,因爲它可以緩存您可以設置的數據,如圖所示。

exp user/[email protected] file=file.dmp direct=y buffer=10000000 

然後,您可以使用equivilent導入工具(imp.exe)導入數據備份。

imp user/[email protected] file=file.dmp 

有很多選擇,這兩個工具和一個很好的起點是在這裏:

http://www.orafaq.com/wiki/Import_Export_FAQ