Each datablock has a number of transaction entries that are used for row locking purposes. Initially, this number is specified by the INI_TRANS parameter; the default value (1 for tables, 2 for indices) is generally sufficient. However: if a table (or index) is known to have many rows for each block with a high possibility of many concurrent updates, it is beneficial to set a higher value - which must be done at the CREATE TABLE/CREATE INDEX time to have it set for all blocks of the object.

So how do you know whether sone object needs adjustment here? Either your planning and design of the database did foresee, or your performance report gave you indications: if an object has either many buffer busy gets, or is subject to TX enqueue waits, you have found a candidate for adjustment.

Recommended values: [# of CPUs] <= INI_TRANS < 100
MAX_TRANS < 100
Side-Effects: If the value for either of these parameters is too high, Oracle will use more space for the transaction layer block header and less for the data layer variable header; this can result in more I/O.