以下来源于网络:
1.truncate table
Truncating a table just releases the blocks back into free space. We don't overwrite them or anything - they'll remain with whatever data was on them until that space is reused.
truncate一个表仅仅是释放了块到空闲空间。oracle数据库并没有覆盖这些块或者其他任何东西。这些块还是依然保留着,直到这些空间被重用。
2.transaction
there is transaction information in the block header (an ITL - interested transaction list). This list shows what transactions have which rows locked on the block. We use this information to go to the undo segment header to determine if that transaction is still active or not (has it committed or not). If it is committed - we might "clean that block out" - removing that transaction information so that the next person hitting that block doesn't have to go through that process. If it is not committed - we enqueue (wait) on that session if we need that row locked ourselves. That is 'v$transaction'.
在块头上存在了一个事物信息表(ITL).这个表显示了在这个块上哪个行被事物锁住.利用这些信息去查找undo段头来决定是否这些事物是active的或者inactive状态(就是事物是否commit).如果事物已经commited。oracle就会清除块操作。删除这些事物信息以便于下一个人可以直接hit这个块而不用再进行去查找undo段操作.如果这个查找到这个事物没有commit,如果需要这个行锁则这个session就会wait
1.truncate table
Truncating a table just releases the blocks back into free space. We don't overwrite them or anything - they'll remain with whatever data was on them until that space is reused.
truncate一个表仅仅是释放了块到空闲空间。oracle数据库并没有覆盖这些块或者其他任何东西。这些块还是依然保留着,直到这些空间被重用。
2.transaction
there is transaction information in the block header (an ITL - interested transaction list). This list shows what transactions have which rows locked on the block. We use this information to go to the undo segment header to determine if that transaction is still active or not (has it committed or not). If it is committed - we might "clean that block out" - removing that transaction information so that the next person hitting that block doesn't have to go through that process. If it is not committed - we enqueue (wait) on that session if we need that row locked ourselves. That is 'v$transaction'.
在块头上存在了一个事物信息表(ITL).这个表显示了在这个块上哪个行被事物锁住.利用这些信息去查找undo段头来决定是否这些事物是active的或者inactive状态(就是事物是否commit).如果事物已经commited。oracle就会清除块操作。删除这些事物信息以便于下一个人可以直接hit这个块而不用再进行去查找undo段操作.如果这个查找到这个事物没有commit,如果需要这个行锁则这个session就会wait
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30291162/viewspace-1723970/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30291162/viewspace-1723970/