CRM: Deadlocks at Database Level on PSLOCK and/or PSVERSION Tables
Last updated on APRIL 14, 2017
Applies to:PeopleSoft Enterprise CRM for Government - Version 8.8 SP1 to 8.8 SP1 [Release 8.8]
PeopleSoft Enterprise CRM for Energy - Version 8.8 to 8.8 SP1 [Release 8.8]
PeopleSoft Enterprise CRM CTI Integration - Version 8.8 SP1 to 9 [Release 8.8 to 9]
PeopleSoft Enterprise CRM Advanced Configurator - Version 8.8 to 9 [Release 8.8 to 9]
PeopleSoft Enterprise CRM Support - Version 8.8 SP1 to 9 [Release 8.8 to 9]
Information in this document applies to any platform.
This document was previously published as Customer Connection Solution 201035230
Deadlocks at the Database level on PSLOCK and or PSVERSION tables resulting in application server processes to collapse, on multi language installations.
- Users see deadlock errors or prolonged processing due to locks at the db level, when trying to open, update or save components
- SQL Statement causing the deadlock errors on PSLOCK Table seen at the DB level:
- SELECT VERSION, OBJECTTYPENAME FROM PSLOCK WHERE OBJECTTYPENAME IN ('PDM', 'CRM') FOR UPDATE OF VERSION
- Multiple updates to PSLOCK and PSVERSION tables, along with inserts into PSCONTDEFN table are seen in the trace files.
The deadlocks occur usually on Multilanguage installations with multiple users logging in and working to open, update or save components such as Case, Lead, Customer etc.
Even if majority of users log in through the base language and there is a sub set of users logging in non base language, the deadlocks occur consistently.
The Deadlock is always issued on the same transaction:
SELECT VERSION, OBJECTTYPENAME FROM PSLOCK WHERE OBJECTTYPENAME IN ('PDM', 'CRM') FOR UPDATE OF VERSION
The Deadlocks are coming out when 5-6 users are connected and the more users are connecting, the more locks are issued on the database.
Peopletools 8.45 allows to manage the cache via peoplecode. That's what is done out of the box by Peoplesoft CRM 8.9 and above to accelerate the display of all the meta-data dependant pages, such as display templates, AAF, BO Search adapter.
Cache management is done using CreateRowSetCache() or RowsetCache function calls.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms