| 如何提高Import/ Export性能  EXPORT:  增加 BUFFER (eg. 2800000)  停止所有應(yīng)用(不一定現(xiàn)實(shí))  export文件不在ORACLE使用的驅(qū)動(dòng)器上  不要export到NFS文件系統(tǒng) IMPORT:  建立一個(gè)indexfile,在數(shù)據(jù)import完成后在建立索引  將import文件放在不同的驅(qū)動(dòng)器上  增加DB_BLOCK_BUFFERS  增加LOG_BUFFER  用非歸檔方式運(yùn)行ORACLE: --如果有個(gè)大的日志文件當(dāng)然也會(huì)提高速度,不過(guò)臨時(shí)加大太煩瑣 ALTER DATABASE NOARCHIVELOG;  建立大的表空間和大的回滾段,OFFLINE其他回滾段,回滾段的大小為最大表的1/2  使用 COMMIT=N  使用ANALYZE=N 另外可以用單用戶(hù)模式導(dǎo)入 或者用管道模式直接導(dǎo)入導(dǎo)出來(lái)提高imp/exp的性能 管道的使用方法 在源機(jī)器之上(稱(chēng)之為SRC)執(zhí)行導(dǎo)出: mknod /dev/p_exp p 在目的機(jī)器之上(稱(chēng)之為TRGT)執(zhí)行導(dǎo)出: mknod /dev/p_imp p 在兩個(gè)機(jī)器上通過(guò)l s命令確保兩個(gè)管道都已被創(chuàng)建。 2) 將“導(dǎo)入管道(在SRC之上)”復(fù)制到“導(dǎo)入管道(在TRGT之上)”。可以使用任何允 許遠(yuǎn)程復(fù)制的命令(例如rcp)。本例通過(guò)rsh使用dd命令。 在TRGT之上: rsh src dd if=/dev/p_exp > /dev/p_imp 3) 啟動(dòng)導(dǎo)出進(jìn)程。 在SRC之上: exp userid=username file=/dev/p_exp full=y direct=y 4) 啟動(dòng)導(dǎo)入進(jìn)程。 在TRGT之上: imp userid=username file=/dev/p_imp buffer=???? full=y 另外一種增加導(dǎo)出/導(dǎo)入吞吐量的方法是使用單任務(wù)模式的導(dǎo)出和導(dǎo)入實(shí)用工具。在UNIX上,缺省情況下 imp/exp都是以雙任務(wù)模式鏈接的(換句話(huà)說(shuō),創(chuàng)建了一個(gè)影子進(jìn)程,利用它隔離Oracle內(nèi)核代碼和導(dǎo)出/導(dǎo)入代碼, 又就是說(shuō)這些代碼變成私有,不再給共享了)。使用單任務(wù)的導(dǎo)出/導(dǎo)入使用工具可以增加整個(gè)吞吐量大致為0~20%。 但是,以單任務(wù)模式鏈接的實(shí)用工具會(huì)消耗更多的內(nèi)存,因?yàn)?span lang=EN-US>Oracle可執(zhí)行代碼不再被所有后臺(tái)進(jìn)程和前臺(tái)進(jìn)程共享。 單任務(wù)可執(zhí)行代碼的名字與常規(guī)的雙任務(wù)可執(zhí)行代碼一樣,除了前者擁有“st”后綴之外(所以單任務(wù)的exp變?yōu)?span lang=EN-US>expst, 單任務(wù)的imp變?yōu)?span lang=EN-US>impst)。 單任務(wù)模式的實(shí)用工具需要通過(guò)下面的 命令顯式地鏈接: cd ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk expst make -f ins_rdbms.mk impst -- ins_rdbms.mk要根據(jù)oracle版本來(lái)決定 | 
|  |