tnx for the answer but can u give some figures like, for every 20 concurrent updates , 10 concurrent deletes, and 30 concurrent inserts what would be the most appropriate value for the initrans or maybe a ratio like 1 initrans is to 20 concurrent inserts something like that......
INITTRANS --> Number Of transaction slots initially allocated to a BLOCK.
So, this parameter is at block level not table. IMO there
is no fix ratio for concurrent user to INITTRANS. Oracle will allocate slots as necessary upto MAXTRANS during
concurrent operations on block. If the block is full and
INITTRANS was set too low, new slot can not be allocated
and sessions will wait for the Block.
INITTRAN parameter can be set to high value ( not more than 10) if you are sure that concurrent insert and update takes place on that table. Many developers think that Web based application inserts/updates a particular table heavily and so the table needs to have a very high INITTRAN value. But it is not true. I have observed most of transactions take place serially unless the box has more than 4 CPU. A high value of INITTRAN needs more space in the block header which I feel mere waste.
Study your application carefully and experiment with sample data, then increase the value to a desired one, but not more than 10. Setting this value too high will not yield performance.