Steps for finding password of a User in Oracle Apps R12

THIS WORKS WITH ORACLE R12


Here is a wonderful oracle seeded Procedure fnd_web_sec.get_guest_username_pwd which will help us to find out user password.

Please use with this care and don't misuse this.

Kindly Follow the below mentioned steps:

Login to Apps user 

Step 1:


--Package Specification
CREATE OR REPLACE PACKAGE get_pwd
AS
   FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
      RETURN VARCHAR2;
END get_pwd;
/

Step 2:

--Package Body
CREATE OR REPLACE PACKAGE BODY get_pwd
AS
   FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
      RETURN VARCHAR2
   AS
      LANGUAGE JAVA
      NAME 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String';
END get_pwd;
/

Step 3:

Query to get password for apps user.

SELECT 
(SELECT get_pwd.decrypt (UPPER ((SELECT UPPER (fnd_profile.VALUE ('GUEST_USER_PWD')) FROM DUAL)), usertable.encrypted_foundation_password) FROM DUAL) AS apps_password
 FROM fnd_user usertable 
WHERE usertable.user_name LIKE UPPER ((SELECT SUBSTR (fnd_profile.VALUE ('GUEST_USER_PWD') ,1 , INSTR (fnd_profile.VALUE ('GUEST_USER_PWD'), '/') - 1 ) FROM DUAL))

Step 4:

 --Query for finding any application user
SELECT usr.user_name,
       get_pwd.decrypt
          ((SELECT (SELECT get_pwd.decrypt
                              (fnd_web_sec.get_guest_username_pwd,
                               usertable.encrypted_foundation_password
                              )
                      FROM DUAL) AS apps_password
              FROM fnd_user usertable
             WHERE usertable.user_name =
                      (SELECT SUBSTR
                                  (fnd_web_sec.get_guest_username_pwd,
                                   1,
                                     INSTR
                                          (fnd_web_sec.get_guest_username_pwd,
                                           '/'
                                          )
                                   - 1
                                  )
                         FROM DUAL)),
           usr.encrypted_user_password
          ) PASSWORD
  FROM fnd_user usr
 WHERE usr.user_name = '&USER_NAME';

 Please share your comments.

Concurrent Managers


Manager Type
Service Instance
Program
Internal Concurrent Manager
Internal Manager
FNDLIBR
Conflict Resolution Manager
Conflict Resolution Manager
FNDCRM
Internal Monitor
Internal Monitor:Node
FNDIMON

Service Manager: Node
FNDSM
Concurrent Manager
Standard Manager
FNDLIBR
Concurrent Manager
Inventory Manager
INVLIBR
Concurrent Manager
Session History Cleanup
FNDLIBR
Concurrent Manager
PA Streamline Manager
PALIBR
Transaction Manager
CRP Inquiry Manager
CYQLIB
Transaction Manager
FastFormula Transaction Manager
FFTM
Transaction Manager
PO Document Approval Manager
POXCON
Transaction Manager
Transaction Manager
FNDTMTST

Scheduler/Prerelease Manager
FNDSVC

OAM Generic Collection Service:Node
FNDSVC

After R12 Installation, $ORACLE_HOME/.patch_storage consumes more space.



After R12 installation we find the RDBMS patching backup area ($ORACLE_HOME/.patch_storage) takes more than 5 GB space.This will increase backup time and requires more backup space.


Please Note: From OPatch Version 10.2 Opatch does not backup only the affected modules, it also takes a backup of the complete affected libraries to $ORACLE_HOME/.patch_storage//backup// for faster rollback. This causes the .patch_storage directory to grow accordingly to the size of the libraries and modules being patched.


Therefore, after every R12 installation, we should clean up this area. 

For this we need to follow the below steps:


1. Login as Database OS User

2. Set the Path
$ PATH=$ORACLE_HOME/OPatch:$PATH
$ export PATH
$ which opatch
$ opatch lsinventory -invPtrLoc $ORACLE_HOME/oraInst.loc

3. Check the size of .patch_storage
$ du -sh $ORACLE_HOME/.patch_storage

