-
is there any computation regarding how to properly size the initrans of a table....
your view are very much appreciated
-
INITTRANS can be allocated for a table based on the following criteria:
the space you would like to reserve for transaction entries on the table
the number of concurrent transactions that access the same table at any given time
For example, if a table is very large and only a small number of users simultaneously access the table, then, INITRANS can be kept low.
On the other hand, if a table is accessed by multiple users at the same time. use a high INITRANS
-
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......
tnx
-
can someone advice me on this one?
-
Hi,
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.
HTH
np70
-
An example of INITTRANS & MAXTRANS could be 3 & 255 respectively.
-
What is the result of setting INITTRANS too high?
Thanks in advance.
David Knight
OCP DBA 8i, 9i, 10g
-
As I know each transaction entrie takes 26 bytes from block, so you may calculate if your block size 2K and INITRTRANS 20. Free space is 2048 - 26*10 - (pctfree%???) = ???
Originally posted by dknight
What is the result of setting INITTRANS too high?
Thanks in advance.
-
Usualy for indexes INITTRANS more than for tables, for ex. 2 - table, 4 - index.
-
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.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|