1. The problem phenomenon
On * *, * * year inline performance monitoring system issued A warning - * system appeared A lot of delays or timeout, congestion can be observed from the weblogic container database connection pool, the DBA analysis found that the ORACLE database table A water trough with rob for ITL affairs,
2. Cause analysis
After the accident, the DBA also helpless, can only be rename list, and then reconstruct an empty table, make the system restore operation, a few days later the DBA and relevant experts cannot clear on this question, the related personnel will focus gradually shifted to application level (really belongs to the helpless), doubt applications use the special usage, so as to raise the question database??
After repeated stress * system verification test, found that the application does not exist problems and bottlenecks, but in the ORACLE database, table A * system happened after A large number of records in the update line links (i.e., A record across BLOCK), A large number of record lines link to A certain extent, will affect the efficiency of database, further to the * system business process analysis and the data model of the system itself has its particularity, the trade request data in the INSERT to the table A 600 bytes, transaction processing after the completion of the transaction result data has nearly more than 500 bytes, update to the table, A table of A initial transaction trough to 2, PCTFREE for the BLOCK size (8 k) of 10%, in the trading of high density scenarios, the same piece of writing after 10 trade request data, update two trading results can finish the PCTFREE space allocation, the result of the other eight records update transaction data link, will happen when PCTFREE finished space allocation has also led to the same BLOCK, cannot apply for more ITL slots, triggering ITL slots waiting,
In most cases ITL slots waiting for the application effect is not obvious, if concurrently in the same time point line link data were randomly assigned to the same BLOCK, or take up other BLOCK PTCFREE space, may cause a line of chain link and a large number of ITL slots waiting,
3. Treatment scheme
According to the actual data model features adjustment form A the following parameters:
Pctfree adjusted to 50%
Initrans is adjusted for 5 ~ 10
ORACCLE database space will be needed for your update data from the PCTFREE space allocation, ITL transaction groove space from the PCTFREE space allocation,
So the special characteristics of the table, the data model under construction should be fully considered when the PCTFREE INITRANS both parameter setting,
]