我需要將表從一個oracle數據庫複製到另一個oracle數據庫。我正在使用SQLLDR,因爲我沒有DB鏈接。由於表格大小非常龐大(大約160 GB),平面文件中的提取數據需要大約4-5小時,我還面臨unix盒子的存儲問題,並且通過sqlldr加載也需要大量時間。將Oracle表從一個數據庫複製到沒有DBLink的其他數據庫中
任何人都可以幫助我一樣嗎?
我需要將表從一個oracle數據庫複製到另一個oracle數據庫。我正在使用SQLLDR,因爲我沒有DB鏈接。由於表格大小非常龐大(大約160 GB),平面文件中的提取數據需要大約4-5小時,我還面臨unix盒子的存儲問題,並且通過sqlldr加載也需要大量時間。將Oracle表從一個數據庫複製到沒有DBLink的其他數據庫中
任何人都可以幫助我一樣嗎?
如果您使用的是Oracle 10G(或更高版本),則可以利用Oracle Data Pump實用程序,該實用程序將允許您通過即時壓縮方式導出/導入數據庫。根據Oracle數據庫版本的不同,您可以查看官方Oracle文檔,其中包含如何執行數據庫導出/導入操作的示例。
通過SQL,輸出或閥芯數據提取到一個UNIX命名管道,並立即開始從命名管道SQLLDR加載另一個會話...
[email protected]> mkfifo my.fifo.pipe
[email protected]> sqlplus -s user/[email protected] @script-spooling-to-my.fifo.pipe
<ANOTHER UNIX SESSION>
[email protected]> sqlldr userid=user/[email protected] control=.... data=my.fifo.pipe
這裏有人在用壓縮技術做它! http://www.simonecampora.com/blog/2010/07/09/how-to-extract-and-load-a-whole-table-in-oracle-using-sqlplus-sqlldr-named-pipes-and-拉鍊-轉儲-ON-UNIX / – Beege
如果您不能使用DBLinks和可以」使用datapump,您可以使用ETL工具,例如Pentaho Data Integration或其他,作爲一個簡單的選項。
謝謝。但我沒有權限在SQL Plus中創建目錄。你有其他的選擇嗎? – Pravin