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