Archive

Archive for June, 2012

Possible DBMS_LOCK.Request resultCall to establish_icm failed

Today I got a call from Development team that one the concurrent jobs submitted (in Development instance) by them has not been processed since long. I looked into the job and it showed it is in ‘Pending Standby’ status even though the manager has enough worker to process

Somehow it looked to me concurrent manager issue. Others jobs were also not getting processed. I thought of bouncing the CCM (concurrent manager). I stopped the CCM using adcmctl.sh but the job which is submitted to bring down the concurrent manager also went into ‘pending standby’ mode.

Finally I had to manually kill the FNDLIBR process at OS level and started the CCM again. But none of the FNDLIBR process came up. I looked into the ICM log and saw below error

Routine &ROUTINE has attempted to start the internal concurrent manager.  The ICM is already running.  Contact you system administrator for further assistance.afpdlrq received an unsuccessful result from PL/SQL procedure or function FND_DCP.Request_Session_Lock.
Routine FND_DCP.REQUEST_SESSION_LOCK received a result code of 1 from the call to DBMS_LOCK.Request.
Possible DBMS_LOCK.Request resultCall to establish_icm failed
The Internal Concurrent Manager has encountered an error.

Review concurrent manager log file for more detailed information

I tried to correlate this with the Database crash which happened in the same instance in the morning. and looked like database crash could have caused this. I did ‘tnsping to FNDSM’ and it returned the result properly.

Hence followed below approach to resolve the issue

  • Stopped all the services on application and Web Tier
  • since none of the FNDLIBR process had come up earlier, I was good not to kill any FNDLIBR processes.
  • Bouned the database (Database was taking time while going down – due to crash)
  • started the services on application and web tier

All the services came up without any issue. All the concurrent managers got started. I checked the concurrent jobs and they also completed normal.

Later on I researched the issue over Google and found a similar thread.

https://forums.oracle.com/forums/thread.jspa?messageID=9245583

-Anand

Categories: Oracle Apps

ORA-00001: unique constraint (APPLSYS.AD_SNAPSHOT_FILES_U2) violated

Today while cloning a DEV instance, I got below error while running adadmin utilitu to update the snapshot information

AD Administration error:
adusnapUpdateGlobalView(): Error while executing statement

AD Administration error:
ORA-00001: unique constraint (APPLSYS.AD_SNAPSHOT_FILES_U2) violated
ORA-06512: at “APPS.AD_FILE_UTIL”, line 2398
ORA-06512: at line 3

AD Administration error:
adusnapStoreInDB(): Error calling adusnapUpdateGlobalView()

Failed to store APPL_TOP Snapshot to tables
adusnapMaintainSnapshot() : Error calling adusnapUpdateCurrentView()
Error calling adusnapMaintainSnapshot
 

Fix applied to resolve the issue
Ran below 2 SQLs in the cloned instance using APPS user

  1. select distinct(snapshot_id) from ad_snapshot_files
  2. select distinct(snapshot_id) from AD_SNAPSHOT_BUGFIXES

And looked for any value with ‘minus’ sign. You need to remvoe/delete the record with “minus” sign. (Dont DELETE the other entry). I used below DELETE statements to delete the duplicate (with minus sign) record

  1. delete from ad_snapshot_files where snapshot_id=<value_with_minus_sign>
  2. delete from AD_SNAPSHOT_BUGFIXES where snapshot_id=-<value_with_minus_sign>

If the offending records are not deleted from both the tables above, adadmin will error out again. This happened with me. I first removed only from ad_snapshot_files table and adadmin errored out again.

Restarted the adamdin utility and continued with the previous session. All went fine.

-Anand

Categories: Oracle Apps