oracle 数据块何时拥有scn
发布网友
发布时间:2024-09-27 10:50
我来回答
共1个回答
热心网友
时间:2024-10-04 16:58
先看update-commit的情况,因为是做完实验后写的,所以我直接在实验步骤后贴上实验数据
sqlplus窗口1
1:dump块 .................................... scn: 0x0000.0620b7d3 col 0: [ 1] 37
sqlplus新开窗口2
3:窗口2dump块 ................................scn: 0x0000.0620b7d3 col 0: [ 1] 37
4:窗口2刷新buffer_cache
5:窗口2dump块 ................................scn: 0x0000.0620b8ec col 0: [ 3] 35 35 32
6:窗口1commit
7:dump块 ..........................................scn: 0x0000.0620b8ec col 0: [ 3] 35 35 32
8:刷新buffer_cache
9:dump块 ..........................................scn: 0x0000.0620b8ec col 0: [ 3] 35 35 32
从上面的实验数据可以看出来,数据块的scn在开始更新的之后,flush buffer cache后立马就记录了,并且commi时不改变。
再看update-rollback的情况,同样,直接贴上实验数据:
sqlplus窗口1
1 :窗口1flush buffer_cache
2 :窗口1dump ............................scn: 0x0000.0620ba9e col 0: [ 3] 38 38 38
3 :窗口1update
新开窗口2
4 :窗口2dump ......................................scn: 0x0000.0620ba9e col 0: [ 3] 38 38 38
5 :窗口2flush buffer_cache
6 :窗口2dump ......................................scn: 0x0000.0620c0b1 col 0: [ 3] 34 34 34
7 :窗口1rollback
8 :窗口1dump ......................................scn: 0x0000.0620c0b1 col 0: [ 3] 34 34 34
9 :窗口1flush buffer_cache
10 :窗口1dump ....................................scn: 0x0000.0620c0c8 col 0: [ 3] 38 38 38
ok,可以看到commit-rollback的情况是:update记录后,flush buffer cache立马更新块scn,rollback动作发出后,又更新了一次scn。
热心网友
时间:2024-10-04 16:52
先看update-commit的情况,因为是做完实验后写的,所以我直接在实验步骤后贴上实验数据
sqlplus窗口1
1:dump块 .................................... scn: 0x0000.0620b7d3 col 0: [ 1] 37
sqlplus新开窗口2
3:窗口2dump块 ................................scn: 0x0000.0620b7d3 col 0: [ 1] 37
4:窗口2刷新buffer_cache
5:窗口2dump块 ................................scn: 0x0000.0620b8ec col 0: [ 3] 35 35 32
6:窗口1commit
7:dump块 ..........................................scn: 0x0000.0620b8ec col 0: [ 3] 35 35 32
8:刷新buffer_cache
9:dump块 ..........................................scn: 0x0000.0620b8ec col 0: [ 3] 35 35 32
从上面的实验数据可以看出来,数据块的scn在开始更新的之后,flush buffer cache后立马就记录了,并且commi时不改变。
再看update-rollback的情况,同样,直接贴上实验数据:
sqlplus窗口1
1 :窗口1flush buffer_cache
2 :窗口1dump ............................scn: 0x0000.0620ba9e col 0: [ 3] 38 38 38
3 :窗口1update
新开窗口2
4 :窗口2dump ......................................scn: 0x0000.0620ba9e col 0: [ 3] 38 38 38
5 :窗口2flush buffer_cache
6 :窗口2dump ......................................scn: 0x0000.0620c0b1 col 0: [ 3] 34 34 34
7 :窗口1rollback
8 :窗口1dump ......................................scn: 0x0000.0620c0b1 col 0: [ 3] 34 34 34
9 :窗口1flush buffer_cache
10 :窗口1dump ....................................scn: 0x0000.0620c0c8 col 0: [ 3] 38 38 38
ok,可以看到commit-rollback的情况是:update记录后,flush buffer cache立马更新块scn,rollback动作发出后,又更新了一次scn。