4. Run opatch cleaning
$ opatch util cleanup -help
$ opatch util cleanup -invPtrLoc $ORACLE_HOME/oraInst.loc

5. Now check the .patch_storage size
$ du -sh $ORACLE_HOME/.patch_storage

Purge Concurrent Request and/or Manager Data program

How to run the Purge Concurrent Request and/or Manager Data program :



1. Log in to Application as System Administrator responsibility.
2. Navigate to Request> Run> Single Request
3. Query up Purge Concurrent Requests.

Program options:

-------------------------

ENTITY = ALL   : Purge of concurrent requests, concurrent managers, request log files,

manager log files and report output files. The following tables are purged
-  Fnd_Concurrent_Processes
-  Fnd_Dual
-  Fnd_Concurrent_Requests,
-  Fnd_Run_Requests
-  Fnd_Conc_Request_Arguments
-  Fnd_Dual
-  Fnd_Context_Env
-  Deletes concurrent requests’ log and out files from OS

ENTITY = MANAGER   : Purge of concurrent managers and manager log files.

The following tables are purged   
-  Fnd_Concurrent_Processes
-  Fnd_Dual
-  Deletes concurrent manager log files from OS

ENTITY = REQUEST   : Purge of concurrent requests, request log files and output files.

The following tables are purged
– Fnd_Concurrent_Requests,
– Fnd_Run_Requests
– Fnd_Conc_Request_Arguments
– Fnd_Dual
– Deletes concurrent requests’ log and out files from OS


 Mode                 :  AGE         Number of days.
                            : COUNT     Number of records


Mode Value                :   valid values are 1 – 9999999
User Name                   :   application username
Oracle ID                      :   Oracle ID
Program Application      :   application
Program                       :   program
Manager  Application     :   application associated with the concurrent manager
Manager                       :   concurrent manager
Resp. Application          :   application associated with the responsibility
Responsibility               :   responsibility or “All”.
Report                          :   No       Run the program but do not generate a report.
                                    :   Yes      Run the program and generate a report.


WARNING : The only option which purges all tables is the option “ENTITY = ALL”.
It is better to use this option to synchronise the Concurrent Requests
and Concurrent Processes tables.

Detailed information of the tables that will be purged:

FND_CONCURRENT_REQUESTS
This table contains a complete history of all concurrent requests.

FND_RUN_REQUESTS
When a user submits a report set, this table stores information about the
reports in the report set and the parameter values for each report.

FND_CONC_REQUEST_ARGUMENTS
This table records arguments passed by the concurrent manager to each program
it starts running.

FND_DUAL
This table records when requests do not update database tables.

FND_CONCURRENT_PROCESSES
This table records information about Oracle Applications and operating system
processes.

FND_CONC_STAT_LIST
This table collects runtime performance statistics for concurrent requests.

FND_CONC_STAT_SUMMARY
This table contains the concurrent program performance statistics generated by
the Purge Concurrent Request and/or Manager Data program. The Purge Concurrent
Request and/or Manager Data program uses the data in FND_CONC_STAT_LIST to
compute these statistics.

FND_CONC_PP_ACTIONS
Stores the post request processing actions(e.g., print, notify) for each
submitted request. There’s a concurrent_request_id here for each request_id
in the FND_CONCURRENT_REQUESTS.

FND_RUN_REQ_PP_ACTIONS
Stores the post request processing actions(e.g., print, notify) for
submitted request set programs that are stored in FND_RUN_REQUESTS

FND_ENV_CONTEXT
This table stores information about environment name and value for each of the
concurrent process

AppsLogin Page Not Opening In R12.1.1 With "File Does Not Exist" Error

Error Message:

AppsLogin Page Not Opening In R12.1.1 With "File Does Not Exist" Error.

Symptoms:

When trying to login on 12.1.1 after restarting the services, the login page fails to open and shows the error:
The webpage cannot be found
HTTP 404
No known changes had been made and the services appear to start without problems.

The error_log showed errors like:

