Symptom:
1. The Database Alert continuously reports the following error. After a period of time, the database instance hang cannot be used.
Weds Oct 26 09:10:52 2011
>>> Waited too long for a row cache enqueue lock! PID = 1, 604
System state dumped to trace file/Oracle/product/10.2.0/admin/jxsoh/udump/jxsoh1_ora_1486930.trc
2. Check the TRC File
/Oracle/product/10.2.0/admin/jxsoh/udump/jxsoh1_ora_1486930.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0-64bit Production
With the partitioning, real Application Clusters, OLAP, Data Mining
And real application testing options
ORACLE_HOME =/Oracle/product/10.2.0/db_1
System name: Aix
Node name: sohrac1
Release: 3
Version: 5
MACHINE: 00c71e704c00
Instance name: jxsoh1
Redo thread mounted by this instance: 1
Oracle process number: 604
UNIX process PID: 1486930, image: Oracle @ sohrac1
* ** 2011-10-26 09:10:52. 514
* ** Service name :( sys $ users) 09:10:52. 512
* ** Session ID: (489.4) 09:10:52. 512
>>> Waited too long for a row cache enqueue lock! <
Row cache enqueue: Session: 70000018f4892c0, mode: N, request: S
========================================================== ==============
System State
------------
System global information:
Processes: Base 700000189374220, size 1000, cleanup 700000189395d30
Allocation: Free sessions 70000018a428e08, free call0
Control alloc errors: 0 (process), 0 (Session), 0 (call)
Pmon latch cleanup depth: 0
Seconds since pmon's last scan for dead processes: 26
......
Analysis:
This is the memory pool jitter.
Solution:
Alter system set pai_pool_size = xxG scope = both;