1. 程式人生 > >Oracle學習筆記 INITRANS和MAXTRANS引數的作用

Oracle學習筆記 INITRANS和MAXTRANS引數的作用

                每個塊都有一個塊首部。這個塊首部中有一個事務表。事務表中會建立一些條目來描述哪些事務將塊上的哪些行/元素鎖定。這個事務表的初始大小由物件的INITRANS 設定指定。對於表,這個值預設為2(索引的INITRANS 也預設為2)。事務表會根據需要動態擴充套件,最大達到MAXTRANS 個條目(假設塊上有足夠的自由空間)。所分配的每個事務條目需要佔用塊首部中的23~24 位元組的儲存空間。注意,對於Oracle 10g,MAXTRANS 則會忽略,所有段的MAXTRANS 都是255。也就是說,如果某個事物鎖定了這個塊的資料,則會在這個地方記錄事務的標識,當然那個事務要先看一下這個地方是不是已經有人佔用了,如果有,則去看看那個事務是否為活動狀態。如果不活動,比如已經提交或者回滾,則可以覆蓋這個地方。如果活動,則需要等待(閂的作用)所以,如果有大量的併發訪問使用的這個塊,則引數不能太小,否則資源競爭將導致系統併發效能下降。