Tuesday, March 27, 2012

Cannot Complete Applications Logon, You May Have Entered an Invalid Applications Password

Problem :
On RAC env,

Login as System Administrator then trying to launch any forms, the following error message is shown :

"Cannot complete applications logon, you may have entered an invalid applications password, or there may have been a database connect error". Then clicking on OK button, the new error appears :

"APP-FND-01931: Your session is no longer valid or your logon information could not be reestablished from your session."

Solution :

Check the time given by "database server" for the two Database nodes . This can be obtained by sql

SQL> select to_char(sysdate,'dd/mm/yyyy hh24:mi:ss') from dual;If needed, synchronize them at OS level


Check the DB time and OS time are same. If not change the OS time to the correct value and restart the database.

I have changed TZ='UTC' to TZ='America/New_York' in .bash_profile file. After that relogin and restarted the Database on 3 nodes.

Monday, March 26, 2012

Important Links

1) Using Oracle 11g Release 2 Real Application Clusters with Oracle
E-Business Suite Release 12 [ID 823587.1]
2) Complete Checklist for Manual Upgrades to 11gR2 [ID 837570.1]

AACG Concurrent program not found

Problem

1. Query an user in user form and add a responsibility which gets end dated automatically due to setup in pre-requisite,
2. Click on Action in menu bar>Activate Responsibilities
3. A form 'Activate Responsibilities' opens. Go to the responsibility which is end dated and remove the end date.
4. Click on Initiate Conflict Analysis button
5. A form 'Initiate Conflict Analysis' form opens. Click Submit button
6. A message is thrown 'Concurrent program not found'.

Solution

Enabled the trace, performed the same steps. Ran tkprof on generated trace file. Got the concurrent program short name from the SQL in the tkprof output.

SELECT B.APPLICATION_SHORT_NAME
FROM
FND_CONCURRENT_PROGRAMS_VL A , FND_APPLICATION_VL B WHERE A.APPLICATION_ID
= B.APPLICATION_ID AND A.CONCURRENT_PROGRAM_NAME =
'LAA_COMPLETE_CONFLICT_ANALYSIS' AND A.ENABLED_FLAG = 'Y'

Verified the program from EBS. As the Segregation of Duties - Complete Conflict Analysis program is not enabled we are getting this error.

Enable the Segregation of Duties - Complete Conflict Analysis concurrent program will fix the issue.

Copy Responsibilities of a USER

Using the below script you can assign all the responsibilities of A user to B user. Change the user names before executing.


DECLARE
l_user_id NUMBER;
CURSOR cur_rec
IS
SELECT *
FROM fnd_responsibility_vl
WHERE responsibility_name in (SELECT frt.RESPONSIBILITY_NAME
FROM
fnd_user_resp_groups furg,
FND_RESPONSIBILITY fr,
fnd_responsibility_tl frt,
fnd_user fu
WHERE fu.user_id = furg.user_id
AND furg.responsibility_id = fr.RESPONSIBILITY_ID
AND frt.responsibility_id = fr.RESPONSIBILITY_ID
and fu.user_name='USER-A');
BEGIN
SELECT user_id
INTO l_user_id
FROM fnd_user
WHERE user_name = 'USER-B';
FOR rec_cur IN cur_rec
LOOP
fnd_user_resp_groups_api.insert_assignment
(user_id => l_user_id,
responsibility_id => rec_cur.responsibility_id,
responsibility_application_id => rec_cur.application_id,
security_group_id => 0,
start_date => SYSDATE - 1,
end_date => NULL,
description => NULL
);
COMMIT;
END LOOP;
END;
/

LsInventorySession failed: Unable to create patchObject

Problem :

oraesev1@tsgsd4903 $ ./opatch lsinventory
Invoking OPatch 10.2.0.5.1

Oracle Interim Patch Installer version 10.2.0.5.1
Copyright (c) 2010, Oracle Corporation. All rights reserved.


Oracle Home : /erpesev1/oracle/10.2.0
Central Inventory : /erpesev1/oracle/10.2.0/oraInventory
from : /var/opt/oracle/oraInst.loc
OPatch version : 10.2.0.5.1
OUI version : 10.2.0.5.0
OUI location : /erpesev1/oracle/10.2.0/oui
Log file location : /erpesev1/oracle/10.2.0/cfgtoollogs/opatch/opatch2012-03-26_04-03-06AM.log

Patch history file: /erpesev1/oracle/10.2.0/cfgtoollogs/opatch/opatch_history.txt



Inventory load failed... OPatch cannot load inventory for the given Oracle Home.

LsInventorySession failed: Unable to create patchObject

OPatch failed with error code 73


Solution

enable opatch debug :

export OPATCH_DEBUG='TRUE'
opatch lsinventory

PatchObject(oracleHomePath,patchID)
PatchObject::PatchObject looks for the actions file /erpesev1/oracle/10.2.0/inventory/oneoffs/6708377/etc/config/actions.xml
PatchObject::PatchObject looks for the inventory file /erpesev1/oracle/10.2.0/inventory/oneoffs/6708377/etc/config/inventory.xml
PatchObject::PatchObject now looks for the actions file /erpesev1/oracle/10.2.0/inventory/oneoffs/6708377/etc/config/actions
PatchObject::PatchObject now looks for the inventory file /erpesev1/oracle/10.2.0/inventory/oneoffs/6708377/etc/config/inventory
Loading the information from inventory/filemap.


Inventory load failed... OPatch cannot load inventory for the given Oracle Home.

Directories under inventory/oneoffs are missing

1) If you are cloning the directories must have been missed. Bring the directories from source
2) You can download the patches and copy the etc/config directory from the patch to oneoff
3) Not recommended : You can remove the ONEOFF entries from $ORACLE_HOME/inventory/ContentsXML/comps.xml file.
4) Rebuild the home (Reisntall and apply latest CPU)