Row locks within IM vApp DB

Document ID : KB000074278
Last Modified Date : 19/03/2018
Show Technical Document Details
Question:
Blocks displaying in the DB within IM DB.  This is an Oracle DB.

According to DBA_HIST_ACTIVE_SESS_HISTORY, session 98,27911 is HOLDER session right now: 

SID SERIAL# USERNAME MACHINE EVENT BL_SESS STATUS Mins WAIT_TIME SQL_ID SERVICE_NAME 
---------- ---------- ---------- ---------------- ----------------------------- ------- ------- ---------- ---------- ------------- ---------------- 
852 25629 IMTASK MXCPD1001870002 enq: TX - row lock contention 98 Waiter ,116666667 0 fpv7nht7g5p5y gdi 
780 57259 IMTASK MXCPD1001870002 enq: TX - row lock contention 98 Waiter ,116666667 0 fpv7nht7g5p5y gdi 
98 27911 IMTASK MXCPD1001870002 SQL*Net message from client ******* Holder ,116666667 0 gdi 
157 42025 IMTASK MXCPD1001870001 enq: TX - row lock contention 98 Waiter ,116666667 0 fpv7nht7g5p5y gdi 
707 7930 IMTASK MXCPD1001870002 enq: TX - row lock contention 98 Waiter ,116666667 0 fpv7nht7g5p5y gdi 

 
Environment:
14.1 IDM
14.1 vApp
Answer:
The IMtask is in the Task Persistence table. IM does not connect directly to the DB. It connects to the Application Server which runs the threads to the DB. Many of those queries are updates. DB can not update the same table at the same time for multiple requests. As you see, this causes the DB locks and once the update is complete it will unlock and the other updates can complete. This cycle continues until all the DB updates are made.  DB locks are cleared after a couple minutes as designed.