当前位置: 代码迷 >> 综合 >> Oraclenbsp;Internal之Blocknbsp;Cle…
  详细解决方案

Oraclenbsp;Internal之Blocknbsp;Cle…

热度:8   发布时间:2023-12-20 10:32:45.0
原文地址:Oracle Internal之Block Cleanout 1 作者:顾问
为什么会有Block Cleanouts? Oracle server在执行一个交易(transaction)时会保存交易数据在数据块(data block)本身,并且一个交易有可能修改大量的数据块,因此交易需要清理这些在数据块自己上的交易数据当一个交易完成commit。
那些东西需要cleaned out?
  1. Row Locks
  2. ITL Entry:
          - Commit flags
          - Free Space Credit/Commit SCN

Deferred Block Cleanout:
    A transaction commit was a simple update to the relevant undo segment header.
    The data block cleanout was left to the next reader of the modified block
Fast Block Cleanout: This is the default action.
    Modified blocks are 'memorized' by a transaction. On transaction commit, cleanout is attempted
    on those blocks in memory(up to a limit 20 blocks). For any blocks above this threshold, or
    aged out of memory, or currently pinned by another process deferred block cleanout will be
    still used.
  相关解决方案