oracle checkpoint作用释疑3
关于rba(redo block address),有可以分为如下3种:
low checkpoint rba; 某个block第一次被修改时所对应的redo recode记录,同时也就意味着
low rba是redo apply的起点
high cechkpoint rba; 某个block被经过多次修改后,最后一次修改时所对应的redo recode记录
on disk rba; 是指disk中redo log中的最后一条redo recode记录,在实例crash后进行
实例恢复时on disk rba将是redo log apply的终点。
下面通过实验来进行说明:
SQL> CREATE TABLE t1 AS SELECT * FROM dba_objects WHERE rownum<10;
TABLE created.
SQL> SELECT dbms_rowid.rowid_relative_fno(rowid) file#,
2 dbms_rowid.rowid_block_number(rowid) blk#
3 FROM t1;
FILE# BLK#
———- ———-
1 56034
1 56034
1 56034
1 56034
1 56034
1 56034
1 56034
1 56034
1 56034
9 ROWS selected.
SQL> UPDATE t1 SET owner=’www.killdb.com’ WHERE object_id=20;
1 ROW updated.
SQL> UPDATE t1 SET owner=’www.killdb.com’ WHERE object_id=25;
1 ROW updated.
SQL> UPDATE t1 SET owner=’www.killdb.com’ WHERE object_id=29;
1 ROW updated.
SQL> SELECT cpdrt,
2 cplrba_seq || ‘.’ || cplrba_bno || ‘.’ || cplrba_bof “low_rba”,
3 cpodr_seq || ‘.’ || cpodr_bno || ‘.’ || cpodr_bof “on_disk_rba”
4 FROM x$kcccp;
CPDRT low_rba on_disk_rba
———- —————————— ——————————
40 11.1153.0 11.1283.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
8 ROWS selected.
SQL> SELECT cpdrt,
2 cplrba_seq || ‘.’ || cplrba_bno || ‘.’ || cplrba_bof “low_rba”,
3 cpodr_seq || ‘.’ || cpodr_bno || ‘.’ || cpodr_bof “on_disk_rba”
4 FROM x$kcccp;
CPDRT low_rba on_disk_rba
———- —————————— ——————————
22 11.1432.0 11.1450.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
8 ROWS selected.
SQL> ALTER system switch logfile;
System altered.
SQL> commit;
Commit complete.
SQL> SELECT cpdrt,
2 cplrba_seq || ‘.’ || cplrba_bno || ‘.’ || cplrba_bof “low_rba”,
3 cpodr_seq || ‘.’ || cpodr_bno || ‘.’ || cpodr_bof “on_disk_rba”
4 FROM x$kcccp;
CPDRT low_rba on_disk_rba
———- —————————— ——————————
23 11.1432.0 12.3.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
8 ROWS selected.
SQL> ALTER system switch logfile;
System altered.
SQL> SELECT cpdrt,
2 cplrba_seq || ‘.’ || cplrba_bno || ‘.’ || cplrba_bof “low_rba”,
3 cpodr_seq || ‘.’ || cpodr_bno || ‘.’ || cpodr_bof “on_disk_rba”
4 FROM x$kcccp;
CPDRT low_rba on_disk_rba
———- —————————— ——————————
23 11.1432.0 13.2.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
0 0.0.0 0.0.0
8 ROWS selected.
SQL> UPDATE t1 SET owner=’www.killdb.com’ WHERE object_id=44;
1 ROW updated.
SQL> UPDATE t1 SET owner=’www.killdb.com’ WHERE object_id=51;
1 ROW updated.
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《oracle checkpoint作用释疑3》
本文地址:http://www.xiupu.net/archives-454.html
关注公众号:
微信赞赏
支付宝赞赏