File does not exist: <PORTAL_TOP>/OA_HTML/AppsLogin
No obvious errors were found in the other log files apart from
$LOG_HOME/ora/10.1.3/j2ee/oacore/oacore_default_group_1/log.xml which reports:
Internal error raised tyring to instantiate web-application: html defined in web site OC4J 10g (10.1.3) Default Web Site. Error compiling
:$COMMON_TOP/webapps/oacore/html: Error instantiating compiler: Web service artifact generation failed:java.lang.InstantiationException: IO Error reading
WEB-INF/wsdl/wsrp_service.wsdl in $COMMON_TOP/webapps/oacore/html: $ORA_CONFIG_HOME/ora/10.1.3/j2ee/oacore/applicationdeployments/
oacore/html/server-wsdl/wsrp_service.wsdl (Permission denied)

Cause:

  • This problem occurred because wsrp_service.wsdl was owned by root but the services were being started by applmgr.

  • This may happen if, at some previous time, the services had been accidentally restarted by root instead of applmgr.

Solution :

Ensure that the file
$ORA_CONFIG_HOME/10.1.3/j2ee/oacore/application-deployments/oacore/html/server-wsdl/wsrp_service.wsdl
is owned by the applmgr for the instance.

Cannot View Concurrent Manager Log And Out Files in R12

Error Message:


'APP-FND-1634-The log file &FILENAME does not exist or this program is restricted from reading it'
If the concurrent request has completed then please contact your system administrator.
APP-FND-1636 NO REPORT AVAILABLE FOR THIS CONCURRENT PROCESS.

Cause:

Profile Option 'RRA:enabled' setting is not correct.

Solution:

To implement the solution, please execute the following steps:

1. Shut down managers and verify no FNDLIBR processes are running.

2. Go into the responsibility: System Administrator

3. Navigate to profile/system

4. Search for profile 'RRA:enabled' and set the value to Yes.

5. Save

6. Restart the managers

7. Retest the issue.

'Function not available to this responsibility' When Trying to Access Custom Form

Error Message:

"Function not available to this responsibility. Change Responsibilities or contact your System Administrator".

Reason:

  • Missing entry for CUSTOM_TOP in default.env file. 
  • In R12, CUSTOM_TOP should be defined under default.env in $INST_TOP/ora/10.1.2/forms/server directory

Solution:

  1. Login to Linux server with APPLMGR manager user access.
  2. Go to $INST_TOP/ora/10.1.2/forms/server directory.
    Ensure that your CUSTOM_TOP's are registered in the default.env file.
    This means , we should create an entry for environment variable CUSTOM_TOP (which contains physical path to your custom directory) like below in default.env file present under location .
    $INST_TOP/ora/10.1.2/forms/server directory.
     
  3. For Example:

    APPL_TOP=/home/applmgr/PROD/apps/apps_st/appl
    CUSTOM_TOP=/home/applmgr/PROD/apps/apps_st/custom
     
  4. Restart the middle tier services.
     
  5. Retest the issue.

Please share your comments

Fast formula invalid objects compile procedure

You have two options for this,

  1. Run the Bulk compile concurrent request from your respective legislation and verify via the log file if it completes with no errors.
  2.  Back end runs: Using FFXBCP command

i.e. $FF_TOP/bin/FFXBCP <appsuser>/<appspassword> 0 Y %% %%

Please see this metalink document id for your reference:

 
   Doc ID 167689.1 How to Compile Fast Formulas From the Server (via FFXBCP)
   Doc id 155737.1 How To Compile Oracle Fast Formulas
   Doc ID 185723.1 How to Diagnose Formula Compilation Errors due to APP-FF-33980: Internal Error Attempting to Generate Package


Please share your comments.

Concurrent Manager Health Check Scripts


Daily Total Count Concurrent


select sysdate -1, count(*)
from  apps.fnd_concurrent_requests
where to_char(actual_completion_date,'YYYYMMDD') = (select to_char(sysdate -1,'YYYYMMDD') from dual);


Use the following to calculate the number of concurrent requests per week:


SELECT COUNT(*) Total,
sum(decode(greatest(0,ceil (sysdate - actual_completion_date)),
 least(7,ceil(sysdate-actual_completion_date) ),1,0)) Week4,
