Oracle

Oracle - 如果我有 MAXTRANS,為什麼還需要 INITRANS?

  • August 4, 2021

INITRANS可能是一個虛擬問題,但我仍然不明白如果我已經有了參數,為什麼還需要MAXTRANS參數。我知道,INITRANS表的預設值為 1,索引為 2,但我們也有MAXTRANS預設值為 255(我猜這取決於塊大小)。而且,因為我們在MAXTRANS中有255個,ITL的數量可以根據需要動態增長,那麼,我為什麼需要關心INITRANS呢?有人可以解釋一下嗎?

我需要學習,因為我在數據庫中有幾個事件:enq: TX - allocate ITL entry

另外,當我更改INITRANS現有表時,是否還需要移動表以影響該表中的所有現有數據塊?或者只是改變INITRANS就足夠了?

ITL 不能在已滿的塊中增長。

INITRANS 為其大小設置了保證最小值。

更改表上的 INITRANS 後,您需要移動它,以便重新組織其塊以保留 ITL 所需的空間。

引用自:https://dba.stackexchange.com/questions/297578