[20201207]關於ORACLE IMU的一些疑問.txt
[20201207]關於ORACLE IMU的一些疑問.txt
--//關於oracle IMU,我自己本人有太多的疑問,我自己很久以前在測試栽過跟頭。
--// http://blog.itpub.net/267265/viewspace-2137720/ => [20170421]警惕開啟IMU對測試的影響.txt
--//前幾天看別人的測試: =>關於ORACLE In Memory Undo的一些疑問
--//對方的測試結論:
測試結論:
1、當使用IMU時,flush buffer 不會觸發IMU Flushes,還沒有IMU Flushes的髒塊是不會落盤的
2、checkpoint時會IMU Flushes。
--//但是我的測試checkpoint時不一定做IMU Flushes。我重複測試看看:
1.環境:
SCOTT@book> @ ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
--//session 1:
create table test_imu(id number,c varchar2(20));
insert into test_imu values (1,'ABCDEF');
commit;
SCOTT@book> select rowid,id from test_imu;
ROWID ID
------------------ ----------
AAAXFvAAEAAAA1/AAA 1
SCOTT@book> @ rowid AAAXFvAAEAAAA1/AAA
OBJECT FILE BLOCK ROW ROWID_DBA DBA TEXT
---------- ---------- ---------- ---------- -------------------- -------------------- ----------------------------------------
94575 4 3455 0 0x1000D7F 4,3455 alter system dump datafile 4 block 3455
2.測試:
--//執行alter system checkpoint;多次保證髒塊寫盤。
SYS@book> select * from v$sysstat where name like '%IMU%';
STATISTIC# NAME CLASS VALUE STAT_ID
---------- ---------------------------------------- ---------- ---------- ----------
374 IMU commits 128 9998 1914489094
375 IMU Flushes 128 1015 2099506212
376 IMU contention 128 16 2909373607
377 IMU recursive-transaction flush 128 25 2591100633
378 IMU undo retention flush 128 0 2087226422
379 IMU ktichg flush 128 45 1206609541
380 IMU bind flushes 128 0 2756376339
381 IMU mbu flush 128 0 3723686946
382 IMU pool not allocated 128 129 659017805
383 IMU CR rollbacks 128 23 2225124543
384 IMU undo allocation size 128 49745632 244193920
385 IMU Redo allocation size 128 11180980 3945654623
386 IMU- failed to get a private strand 128 129 2412863545
13 rows selected.
--//session 1:
SCOTT@book> update test_imu set c='abcdef';
1 row updated.
--//session 2:
SYS@book> alter system checkpoint;
System altered.
SYS@book> select * from v$sysstat where name like '%IMU%';
STATISTIC# NAME CLASS VALUE STAT_ID
---------- ---------------------------------------- ---------- ---------- ----------
374 IMU commits 128 9998 1914489094
375 IMU Flushes 128 1015 2099506212
376 IMU contention 128 16 2909373607
377 IMU recursive-transaction flush 128 25 2591100633
378 IMU undo retention flush 128 0 2087226422
379 IMU ktichg flush 128 45 1206609541
380 IMU bind flushes 128 0 2756376339
381 IMU mbu flush 128 0 3723686946
382 IMU pool not allocated 128 129 659017805
383 IMU CR rollbacks 128 23 2225124543
384 IMU undo allocation size 128 49745848 244193920
385 IMU Redo allocation size 128 11180980 3945654623
386 IMU- failed to get a private strand 128 129 2412863545
13 rows selected.
--//IMU Flushes 前後次數不變,還是1015.
BBED> x /rnc dba 4,3455 *kdbr[0]
rowdata[0] @8175
----------
flag@8175: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8176: 0x00
cols@8177: 2
col 0[2] @8178: 1
col 1[6] @8181: ABCDEF
--//你可以發現並沒有將髒塊寫盤。
--//注:你可以反覆多次,有時候會寫盤有時候不會,不能以一次的結果下定論。
3.總結:
--//也就是alter system checkpoint ;不一定會IMU Flushes。實際上即使觸發IMU Flushes,該髒塊也不一定寫盤,可能是別的髒塊寫盤。
--//至於什麼情況下導致這樣髒塊寫盤,我不是很清楚。總之你執行alter system checkpoint ;多次,肯定會出現寫盤情況。
SYS@book> alter system checkpoint;
System altered.
SYS@book> select * from v$sysstat where name like '%IMU%';
STATISTIC# NAME CLASS VALUE STAT_ID
---------- ---------------------------------------- ---------- ---------- ----------
374 IMU commits 128 10001 1914489094
375 IMU Flushes 128 1016 2099506212
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
376 IMU contention 128 17 2909373607
377 IMU recursive-transaction flush 128 25 2591100633
378 IMU undo retention flush 128 0 2087226422
379 IMU ktichg flush 128 45 1206609541
380 IMU bind flushes 128 0 2756376339
381 IMU mbu flush 128 0 3723686946
382 IMU pool not allocated 128 129 659017805
383 IMU CR rollbacks 128 23 2225124543
384 IMU undo allocation size 128 49753216 244193920
385 IMU Redo allocation size 128 11180980 3945654623
386 IMU- failed to get a private strand 128 129 2412863545
13 rows selected.
BBED> x /rnc dba 4,3455 *kdbr[0]
rowdata[0] @8175
----------
flag@8175: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8176: 0x01
cols@8177: 2
col 0[2] @8178: 1
col 1[6] @8181: abcdef
--//現在已經髒塊寫盤。
4.附上imux.sql指令碼:
$ cat imux.sql
column sid format 9999
column minutes format 9999999
column program format a43
column event format a48
select
sid,
round(( sysdate - to_date(ktcxbstm,'mm/dd/rr hh24:mi:ss') ) * 24 * 60)
minutes,
decode(bitand(ktcxbflg,2),2,1,0) bit2,
to_number(ktifprpc,'xxxxxxxxxxxxxxxx') -
to_number(ktifprpb,'xxxxxxxxxxxxxxxx') redo_bytes,
to_number(ktifpupc, 'xxxxxxxxxxxxxxxx') -
to_number(ktifpupb, 'xxxxxxxxxxxxxxxx') undo_bytes,
program,
event
from x$ktifp, x$ktcxb, v$session ses
where ktifpxcb = ktcxbxba and ktcxbses = saddr
order by ktcxbstm desc ;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2739894/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於String內的indexOf方法的一些疑問Index
- [20190312]關於增量檢查點的疑問(補充).txt
- [20191001]關於oracle number型別的一些疑惑.txtOracle型別
- [20180419]關於閃回的一些問題.txt
- [20180713]關於hash join 測試中一個疑問.txt
- 關於 dingo API 的疑問GoAPI
- [20191202]關於oracle例項是否使用hugepages問題.txtOracle
- [20191209]降序索引疑問.txt索引
- [20190401]那個更快的疑問.txt
- 關於32位oracle擴充套件SGA的一些問題Oracle套件
- [20191129]關於hugepages的問題.txt
- MySQL關於資料字典的一個疑問MySql
- [20191204]關於oracle例項是否使用hugepages問題2.txtOracle
- [20190411]linux stat 命令疑問.txtLinux
- [20181229]關於字串的分配問題.txt字串
- 關於租用香港伺服器疑問解答伺服器
- 關於租用香港伺服器疑問解答?伺服器
- 關於租用香港伺服器疑問解答。伺服器
- [20191202]關於hugepages相關問題.txt
- [20190510]rman備份的疑問8.txt
- [20190510]rman備份的疑問7.txt
- [20190509]rman備份的疑問5.txt
- [20190423]那個更快的疑問3.txt
- [20220308]查詢x$ksmmem遇到的疑問.txt
- 關於Redis的一些小問題Redis
- [20191209]降序索引疑問2.txt索引
- [20200303]降序索引疑問5.txt索引
- [20191210]降序索引疑問3.txt索引
- [20191218]降序索引疑問4.txt索引
- [20180823]IMU與db link.txt
- [20200711]關於左右連線的問題.txt
- [20200416]關於軟軟解析的問題.txt
- 關於 K8S 在測試中的疑問K8S
- 關於學習Python的疑問,你都清楚了嗎?Python
- [20181123]關於降序索引問題.txt索引
- [20180403]關於時區問題.txt
- 關於 ui 自動化測試 driver 疑問?UI
- [20220304]測試library cache mutex遇到的疑問.txtMutex