例:frank用戶主要有表t1、T2、T3,每個表的數據有500萬行[Oracle @ cscscslochlost ABC]$ time expdp frank/frank directory = ABC dump file = ABC . DMP rel om 41.692s
用戶0m0.011s
系統0m0.032s
[Oracle @ cscscs localhost ABC]$ time expdp frank/frank directory = ABC dump file = ABC . DMP parallel = 3 real 0m 26.710s
用戶0m0.019s
sys 0m0.007s
速度提升是相當明顯的,如果每個dw進程使用單獨的dmp文件會更快[Oracle @ cscscsloclhost ABC]$ time expdp frank/frank directory = ABC dump file = ABC % u . DMP parallel = 3 real0m 22.928s
用戶0m0.017s
sys 0m0.008s
壹般建議parall設置不要超過cpu*2。
2,transport_tablespace方法,直接復制表空間文件的方式。使用expdp和impdp僅導出數據字典信息。表空間應該是獨立的。
SQL & gtexec DBMS _ TTS . transport _ set _ check(' USERS ',true);PL/SQL過程已成功完成。
SQL & gtselect * from transport _ set _ violations;未選擇任何行
傳輸表空間的方法是遷移數據的最快方法。因為數據本身並不需要oracle的sql層進行處理,但是在expdp期間表空間要設置為只讀狀態。
3,network_link模式。當數據文件比較大的時候,此時通過network_link方式直接從目標庫導入,不需要對源庫進行expdp操作,處理方式類似於正常的expdp/impdmp流程。這樣做的主要優點是可以避免在源庫中寫入大文件,然後將它們移動到目標庫中。
東東堂& gt將datapump_exp_full_database授予frank格蘭特成功了。
目標庫
東東堂& gt創建數據庫鏈接frank連接到frank使用“frank”標識的frank;數據庫鏈接已創建。
[Oracle @ localhost admin]$ impdp \ '/assys DBA \ ' network _ link = frank schemes = frank network _ link定義了壹個db_link名稱,此過程將源端frank模式導入到目標庫中。
4.使用適當的方法。expdp/impdp包括兩個主要方法:direct_path和external_table。使用direct_path會跳過sql層,這樣會更快,但是不能定義query[Oracle @ localhost ~]$ EXPDP frank/frank dump file = ABC。DMP query = t 1:" Where a > 5 " access _ method = direct _ path ora-39033:在直接路徑訪問方法下不能過濾數據。
其他方法有壹些局限性。詳情請參考mos相關文檔。Datapump通常會在啟動時自動決定使用哪種方法。而壹旦決定不能交互修改,就可以用400300來追溯。妳用了什麽方式kupw:02:03:30.332:1:table _ data:" frank "。" t1" directpath,Parallel:1 kupw:02:03:30.332:1:in function gather _ parse _ items kupw:02:03:30.332:1:in function check _ for _ remap _ network 5,對於index不會並行。其實在expdp的導出過程中,索引不需要像表數據壹樣導出,索引只導出ddl語句。
6.6、統計數據的導入可能會很慢,尤其是在10.2之前。在expdp中盡可能排除,在impdp之後使用單獨的收集任務。
7.具有強大的過濾功能,主要選項有表、包含、排除和查詢。Tables定義只導出壹些需要的表,exclude表示只導出壹些對象,excluding表示排除壹些對象。query可以過濾表格中的數據,只導出我們需要的數據。
8.使用壓縮函數可以減小轉儲文件的大小。
[Oracle @ localhost DP dump]$ ex PDP frank/frank dump file = ABC . DMP tables = t 1[Oracle @ localhost DP dump]$ ls-l ABC . DMP
-rw-r-1 Oracle oinstall 1583874048 Jan 20 03:54 ABC . DMP[Oracle @ localhost DP dump]$ ex PDP frank/frank dump file = ABC . DMP tables = t 1 compression = all[Oracle @ localhost DP dump]$ ls-l ABC . DMP
-rw-r-1 Oracle安裝197234688 1月20日04: 29 ABC。DMP可以看到,壓縮前是1.5G,壓縮後只有190M左右。
在12c版本中,可以通過compression_algorithm定義壓縮算法,常用的壓縮級別有:基本、低、中、高。
結合paralell,可以很好的利用多核CPU的處理能力。
11G之前也有很多bug導致數據泵變慢。可以查詢相關的生產訂單單據。datapump是通過使用兩個包完成的,dbms_metadata和dbms_datapump,所以應該保證共享池不會太小。