sum(decode(greatest(8,ceil (sysdate - actual_completion_date)),
 least(14,ceil(sysdate-actual_completion_date) ),1,0)) Week3,
sum(decode(greatest(15,ceil (sysdate - actual_completion_date)),
 least(21,ceil(sysdate-actual_completion_date) ),1,0)) Week2,
sum(decode(greatest(22,ceil (sysdate - actual_completion_date)),
 least(28,ceil(sysdate-actual_completion_date) ),1,0)) Week1
 FROM
 FND_CONCURRENT_REQUESTS
WHERE
ACTUAL_COMPLETION_DATE is not null;

Please kindly share your comments.

FRM 92101 There was a failure in the forms server during start up


Error Message:


FRM 92101 There was a failure in the forms server during start up. This could happen due to invalid configuration.

Logfile location:

$LOG_HOME/ora/10.1.3/opmn/forms_default_group_1/formsstd.out

Example Log file:

12/07/06 02:55:04 FormsServlet init():

    configFileName:     /R12/oracle/APPS_R12/apps/test_testr12/ora/10.1.2/forms/server/appsweb.cfg

    testMode:           false

12/07/06 02:55:05 Oracle Containers for J2EE 10g (10.1.3.4.0)  initialized

12/07/06 03:17:36 ListenerServlet init()

 12/07/06 03:17:41 Forms session <1> aborted: runtime process failed during startup with errors /R12/oracle/APPS_R12/apps/tech_st/10.1.2/bin/frmweb: error while loading shared libraries: libXm.so.2: cannot open shared object file: No such file or directory

 12/07/06 03:19:36 Forms session <2> aborted: runtime process failed during startup with errors /R12/oracle/APPS_R12/apps/tech_st/10.1.2/bin/frmweb: error while loading shared libraries: libXm.so.2: cannot open shared object file: No such file or directory

 Cause:

The cause is not unusual with Linux, or Oracle, or Oracle Apps. It’s that Oracle Forms is looking for a library file. But the file doesn’t exist in the expected place. Nor does a link. Not again.
In this case, libXm.so.2 can’t be found.

Solution:  

Check this directory and below mentioned files "/usr/X11R6/lib".
/usr/lib/libMrm.so.3.0.2
/usr/lib/libMrm.so.4.0.1
/usr/lib/libUil.so.3.0.2
/usr/lib/libUil.so.4.0.1
/usr/lib/libXm.so.3.0.2
/usr/lib/libXm.so.4.0.1
If its not there then create it below mentioned manner,
 

1. As root:

mkdir -p /usr/X11R6/lib
 
2. Make Links To The Original Files:

cd /usr/X11R6/lib
ln -s /usr/lib/libMrm.so.3.0.2 .
ln -s /usr/lib/libMrm.so.4.0.1 .
ln -s /usr/lib/libUil.so.3.0.2 .
ln -s /usr/lib/libUil.so.4.0.1 .
ln -s /usr/lib/libXm.so.3.0.2 .
ln -s /usr/lib/libXm.so.4.0.1 .

Make Links With An Abbreviated Name:

 

ln -s /usr/lib/libXm.so.3.0.2 libXm.so.3
ln -s /usr/lib/libXm.so.4.0.1 libXm.so.4
ln -s /usr/lib/libXm.so.4.0.1 libXm.so
ln -s /usr/lib/libUil.so.4.0.1 libUil.so.4
ln -s /usr/lib/libUil.so.3.0.2 libUil.so.3
ln -s /usr/lib/libUil.so.4.0.1 libUil.so
ln -s /usr/lib/libMrm.so.4.0.1 libMrm.so.4
ln -s /usr/lib/libMrm.so.3.0.2 libMrm.so.3
ln -s /usr/lib/libMrm.so.4.0.1 libMrm.so
ln -s /usr/lib/libMrm.so.3.0.2 libMrm.so.2
ln -s /usr/lib/libUil.so.3.0.2 libUil.so.2
ln -s /usr/lib/libXm.so.3.0.2 libXm.so.2

3. Check the issue again forms will open without FRM 92101 error.

Please Kindly share your comments.