Wednesday, November 29, 2017

Out Of memory , Not Enough Space Solaris 11

Issue:

SQL> startup nomount pfile='initXXX.ora' ;
ORA-27102: out of memory
SVR4 Error: 12: Not enough space
Additional information: 1671
Additional information: 16106127360
Additional information: 64424509440

The Above error appeared When trying to start Oracle 12c on Solaris 11.3, this is published bug

Bug:20635316 - 12C DATABASE INSTANCE STARTUP FAILS WITH ORA-27102: OUT OF MEMORY

Cause:

Solaris using something called OSM , Optimized Shared memory.

Solution:

To avoid this error as workaround just set the parameter in the pfile and retest the issue.

_use_osm=FALSE

Sunday, November 26, 2017

Exception occurred: java.sql.SQLException: ORA-28040: No matching authentication protocol

Issue:

while I was running adcfgclone.pl on appsTier and could not connect my database which was upgraded from 10.2.0.5 to 12.1.0.2 

Workaround:

Add SQLNET.ALLOWED_LOGON_VERSION=8 in sqlnet.ora on the db side. 

Retest the issue.

Thursday, November 23, 2017

Found running request 37175313 attached to dead manager process.

Issue:
Internal Concurrent Manager was not starting.

PID not found with ID
An error occured in client-side routine afpsmckp for Service Manager FNDSM.  The routine returned code 1.
Check for preceding errors and as well as the service manager log file for further details."

Found running request 37175313 attached to dead manager process.
 Attempting to restart request.

Found dead process: spid=(11181), cpid=(287127), ORA pid=(49), manager=(0/0)

Workaround Tried:

Tried to run the cmclean.sql but it was hanging while updating the table FND_CONCURRENT_PROCESSES

It was found further that the table was locked for DML Operations, identified the lock using below query.
Run as sys user.

select
   c.owner,
   c.object_name,
   c.object_type,
   b.sid,
   b.serial#,
   b.status,
   b.osuser,
   b.machine
from
   v$locked_object a ,
   v$session b,
   dba_objects c
where
   b.sid = a.session_id
and
   a.object_id = c.object_id;
and a.object_name='FND_CONCURRENT_PROCESSES';

Identified the Sid and Serial# and killed the session,

alter system kill session 'sid, serial#' immediate;

Run the cmclean.sql;

Start the Concurrent Managers.





Wednesday, November 22, 2017

Workflow emails not working for specific users

Issue: After the migration of the ERP from Solaris 10 to Solaris 11, the workflow notication Mails are sending to few users.

Cause: After the migration it was observed that the notification_preference value was changed to DISABLED.

Solution:

Step 1: Verify the value of the notification_preference in the workflow table wf_local_roles as below for all the users affected.

select notification_preference from the wf_local_roles where user_name in 'AFFECTED USER, ','user2'.......;

If the value is DISABLED proceed to the next step.

Step 2: Update the notification_preference value to MAILHTML using the below package.

exec FND_PREFERENCE.put('affected_user', 'WF', 'MAILTYPE', 'MAILHTML');

Step 3: Restart the Workflow Mailer from the Service Component window.

Note: Do not restart workflow mailer containers.

This should resolve the issue.




Thursday, November 9, 2017

Unable to find an Output Post Processor service to post-process request 37175438.

Issue:

When any custom report is executed the report is not generated in PDF instead the output file returns in xml file.

Concurrent Request log reports below erro.
Unable to find an Output Post Processor service to post-process request 37175438.

Cause: AQTABLES contains huge number of records.

AQs tables are used to look for "subscriptions" by FNDSMs. That is, when ICM calls for FNDSM to start, they "subscribe" to this queue to identify its status. The time taken for the process cleanup prior to the internal manager start up with the regular CMs is correlated to the number of processes that were not stopped cleanly. In case of un-clean shutdown, the process to restart will be longer as manager spends extra cycles to perform housekeeping tasksRun the following as SYS:.


Solution:

1. Do a clean Shutdown of the concurrent managers.
2. Ensure no FNDLIBR processes are running.

3. Check the number of records in the table :

SQL> select count(*) from applsys.FND_CP_GSM_OPP_AQTBL;

  COUNT(*)
----------
     85596

4. Run the following as SYS:

SQL> DECLARE
po dbms_aqadm.aq$_purge_options_t;
BEGIN
po.block := FALSE;
DBMS_AQADM.PURGE_QUEUE_TABLE(
queue_table => 'APPLSYS.FND_CP_GSM_OPP_AQTBL',
purge_condition => NULL,
purge_options => po);
END;
/  2    3    4    5    6    7    8    9   10

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.

5. Re-check again the number of records in the table
SQL> select count(*) from applsys.FND_CP_GSM_OPP_AQTBL;

  COUNT(*)
----------
         0
5. Restart the concurrent managers