Oracle數(shù)據(jù)庫(kù)只讀模式的CACHE BUFFERS CHAINS測(cè)試
Oracle數(shù)據(jù)庫(kù)只讀模式的CACHE BUFFERS CHAINS測(cè)試是本文我們主要要介紹的內(nèi)容,雖然從Oracle 9i里邊引入了只讀模式的CACHE BUFFERS CHAINS,但是在獲取BUFFER LOCK的時(shí)候,還是會(huì)請(qǐng)求CACHE BUFFERS CHAINS,但是情形沒(méi)有8i里邊那么嚴(yán)重了,接下來(lái)我們對(duì)其進(jìn)行測(cè)試。
測(cè)試步驟如下:
1.首先建一個(gè)表。
- create table test (a int,b varchar2(20));
2.往這個(gè)表里INSERT 50000行數(shù)據(jù);
- declare
- i int;
- begin
- for i in 1..50000
- loop
- insert into test values(i,'adsfsafsa');
- end loop;
- end;
3.在A的欄位上創(chuàng)建一個(gè)INDEX;
- create index test_i on test(i);
4.編一個(gè)存儲(chǔ)過(guò)程;進(jìn)行大量的索引掃描操作
- create or replace procedure test_k is
- begin
- for i in (select /*+ INDEX(TEST TEST_I) */ * from test where a>20000)
- loop
- null;
- end loop;
- end;
5.打開(kāi)2000個(gè)會(huì)話來(lái)執(zhí)行這個(gè)存儲(chǔ)過(guò)程;
- var i number;
- begin
- for j in 1..2000
- loop
- dbms_job.submit(:i,'TEST_K;');
- commit;
- end loop;
- end;
6.查詢等待事情發(fā)現(xiàn)latch: cache buffers chains等待很嚴(yán)重,CPU運(yùn)大部分時(shí)間都運(yùn)行在SYS模式下.
- Cpu(s): 16.3%us, 83.7%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
結(jié)論:就算以只讀模式獲取cache buffers chains LATCH并不能完全解決這個(gè)LATCH爭(zhēng)用的問(wèn)題,只是爭(zhēng)用程度不那么嚴(yán)重了。
關(guān)于Oracle數(shù)據(jù)庫(kù)只讀模式的CACHE BUFFERS CHAINS測(cè)試的相關(guān)知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】
- Oracle數(shù)據(jù)庫(kù)學(xué)習(xí)筆記之表的聯(lián)合查詢
- Oracle數(shù)據(jù)庫(kù)RMAN不完全恢復(fù)之基于SCN恢復(fù)
- Oracle數(shù)據(jù)庫(kù)RMAN不完全恢復(fù)之基于時(shí)間恢復(fù)
- Oracle C#實(shí)現(xiàn)Oracle Text全文檢索的簡(jiǎn)單例子
- Oracle數(shù)據(jù)庫(kù)RMAN不完全恢復(fù)之基于日志序列號(hào)恢復(fù)






