高手談怎樣調(diào)整Oracle數(shù)據(jù)庫
Oracle經(jīng)過長時(shí)間的發(fā)展,很多用戶都很了解調(diào)整Oracle數(shù)據(jù)庫了,這里我發(fā)表一下個(gè)人理解,和大家討論討論。在Oracle數(shù)據(jù)庫運(yùn)行階段調(diào)整Oracle數(shù)據(jù)庫,Oracle數(shù)據(jù)庫運(yùn)行階段調(diào)整Oracle數(shù)據(jù)庫包括兩個(gè)方面:
◆操作系統(tǒng)級的調(diào)整
◆調(diào)整Oracle數(shù)據(jù)庫級
1.操作系統(tǒng)級的調(diào)整
實(shí)施操作系統(tǒng)級調(diào)整的主要目的是減少內(nèi)存交換,減少分頁,使SGA(SystemGlobleArea)可留駐內(nèi)存。
1.1減少內(nèi)存交換
內(nèi)存交換(swapping)可能會造成很大的內(nèi)存開銷,應(yīng)將它最小化。運(yùn)行在SolarisUnix操作系統(tǒng)上的Oracle數(shù)據(jù)庫,可利用vmstat或sar命令來檢查交換,查看到系統(tǒng)級內(nèi)存和硬盤I/O的使用情況,調(diào)整unix數(shù)據(jù)緩沖池的大小、每個(gè)進(jìn)程所能使用的內(nèi)存大小等參數(shù)。
vmstat命令
它報(bào)告Solaris上的進(jìn)程、虛擬內(nèi)存、磁盤、分頁和CPU的活動情況。下面命令將顯示系統(tǒng)每5秒鐘做的事情的概要:%vmstat5
sar命令
用于監(jiān)控交換、分頁、磁盤和CPU活動。下面命令用于每10秒顯示10次分頁活動的概要:%sar-p1010
若系統(tǒng)內(nèi)存交換較多,且需要節(jié)省內(nèi)存,可采用以下措施:
1)避免運(yùn)行不必要的系統(tǒng)daemon進(jìn)程或應(yīng)用程序進(jìn)程;
2)在不明顯影響數(shù)據(jù)塊命中率的前提下減少Oracle數(shù)據(jù)庫緩沖區(qū)的數(shù)量,以釋放一些內(nèi)存;
3)減少UNIX文件緩沖區(qū)的數(shù)量(特別是在使用裸設(shè)備時(shí))。
1.2控制分頁
少量的內(nèi)存分頁不會太顯著地影響系統(tǒng)的性能,因?yàn)閼?yīng)用程序不必全部放在內(nèi)存中。但是分頁過多將會造成系統(tǒng)性能下降。為了檢測過多的分頁,可在快速響應(yīng)或空閑期間運(yùn)行測量,并與響應(yīng)遲緩時(shí)的測量進(jìn)行比較??赏ㄟ^以下辦法來解決:
◆使用vmstat或sar-p監(jiān)控分頁;
◆安裝更多的內(nèi)存;
◆將一些工作移到另一系統(tǒng)中;
◆配置系統(tǒng)核心使用更少的內(nèi)存;
保持SGA在單個(gè)共享內(nèi)存段中。
1.3使SGA(SystemGlobleArea)留駐內(nèi)存
SGA是對Oracle數(shù)據(jù)庫數(shù)據(jù)進(jìn)行快速訪問的一個(gè)系統(tǒng)全局區(qū),若SGA本身需要頻繁地進(jìn)行釋放、分配,則不可能達(dá)到快速訪問數(shù)據(jù)的目的,因此,要求SGA駐留內(nèi)存。這時(shí),我們可以重新配置UNIX核心,調(diào)整一些操作系統(tǒng)參數(shù)以達(dá)到增加共享內(nèi)存的目的。以上介紹調(diào)整Oracle數(shù)據(jù)庫級。
【編輯推薦】