摘 要 本文主要從系統(tǒng)級別的改變、init.ora參數(shù)的改變、import選項的改變?nèi)齻€方面來介紹如何實現(xiàn)提高ORACLE關(guān)系數(shù)據(jù)庫系統(tǒng)的import實用工具的性能,對廣大ORACLE系統(tǒng)管理員在進行數(shù)據(jù)庫故障恢復時提高效率有較大意義。
Import和Export是ORACLE數(shù)據(jù)庫系統(tǒng)的兩個配套的實用程序,Export把數(shù)據(jù)庫中的數(shù)據(jù)卸出到操作系統(tǒng)文件中,而Import實用程序則把Export卸出的數(shù)據(jù)恢復到數(shù)據(jù)庫中。import過程有時要花費幾個小時甚至幾天時間才能成功地完成。不幸的是,在許多情況下,import需要對數(shù)據(jù)庫進行故障的恢復,這時對時間的要求比較高,因而這種性能是不能勝任的。筆者在從事ORACLE
7系統(tǒng)管理工作兩年期間,總結(jié)出有幾個基本的參數(shù)改變可以減少import所需的時間。
一、 系統(tǒng)級別的改變 1痹謚亟ㄊ據(jù)庫時盡可能增大DB_BLOCK_SIZ參數(shù)。塊的大小越大,所需I/O循環(huán)的次數(shù)就越少。這種改變是永久性的,因此在修改它的時候應考慮到各種可能的影響。
2苯立并使用一個大的rollback段,同時將其他rollback段關(guān)閉(offline)。一個rollback段大約需要最大的表(table)的50%的大小就足夠了。
3痹import完成之前將數(shù)據(jù)庫置于NOARCHIVELOG模式。這將減少創(chuàng)建和管理archive日志的時間。
4庇rollback段一樣,創(chuàng)建幾個大的重做日志文件(redo log files),越大越好。關(guān)閉一些小的重做日志文件。重做日志文件越大,所需的日志切換的次數(shù)就越少。檢查警告日志信息如“Thread
1 cannot allocate new log,sequence 17,Checkpoint not complete”,這就意味著日志文件需要擴大或數(shù)量需增加。
5比綣可能,盡量將rollback段、表數(shù)據(jù)和重做日志文件分布在不同的硬盤上。這樣可以減少I/O沖突的可能性。
二、 intr.ora參數(shù)的改變 1苯LOG_CHECKPOINT_INTERVAL的值置為大于重做日志文件的大小。這個值通常以操作系統(tǒng)的塊大小來定義(UNIX系統(tǒng)大多是512字節(jié))。這樣可以將檢查點checkpoint)減小到最少(僅在日志切換時執(zhí)行)。
2痹齟SORT_AREA_SIZE的值。這種增加取決于機器中其他活動進程的狀況以及還有多少可用的空閑內(nèi)存。我們可以試5-10次來尋找一個最佳值。若機器開始交換(swapping)及頁面(paging)切換,說明值設(shè)置得太大。
三、 import選項改變 1敝COMMIT=N。這將導致import在每個對象(如table)結(jié)束之后提交(commit),而非緩沖區(qū)滿提交。這就是我們?yōu)槭裁葱枰粋€大的rollback段。
2輩捎靡桓齟蟮BUFFER值。這個值要視系統(tǒng)活動狀況、數(shù)據(jù)庫大小等情況而定。通常幾兆字節(jié)就夠了,但是若有足夠的內(nèi)存這個值還可更大些。同樣,我們可以查看頁面和交換的情況來確定這個值是否太大。這將減少import進程到文件中讀取數(shù)據(jù)的次數(shù)(每次它將讀取一個buffer大小的數(shù)據(jù))。
3敝INDEXES=N。這將加快導入無索引表的速度。采用INDEXFILE選項,在數(shù)據(jù)導入完成后建立索引。建立索引時SORT_AREA
_SIZE值要足夠大。
作者單位:中國銀行福建省分行(福州350005)
|