Question
is bankasi
is bankasi
TR
is bankasi
Posted: Aug 7, 2025
Last activity: Aug 17, 2025
Last activity: 17 Aug 2025 22:53 EDT
ORA-00001: unique constraint Errors
In the production environment, some Pega tables are receiving ORA-00001: unique constraint errors.
When we check it through the monitor tool, we see that 170 thousand errors have occurred in the last week. The tables with the errors are as follows:
PRPC8RULES.PR_ASMCLASS_PK
PRPC8DATA.PR_SYS_LOCKS_PK
PRPC8RULES.PR_SYS_APPCACHE_DEP_PK
PRPC8RULES.PR_SYS_RULESET_INDEX_PK
Can you comment or provide guidance on the reasons for these errors?
@ilyasgocebe
ORA-00001 means a row tried to insert with a key that already exists; in Pega this usually comes from high concurrency, misaligned Oracle sequences, or cache tables being rebuilt by multiple nodes at once. For PR_ASMCLASS_PK, PR_SYS_APPCACHE_DEP_PK, and PR_SYS_RULESET_INDEX_PK these are cache/derived tables; duplicate-key bursts often happen during node startup, rule save, or reassembly when several nodes race to write the same cache rows. The fix is to schedule a short outage, stop all nodes, truncate only those three cache tables, then start nodes one by one so Pega repopulates them cleanly; also check for any custom triggers on them and remove if present. For PR_SYS_LOCKS_PK, spikes mean lock contention: many threads try to lock the same work item; review agents/QPs/SLA settings for retry storms, ensure broken or long-running requests release locks, and consider lowering parallelism or staggering schedules. Validate Oracle sequences backing these tables aren’t behind the max keys (compare MAX(id) vs NEXTVAL); if they are, bump sequences to MAX+1 and increase CACHE to reduce gaps. Look for noisy retries in logs and fix the root cause (e.g., duplicate cache rebuilds, aggressive agent retries). After cleanup, monitor with AWR and Pega DB logs; a small trickle on PR_SYS_LOCKS is normal under contention, but cache table errors should drop to near zero