ORA-12751

What is ORA-12751?

ORA-12751 is a generic error which can occur during a resource exhausted condition. Oracle definition for the particular error is below.
ora12c@racaprdb1:~$ oerr ora 12751
ora-12751 cpu time or run time policy violation"
// *Document: NO
// *Cause: A piece of code ran longer than it is supposed to
// *Action: If this error persists, contact Oracle Support Services.
ora12c@racaprdb1:~$

ORA-12751 example

In the given example one of the rac databases was not accepting connections intermittently.
Alert log contained ora-12751 errors as below and TNS timeouts were also recorded.
 2020-07-14T12:59:34.407693+05:30  
 MOBPDB(3):minact-scn: useg scan erroring out with error e:12751  
 2020-07-14T13:02:23.311541+05:30  
 Thread 1 advanced to log sequence 145866 (LGWR switch)  
  Current log# 2 seq# 145866 mem# 0: +MOBREDO1DG/MOBCDB/ONLINELOG/group_2.258.989494005  
  Current log# 2 seq# 145866 mem# 1: +MOBREDO2DG/MOBCDB/ONLINELOG/group_2.258.989494005  
 2020-07-14T13:02:23.373617+05:30  
 Archived Log entry 604281 added for T-1.S-145865 ID 0x68692340 LAD:1  
 2020-07-14T13:02:23.775470+05:30  
 TT02: Standby redo logfile selected for thread 1 sequence 145866 for destination LOG_ARCHIVE_DEST_2  
 2020-07-14T13:03:14.438453+05:30  
 TABLE AUDSYS.AUD$UNIFIED: ADDED INTERVAL PARTITION SYS_P23126 (73) VALUES LESS THAN (TIMESTAMP' 2020-08-01 00:00:00')  
 2020-07-14T13:04:04.620028+05:30  
First observations included that the MMON (Manageability Monitor process which takes AWR snapshots and stores) was running during the same time as the issue. MMON trace was reporting below errors,
 *** 2020-07-14T12:59:34.407893+05:30 (CDB$ROOT(1))  
 KEBM: MMON action policy violation. 'Block Cleanout Optim, Undo Segment Scan' viol=1; err=12751  
 *** 2020-07-14T12:59:37.837572+05:30 (MOBPDB(3))  
 : cleared SCNs  
 DDE rules only execution for: ORA 12751  
With Oracle support help, this was pointed to document id 1671412.1 and Bug 9040676. As per the doc when MMON starts accessing undo tablespace rapidly this condition can occur. Solution for ORA-12751 on this case was to set _smu_debug_mode parameter to 134217728.
 alter system set "_smu_debug_mode"=134217728;  

Comments

Popular posts from this blog

ORA-16433: The database or pluggable database must be opened in read/write

Wait for unread message on broadcast channel - Blocking Sessions

ORA-14126 - While splitting max value partition