優(yōu)化調(diào)整Oracle數(shù)據(jù)庫
時(shí)間:2009-03-31 17:36:00
來源:UltraLAB圖形工作站方案網(wǎng)站
人氣:5357
作者:admin
Oracle 數(shù)據(jù)庫服務(wù)器是高度可優(yōu)化的軟件產(chǎn)品,經(jīng)常性的調(diào)整可以優(yōu)化系統(tǒng)的性能,
防止出現(xiàn)數(shù)據(jù)瓶頸。我們通過調(diào)整數(shù)據(jù)庫系統(tǒng),可以使它達(dá)到最佳性能以滿足用戶的需要。
下面,筆者將介紹優(yōu)化和調(diào)整Sun SPARC Solaris系統(tǒng)平臺(tái)上的Oracle 數(shù)據(jù)庫服務(wù)器
Solaris性能監(jiān)控命令
Solaris提供了性能監(jiān)控命令,用于監(jiān)控?cái)?shù)據(jù)庫性能和決定數(shù)據(jù)庫的需求。除了為Oracle
進(jìn)程提供統(tǒng)計(jì)外,它們還為CPU提供使用統(tǒng)計(jì),為整個(gè)系統(tǒng)提供中斷、交換、分頁和上下文轉(zhuǎn)
1.vmstat
vmstat命令報(bào)告Solaris上的進(jìn)程、虛擬內(nèi)存、磁盤、分頁和CPU的活動(dòng)情況。下面命令
% vmstat 5
2.sar
sar命令用于監(jiān)控交換、分頁、磁盤和CPU活動(dòng)。下面命令用于每10秒顯示10次分頁活動(dòng)
$ sar -p 10 10
3.iostat
iostat命令報(bào)告終端和磁盤的活動(dòng)。該報(bào)告顯示哪些磁盤是忙的(該信息在平衡I/O負(fù)載
$ iostat 5 5
4.swap
swap命令報(bào)告關(guān)于交換空間使用的信息。交換空間的不足可以導(dǎo)致系統(tǒng)懸掛,減慢響應(yīng)時(shí)
5.mpstat
mpstat命令報(bào)告每個(gè)處理器的統(tǒng)計(jì)。
調(diào)整內(nèi)存管理
1.分配足夠的交換空間
內(nèi)存交換(swapping)可以造成很大的內(nèi)存開銷,應(yīng)該將它最小化。在Solaris上使用
sar -w或vmstat -S命令來檢查交換。若系統(tǒng)在交換,且需要節(jié)省內(nèi)存,則應(yīng)采用以下措施:
避免運(yùn)行不必要的系統(tǒng)daemon進(jìn)程或應(yīng)用程序進(jìn)程;
減少數(shù)據(jù)庫緩沖區(qū)的數(shù)量,以釋放一些內(nèi)存;
減少UNIX文件緩沖區(qū)的數(shù)量(特別是在使用原始設(shè)備時(shí))。
在Solaris上用swap -l命令決定當(dāng)前正在使用多少交換空間。使用swap -a命令向系統(tǒng)中
增加交換區(qū)。用系統(tǒng)RAM兩到四倍的交換空間啟動(dòng)數(shù)據(jù)庫。若準(zhǔn)備使用Oracle Developer、
Oracle Applications或Oracle InterOffice,則使用更高的值。監(jiān)控交換空間的使用,在必
2.控制分頁
內(nèi)存分頁(paging)可能沒有交換那樣問題嚴(yán)重,因?yàn)闉榱诉\(yùn)行,整個(gè)應(yīng)用程序不必全部
放在內(nèi)存中。少量的分頁不可能顯著地影響系統(tǒng)的性能。為了檢測(cè)過多的分頁,在快速響應(yīng)或
空閑期間運(yùn)行測(cè)量,并與響應(yīng)遲緩時(shí)的測(cè)量進(jìn)行比較。使用vmstat或sar -p監(jiān)控分頁。
若系統(tǒng)有過多的頁面活動(dòng),則需考慮以下解決辦法:
安裝更多的內(nèi)存;
將一些工作移到另一系統(tǒng)中;
配置系統(tǒng)核心使用更少的內(nèi)存;
保持SGA在單個(gè)共享內(nèi)存段中。
沒有足夠的共享內(nèi)存,將不能夠啟動(dòng)數(shù)據(jù)庫。這時(shí),我們可以重新配置UNIX核心,以增加
調(diào)整磁盤I/O
I/O瓶頸是最容易識(shí)別的性能問題??缢锌捎玫拇疟P均勻地平衡I/O,可以減少磁盤存
取的時(shí)間。對(duì)于較小的數(shù)據(jù)庫和不使用并行查詢選項(xiàng)的那些數(shù)據(jù)庫,要確保不同的數(shù)據(jù)文件和
1.調(diào)整DBWR,增加寫帶寬
Oracle提供以下方法以防止DBWR(數(shù)據(jù)庫寫進(jìn)程)活動(dòng)成為瓶頸:
使用異步I/O 異步I/O允許進(jìn)程繼續(xù)處理下一個(gè)操作,而不必等待在發(fā)出寫后,最小化了
空閑時(shí)間,因而改善了系統(tǒng)性能。Solaris支持原始設(shè)備和文件系統(tǒng)數(shù)據(jù)文件的異步I/O。
使用I/O從屬 I/O從屬(slave)是專用的進(jìn)程,其惟一功能是執(zhí)行I/O。它們代替
Oracle 7的多個(gè)DBWR特性(實(shí)際上它們是多個(gè)DRWR的概括,可以由其它進(jìn)程分布)。不管異步
I/O是否可用,它們都可以操作。若設(shè)置的話,它們被從LARGE_POOL_SIZE分配,否則從共享
初始化參數(shù)控制了I/O從屬的行為,其中DISK_ASYNCH_IO和TAPE_ASYNCH_IO允許分別為磁
盤和磁帶設(shè)備關(guān)閉異步I/O(因?yàn)槊總€(gè)進(jìn)程類型的I/O從屬缺省為0,除非明確設(shè)置,否則沒有
若DISK_ASYNCH_IO或TAPE_ASYNCH_IO無效,則DBWR_IO_SLAVES應(yīng)該設(shè)置大于0,否則DBWR
將成為一個(gè)瓶頸。在這種情況下,Solaris上DBWR_IO_SLAVES的最佳值為4,而在 #p#page_title#e#
DB_WRITER_PROCESSES代替Oracle 7的參數(shù)DB_WRITERS,指定某實(shí)例的數(shù)據(jù)庫寫進(jìn)程的初
始數(shù)量。若使用DBWR_IO_SLAVES,則只有一個(gè)數(shù)據(jù)庫寫進(jìn)程被使用,而不管DB
2.使用IOSTAT查找大磁盤請(qǐng)求隊(duì)列
請(qǐng)求隊(duì)列顯示特定磁盤設(shè)備上等待服務(wù)的I/O請(qǐng)求有多長(zhǎng)。由大量的磁盤I/O或由平均查找
時(shí)間I/O引起請(qǐng)求隊(duì)列。磁盤請(qǐng)求隊(duì)列應(yīng)該為0或接近于0。
3.選擇合適的文件系統(tǒng)類型
Sun SPARC Solaris允許選擇文件系統(tǒng)。文件系統(tǒng)有不同特性,它們用于存取數(shù)據(jù)的技術(shù)
.s5:UNIX系統(tǒng)V文件系統(tǒng);
.ufs:UNIX文件系統(tǒng)(由BSD UNIX派生);
.vxfs:Veritas文件系統(tǒng);
.原始設(shè)備:沒有文件系統(tǒng)。
通常沒有事實(shí)證明文件系統(tǒng)與文件系統(tǒng)是相配的,甚至不同的ufs文件系統(tǒng)也難以比較(
因?yàn)閳?zhí)行不同),盡管ufs通常是高性能的選擇,但根據(jù)選擇文件系統(tǒng)的不同,性能差別變化
監(jiān)控磁盤性能
使用sar -b和sar -u可以監(jiān)控磁盤性能。
sar -b對(duì)磁盤性能的重要性如下:
(1)bread/s、bwrit/s:塊讀和塊寫,它們對(duì)文件系統(tǒng)而言是非常重要的。
(2)pread/s、pwrit/s:分區(qū)讀和分區(qū)寫,
防止出現(xiàn)數(shù)據(jù)瓶頸。我們通過調(diào)整數(shù)據(jù)庫系統(tǒng),可以使它達(dá)到最佳性能以滿足用戶的需要。
下面,筆者將介紹優(yōu)化和調(diào)整Sun SPARC Solaris系統(tǒng)平臺(tái)上的Oracle 數(shù)據(jù)庫服務(wù)器
Solaris性能監(jiān)控命令
Solaris提供了性能監(jiān)控命令,用于監(jiān)控?cái)?shù)據(jù)庫性能和決定數(shù)據(jù)庫的需求。除了為Oracle
進(jìn)程提供統(tǒng)計(jì)外,它們還為CPU提供使用統(tǒng)計(jì),為整個(gè)系統(tǒng)提供中斷、交換、分頁和上下文轉(zhuǎn)
1.vmstat
vmstat命令報(bào)告Solaris上的進(jìn)程、虛擬內(nèi)存、磁盤、分頁和CPU的活動(dòng)情況。下面命令
% vmstat 5
2.sar
sar命令用于監(jiān)控交換、分頁、磁盤和CPU活動(dòng)。下面命令用于每10秒顯示10次分頁活動(dòng)
$ sar -p 10 10
3.iostat
iostat命令報(bào)告終端和磁盤的活動(dòng)。該報(bào)告顯示哪些磁盤是忙的(該信息在平衡I/O負(fù)載
$ iostat 5 5
4.swap
swap命令報(bào)告關(guān)于交換空間使用的信息。交換空間的不足可以導(dǎo)致系統(tǒng)懸掛,減慢響應(yīng)時(shí)
5.mpstat
mpstat命令報(bào)告每個(gè)處理器的統(tǒng)計(jì)。
調(diào)整內(nèi)存管理
1.分配足夠的交換空間
內(nèi)存交換(swapping)可以造成很大的內(nèi)存開銷,應(yīng)該將它最小化。在Solaris上使用
sar -w或vmstat -S命令來檢查交換。若系統(tǒng)在交換,且需要節(jié)省內(nèi)存,則應(yīng)采用以下措施:
避免運(yùn)行不必要的系統(tǒng)daemon進(jìn)程或應(yīng)用程序進(jìn)程;
減少數(shù)據(jù)庫緩沖區(qū)的數(shù)量,以釋放一些內(nèi)存;
減少UNIX文件緩沖區(qū)的數(shù)量(特別是在使用原始設(shè)備時(shí))。
在Solaris上用swap -l命令決定當(dāng)前正在使用多少交換空間。使用swap -a命令向系統(tǒng)中
增加交換區(qū)。用系統(tǒng)RAM兩到四倍的交換空間啟動(dòng)數(shù)據(jù)庫。若準(zhǔn)備使用Oracle Developer、
Oracle Applications或Oracle InterOffice,則使用更高的值。監(jiān)控交換空間的使用,在必
2.控制分頁
內(nèi)存分頁(paging)可能沒有交換那樣問題嚴(yán)重,因?yàn)闉榱诉\(yùn)行,整個(gè)應(yīng)用程序不必全部
放在內(nèi)存中。少量的分頁不可能顯著地影響系統(tǒng)的性能。為了檢測(cè)過多的分頁,在快速響應(yīng)或
空閑期間運(yùn)行測(cè)量,并與響應(yīng)遲緩時(shí)的測(cè)量進(jìn)行比較。使用vmstat或sar -p監(jiān)控分頁。
若系統(tǒng)有過多的頁面活動(dòng),則需考慮以下解決辦法:
安裝更多的內(nèi)存;
將一些工作移到另一系統(tǒng)中;
配置系統(tǒng)核心使用更少的內(nèi)存;
保持SGA在單個(gè)共享內(nèi)存段中。
沒有足夠的共享內(nèi)存,將不能夠啟動(dòng)數(shù)據(jù)庫。這時(shí),我們可以重新配置UNIX核心,以增加
調(diào)整磁盤I/O
I/O瓶頸是最容易識(shí)別的性能問題??缢锌捎玫拇疟P均勻地平衡I/O,可以減少磁盤存
取的時(shí)間。對(duì)于較小的數(shù)據(jù)庫和不使用并行查詢選項(xiàng)的那些數(shù)據(jù)庫,要確保不同的數(shù)據(jù)文件和
1.調(diào)整DBWR,增加寫帶寬
Oracle提供以下方法以防止DBWR(數(shù)據(jù)庫寫進(jìn)程)活動(dòng)成為瓶頸:
使用異步I/O 異步I/O允許進(jìn)程繼續(xù)處理下一個(gè)操作,而不必等待在發(fā)出寫后,最小化了
空閑時(shí)間,因而改善了系統(tǒng)性能。Solaris支持原始設(shè)備和文件系統(tǒng)數(shù)據(jù)文件的異步I/O。
使用I/O從屬 I/O從屬(slave)是專用的進(jìn)程,其惟一功能是執(zhí)行I/O。它們代替
Oracle 7的多個(gè)DBWR特性(實(shí)際上它們是多個(gè)DRWR的概括,可以由其它進(jìn)程分布)。不管異步
I/O是否可用,它們都可以操作。若設(shè)置的話,它們被從LARGE_POOL_SIZE分配,否則從共享
初始化參數(shù)控制了I/O從屬的行為,其中DISK_ASYNCH_IO和TAPE_ASYNCH_IO允許分別為磁
盤和磁帶設(shè)備關(guān)閉異步I/O(因?yàn)槊總€(gè)進(jìn)程類型的I/O從屬缺省為0,除非明確設(shè)置,否則沒有
若DISK_ASYNCH_IO或TAPE_ASYNCH_IO無效,則DBWR_IO_SLAVES應(yīng)該設(shè)置大于0,否則DBWR
將成為一個(gè)瓶頸。在這種情況下,Solaris上DBWR_IO_SLAVES的最佳值為4,而在 #p#page_title#e#
DB_WRITER_PROCESSES代替Oracle 7的參數(shù)DB_WRITERS,指定某實(shí)例的數(shù)據(jù)庫寫進(jìn)程的初
始數(shù)量。若使用DBWR_IO_SLAVES,則只有一個(gè)數(shù)據(jù)庫寫進(jìn)程被使用,而不管DB
2.使用IOSTAT查找大磁盤請(qǐng)求隊(duì)列
請(qǐng)求隊(duì)列顯示特定磁盤設(shè)備上等待服務(wù)的I/O請(qǐng)求有多長(zhǎng)。由大量的磁盤I/O或由平均查找
時(shí)間I/O引起請(qǐng)求隊(duì)列。磁盤請(qǐng)求隊(duì)列應(yīng)該為0或接近于0。
3.選擇合適的文件系統(tǒng)類型
Sun SPARC Solaris允許選擇文件系統(tǒng)。文件系統(tǒng)有不同特性,它們用于存取數(shù)據(jù)的技術(shù)
.s5:UNIX系統(tǒng)V文件系統(tǒng);
.ufs:UNIX文件系統(tǒng)(由BSD UNIX派生);
.vxfs:Veritas文件系統(tǒng);
.原始設(shè)備:沒有文件系統(tǒng)。
通常沒有事實(shí)證明文件系統(tǒng)與文件系統(tǒng)是相配的,甚至不同的ufs文件系統(tǒng)也難以比較(
因?yàn)閳?zhí)行不同),盡管ufs通常是高性能的選擇,但根據(jù)選擇文件系統(tǒng)的不同,性能差別變化
監(jiān)控磁盤性能
使用sar -b和sar -u可以監(jiān)控磁盤性能。
sar -b對(duì)磁盤性能的重要性如下:
(1)bread/s、bwrit/s:塊讀和塊寫,它們對(duì)文件系統(tǒng)而言是非常重要的。
(2)pread/s、pwrit/s:分區(qū)讀和分區(qū)寫,
它們對(duì)原始分區(qū)數(shù)據(jù)庫系統(tǒng)是非常重要的。
Oracle塊大小應(yīng)該匹配磁盤塊大小或是磁盤塊大小的倍數(shù)。若可能的話,在數(shù)據(jù)庫文件使
用文件系統(tǒng)前在分區(qū)上做文件系統(tǒng)檢查;然后制作一個(gè)新的文件系統(tǒng),確保它是清潔的和不破
碎的。盡可能地均勻分布磁盤I/O,將數(shù)據(jù)庫文件與日志文件分開。
調(diào)整CPU的使用
1.在同一優(yōu)先權(quán)上保持所有Oracle用戶和進(jìn)程
在Oracle中,所有用戶和后臺(tái)進(jìn)程操作在同一優(yōu)先級(jí)上,修改優(yōu)先權(quán)對(duì)競(jìng)爭(zhēng)和響應(yīng)時(shí)間有
例如,若LGWR(日志寫進(jìn)程)獲得低優(yōu)先權(quán),則它不能充分地執(zhí)行,LGWR將成為一個(gè)瓶頸
;另一方面,若LGWR有高的優(yōu)先權(quán),用戶進(jìn)程可能要忍受較壞的響應(yīng)時(shí)間。
2.在多處理器系統(tǒng)上使用處理器親和力/捆綁
在多處理器環(huán)境中,使用處理器親和力/捆綁(affinity/binding,若它在系統(tǒng)中可用)
。處理器捆綁禁止某進(jìn)程從一個(gè)CPU移動(dòng)到另一個(gè),允許CPU高速緩存中的信息被更好地利用
,而且可以捆綁服務(wù)器進(jìn)程,從而充分利用高速緩存(因?yàn)樗偸腔顒?dòng)的,允許后臺(tái)進(jìn)程在
3.為Export(導(dǎo)出)/Import(導(dǎo)入)和SQL?Loader使用單任務(wù)鏈接
若要在用戶和Oracle 8i之間傳輸大量的數(shù)據(jù)(如使用Export/Import),使用單任務(wù)結(jié)構(gòu)
是非常高效的,因?yàn)樽鳛閱稳蝿?wù)鏈接Oracle可執(zhí)行程序,允許某用戶進(jìn)程直接存取整個(gè)SGA。
但運(yùn)行單任務(wù)需要更多的內(nèi)存。為了使用單任務(wù)導(dǎo)入、導(dǎo)出和SQL?Loader(sqlldrst)可執(zhí)行
程序,我們可以調(diào)用make文件的ins_rdbms.mk(在$ORACLE_HOME/rdbms/lib目錄中)。
下面是用于實(shí)現(xiàn)單任務(wù)導(dǎo)入、導(dǎo)出和SQL?Loader(sqlldrst)的可執(zhí)行程序:
% cd $ORACLE_HOME/rdbms/lib
% make -f ins_utilities.mk singletask
調(diào)整塊大小和文件大小
在Solaris上,Oracle塊缺省值為2KB,可以設(shè)置的實(shí)際大小為2KB的倍數(shù),最大設(shè)置值為
最優(yōu)的塊大小通常是缺省值,但隨著應(yīng)用程序而變化。為了用不同的Oracle塊大小建立數(shù)
db_block_size=new_block_size
調(diào)整Solaris緩沖區(qū)高速緩存大小
為了充分利用原始設(shè)備的優(yōu)點(diǎn),我們需要調(diào)整Oracle 8i緩沖區(qū)高速緩存的大小和Solaris
Solaris緩沖區(qū)高速緩存由操作系統(tǒng)提供。它在內(nèi)存中保存數(shù)據(jù)的塊(在它們被從內(nèi)存?zhèn)?br /> Oracle 8i緩沖區(qū)高速緩存是在內(nèi)存中保存Oracle數(shù)據(jù)庫緩沖區(qū)的區(qū)域。因?yàn)镺racle 8i
可以使用原始設(shè)備,它不需要使用Solaris緩沖區(qū)高速緩存。
在移動(dòng)原始設(shè)備時(shí),增加Oracle 8i緩沖區(qū)高速緩存的大小。若系統(tǒng)中內(nèi)存的數(shù)量是有限 #p#page_title#e#
Solaris命令sar可以幫助決定哪些緩沖區(qū)高速緩存應(yīng)該增加或減少:
sar -b:報(bào)告Solaris緩沖區(qū)高速緩存的活動(dòng);
sar -w:報(bào)告Solaris內(nèi)存交換活動(dòng);
sar -u:報(bào)告CPU利用情況;
sar -r:報(bào)告內(nèi)存利用情況;
sar -p:報(bào)告Solaris內(nèi)存分頁活動(dòng)。
通常在緩存命中率上升時(shí),我們需要增加Oracle 8i緩沖區(qū)高速緩存的大小,而在交換/分
頁活動(dòng)變高時(shí),我們需要減少高速緩存的大小。
我們還可以使用Oracle 8i建立的跟蹤(Trace)和警報(bào)(Alter)文件來診斷和解決運(yùn)行
只要我們充分利用以上命令和方法,就可以很好地優(yōu)化與調(diào)整Oracle 8i數(shù)據(jù)庫了。
Oracle塊大小應(yīng)該匹配磁盤塊大小或是磁盤塊大小的倍數(shù)。若可能的話,在數(shù)據(jù)庫文件使
用文件系統(tǒng)前在分區(qū)上做文件系統(tǒng)檢查;然后制作一個(gè)新的文件系統(tǒng),確保它是清潔的和不破
碎的。盡可能地均勻分布磁盤I/O,將數(shù)據(jù)庫文件與日志文件分開。
調(diào)整CPU的使用
1.在同一優(yōu)先權(quán)上保持所有Oracle用戶和進(jìn)程
在Oracle中,所有用戶和后臺(tái)進(jìn)程操作在同一優(yōu)先級(jí)上,修改優(yōu)先權(quán)對(duì)競(jìng)爭(zhēng)和響應(yīng)時(shí)間有
例如,若LGWR(日志寫進(jìn)程)獲得低優(yōu)先權(quán),則它不能充分地執(zhí)行,LGWR將成為一個(gè)瓶頸
;另一方面,若LGWR有高的優(yōu)先權(quán),用戶進(jìn)程可能要忍受較壞的響應(yīng)時(shí)間。
2.在多處理器系統(tǒng)上使用處理器親和力/捆綁
在多處理器環(huán)境中,使用處理器親和力/捆綁(affinity/binding,若它在系統(tǒng)中可用)
。處理器捆綁禁止某進(jìn)程從一個(gè)CPU移動(dòng)到另一個(gè),允許CPU高速緩存中的信息被更好地利用
,而且可以捆綁服務(wù)器進(jìn)程,從而充分利用高速緩存(因?yàn)樗偸腔顒?dòng)的,允許后臺(tái)進(jìn)程在
3.為Export(導(dǎo)出)/Import(導(dǎo)入)和SQL?Loader使用單任務(wù)鏈接
若要在用戶和Oracle 8i之間傳輸大量的數(shù)據(jù)(如使用Export/Import),使用單任務(wù)結(jié)構(gòu)
是非常高效的,因?yàn)樽鳛閱稳蝿?wù)鏈接Oracle可執(zhí)行程序,允許某用戶進(jìn)程直接存取整個(gè)SGA。
但運(yùn)行單任務(wù)需要更多的內(nèi)存。為了使用單任務(wù)導(dǎo)入、導(dǎo)出和SQL?Loader(sqlldrst)可執(zhí)行
程序,我們可以調(diào)用make文件的ins_rdbms.mk(在$ORACLE_HOME/rdbms/lib目錄中)。
下面是用于實(shí)現(xiàn)單任務(wù)導(dǎo)入、導(dǎo)出和SQL?Loader(sqlldrst)的可執(zhí)行程序:
% cd $ORACLE_HOME/rdbms/lib
% make -f ins_utilities.mk singletask
調(diào)整塊大小和文件大小
在Solaris上,Oracle塊缺省值為2KB,可以設(shè)置的實(shí)際大小為2KB的倍數(shù),最大設(shè)置值為
最優(yōu)的塊大小通常是缺省值,但隨著應(yīng)用程序而變化。為了用不同的Oracle塊大小建立數(shù)
db_block_size=new_block_size
調(diào)整Solaris緩沖區(qū)高速緩存大小
為了充分利用原始設(shè)備的優(yōu)點(diǎn),我們需要調(diào)整Oracle 8i緩沖區(qū)高速緩存的大小和Solaris
Solaris緩沖區(qū)高速緩存由操作系統(tǒng)提供。它在內(nèi)存中保存數(shù)據(jù)的塊(在它們被從內(nèi)存?zhèn)?br /> Oracle 8i緩沖區(qū)高速緩存是在內(nèi)存中保存Oracle數(shù)據(jù)庫緩沖區(qū)的區(qū)域。因?yàn)镺racle 8i
可以使用原始設(shè)備,它不需要使用Solaris緩沖區(qū)高速緩存。
在移動(dòng)原始設(shè)備時(shí),增加Oracle 8i緩沖區(qū)高速緩存的大小。若系統(tǒng)中內(nèi)存的數(shù)量是有限 #p#page_title#e#
Solaris命令sar可以幫助決定哪些緩沖區(qū)高速緩存應(yīng)該增加或減少:
sar -b:報(bào)告Solaris緩沖區(qū)高速緩存的活動(dòng);
sar -w:報(bào)告Solaris內(nèi)存交換活動(dòng);
sar -u:報(bào)告CPU利用情況;
sar -r:報(bào)告內(nèi)存利用情況;
sar -p:報(bào)告Solaris內(nèi)存分頁活動(dòng)。
通常在緩存命中率上升時(shí),我們需要增加Oracle 8i緩沖區(qū)高速緩存的大小,而在交換/分
頁活動(dòng)變高時(shí),我們需要減少高速緩存的大小。
我們還可以使用Oracle 8i建立的跟蹤(Trace)和警報(bào)(Alter)文件來診斷和解決運(yùn)行
只要我們充分利用以上命令和方法,就可以很好地優(yōu)化與調(diào)整Oracle 8i數(shù)據(jù)庫了。