We might observe the below issue when starting the ICM.

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.


If we check adcmctl.sh status it will show Active but no FNDLIBR process seen on the server.


This must be due to a blocking session in the database.

We need to clear the Database session.

1. Run sql to check for blocking session :

SQL> SELECT v$access.sid, v$session.serial#
FROM v$session,v$access
WHERE v$access.sid = v$session.sid and v$access.object = 'FND_CP_FNDSM'
GROUP BY v$access.sid, v$session.serial#;  

       SID    SERIAL#
---------- ----------
       523         17


2. Kill blocking session :

SQL> alter system kill session '523,17';

System altered.

Start the Concurrent Managers and Re-try.