Slow INSERT statement executing from the SoD_Rule_Pkg in RSA Identity Governance & Lifecycle
2 years ago
Originally Published: 2020-04-13
Article Number
000049753
Applies To
RSA Product Set: RSA Identity Governance & Lifecycle
RSA Version/Condition: 7.1.1
 
Issue
The following INSERT statement executed by the SoD_Rule_Pkg (Segregation of Duties Rule Package) was reported as running too slow in RSA Identity Governance & Lifecycle during SoD rule execution.
 
INSERT INTO GTT_BUCKET1_APPS
	(APPLICATION_ID, APP_CORRELATION_ATTRIBUTE, RULE_ID)
	SELECT APPLICATION_ID, APP_CORRELATION_VALUE, RULE_ID FROM 
	(
	  SELECT GTT.APPLICATION_ID, CAV.COLUMN_VALUE AS APP_CORRELATION_VALUE, GTT.RULE_ID
	  FROM GTT_BUCKET1_VIOLATIONS GTT,
	  TABLE(UTILITIES_PKG.TOKENIZER(APP_CORRELATION_ATTRIBUTE,',')) CAV
	)
	MINUS
	SELECT APPLICATION_ID, APP_CORRELATION_ATTRIBUTE, RULE_ID FROM GTT_BUCKET1_APPS;

 
Cause
The cause of this issue was never determined. However, we saw this issue worsened by enabling the TEMP_UNDO_ENABLED parameter. For more information on this parameter and its use with RSA Identity Governance & Lifecycle, see RSA Knowledge Base Article 000038718 -- Oracle 12c TEMP_UNDO_ENABLED parameter for managing GTT UNDO activity in RSA Identity Governance & Lifecycle.
 
Resolution
Disable the parameter TEMP_UNDO_ENABLED:
 
Login to SQL as SYS user
 
SQL> alter session set temp_undo_enabled=false scope=both;

By setting scope=both, this parameter will take effect immediately and will remain in effect after a system reboot.