Article Original Creation Date: 2011-02-02
Overview
In certain cases, policies cannot be deleted. When trying to delete the policy, the server returns the following error:
An error occurred within the application server. If the problem persists, please contact your system administrator
Environment
Solaris 10
Oracle 10
SG 4.0.10
Tomcat 5.5.25 WL 9.2 MP1
Root Cause
This could happen if a stale record was left in the _SG_ACT_FW_CONTEXT
table, probably due to an abrupt system shutdown while a firmware upgrade was in progress.
Resolution
A cascade delete can be added to this constraint to clean up these records upon deletion, as opposed to throwing this error. The following DDL will add the cascade.
Below queries are part of the update SG4.0.8.0 in some cases it could happen that the upgrade does not complete them.
***Please be aware that applying this DDL on a busy system can cause a resource busy error, or it may lock resources for a period of time.
*** Best practice is to stop the Tomcat and timer services wait 5 minutes to let queries cycle out and run the above queries.
ALTER TABLE SPRT_SG_ACT_FW_CONTEXT DROP CONSTRAINT SPRT_SG_ACT_FW_CONTEXT_FK2;
ALTER TABLE SPRT_SG_ACT_FW_CONTEXT ADD CONSTRAINT SPRT_SG_ACT_FW_CONTEXT_FK2 FOREIGN KEY ( SG_POLICY_ACTION_GUID ) REFERENCES SPRT_SG_POLICY_ACTION ( GUID ) ON DELETE CASCADE;