優化IMPDP/EXPDP
數據據泵與exp/imp 來說性能有很大的提高,其中影響最大的就是paralle。可以這麼來看: expdp/impdp=exp/imp+direct mode + paralle. 所以,使用數據泵,要想提高速度,就要設置並行參數。(expdp沒開並行,基本上和直接路徑exp沒兩樣),其他調整比如REDO,tmp表空間等這裏就不講了。
如果我們使用如下語句:
expdp full=y directory=dump dumpfile=orcl_%U.dmp parallel=4
那麼expdp將爲parallel 創建4個文件: ORCL_01.DMP,RCL_02.DMP ,ORCL_03.DMP,RCL_04.DMP。 每個進程一個文件。 這樣的話,每個文件的大小會因進程而不同。可以某個文件很大,某個文件卻很小。要解決這個問題,就是設置filesize 參數。來指定每個文件的最大值。這樣當一個文件達到最大值的之後,就會創建一個新的文件。
如: expdp full=y directory=dump dumpfile=orcl_%U.dmp parallel=4 filesize=50M
導出的dump文件和paralle有關係,那麼導入也有關係。 paralle要小於dump文件數。如果paralle 大於dump文件的個數,就會因爲超過的那個進程獲取不到文件,就不能對性能提高。
一般parall 參數值等於CPU 的個數。而且要小於dump文件的個數。
查看CPU 個數:
SQL> show parameter cpu
注意:
導出導入的過程,儘量避免用ssh連上服務器,在客戶端的ssh裏執行備份恢復命令。因爲這樣,如果連接中斷,備份也就中斷了。可以將備份腳本添加到crontab 裏。讓備份在服務器上執行。這樣即使ssh中斷,備份和恢復也不受影響。