OAAM PS3 Purge Scripts Looping During Execution
Last updated on MAY 08, 2017
Applies to:Oracle Adaptive Access Manager - Version 126.96.36.199.0 and later
Information in this document applies to any platform.
On OAAM 188.8.131.52.0:
In a test environment tested scripts to verify their functionality. Identified that during execution of procedure tracker_data_archpurge in the package oaam_pkg_purge_tracker_data that the process would never finish and appears to loop endlessly.
Added DBMS_OUTPUT's of my own into code to attempt to find out why purge script would run endlessly. Output continued to show that v_RecordCount stayed equal to initial number of rows identified to purge. The row count would not decrease which told me it was not deleting data. Identified section of code as a possible issue as I compared to a previous version of this package.
Lines below seem to be the issue:
EXECUTE IMMEDIATE v_stmt BULK COLLECT INTO v_arVcTrkUsNodLogNId,v_arVcTrkUsNodLogRId,v_arVcTrkUsNodeLogRowid;
v_arVcTrkUsNodLogNId := v_arVcTrkUsNodLogNIdDup;
v_arVcTrkUsNodLogRId := v_arVcTrkUsNodLogRIdDup;
v_arVcTrkUsNodeLogRowid := v_arVcTrkUsNodeLogRowidDup;
v_arVcTrkUsNodLogNId := v_arVcTrkUsNodLogNId MULTISET UNION DISTINCT v_arVcTrkUsNodLogNIdDup;
v_arVcTrkUsNodLogRId := v_arVcTrkUsNodLogRId MULTISET UNION DISTINCT v_arVcTrkUsNodLogRIdDup;
v_arVcTrkUsNodeLogRowid := v_arVcTrkUsNodeLogRowid MULTISET UNION DISTINCT v_arVcTrkUsNodeLogRowidDup;
On the Execute line it appears to be setting variables that are different than a previous release. In a previous release the variables were the v_arVcTrkUsNodLogNIdDup, v_arVcTrkUsNodLogRIdDup, and v_arVcTrkUsNodeLogRowidDup. Based on line v_arVcTrkUsNodeLogRowid := v_arVcTrkUsNodeLogRowidDup; it would appear that the original fetched data is being overwritten with null values, thus causing the loop to continue on and on.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms