Wednesday, October 12, 2011

FNDCPASS Troubleshooting Guide For Login and Changing Applications Passwords


FNDCPASS Troubleshooting Guide For Login and Changing Applications Passwords [ID 1306938.1]

Modified 07-OCT-2011     Type HOWTO     Status PUBLISHED

In this Document
  Goal
  Solution
      1. Error Starting Application Services After Changing APPS Password Using FNDCPASS
     2. Log In Fails With: You Don't Have Permission To Access /pls/.../fnd_icx_launch.launch On This Server
     3. APP-FND-01564: ORACLE Error 6550 In changepassword With Portal/Login Server/SSO After Patch
     4. FNDCPASS Not Able To Decrypt Password For APPLSYSPUB When Changing The APPS Password
     5. Changing APPS Password Using FNDCPASS Gives 'not able to decrypt password' Message
     6. FNDCPASS Fails Changing Database Password: APP-FND-02704, APP-FND-01564, ORA-01403 
     7. FNDCPASS Fails With 'ORA-01017: invalid username/password; logon denied
     8. adpatch Errors: The Given ORACLE Password Is Not The Correct Password.
     9. APP-FND-01496 Received When Changing The APPLSYS Password With FNDCPASS
     10. Using FNDCPASS With The ALLORACLE Option, Why Doesn't It Change All User Passwords?
     11. Fndcpass Fails with 500 Internal Server Error After Migrating Database From Hp-Ux To Linux
     12. FNDCPASS Fails with APP-FND-02702 and APP-FND-02704
     13. APP-FND-00434 Unable to Change Password Using FNDCPASS Utility
     14. FNDCPASS Gives: APP-FND-01502: Cannot Encrypt Application ORACLE Password
     15. Why FNDCPASS Fails With ORA-01005 Using Underscore or Dollar Sign in Passwords?
     16. FNDCPASS-CANNOT DECRYPT For Some Users
     17. Db Links Are Invalid After Changing The Apps User Password With FNDCPASS
     18. Is PASSWORD_VERIFY_FUNCTION Compatible with FNDCPASS in E-Business Suite?
     19. ORA-29541 Unable to Change Password Using FNDCPASS Utility
     20. FNDCPASS Updates FND_USER.LAST_LOGON_DATE with SYSDATE
     21. Why aren't users forced to change/reset passwords during next login after running FNDCPASS?
     22. FNDCPASS Was Not Able to Decrypt Password for User 'ABC' During APPLSYS Password Change
     23. FNDCPASS was not able to decrypt password for {User Name} during APPLSYS password change
     24. APP-FND-01496 Results From FNDCPASS Chaning The APPLSYS password
     25. APP-FND-1238: Cannot set value for field :USER.ENCRYPTED_USER_PASSWORD
     26. FRM-40200 Changing Users Password With The System Administrator Responsibility
     27. "Signon Password Failure Limit" Is Reached Unlocking Queries
     28. APP-FND-02704, APP-FND-01564, ORA-01403 changepassword Errors In Custom Schema
     29. FND Invalid Hash mode detected for user_id = &USERID When Changing Password
     Diagnostics & Utilities Community:
  References




Applies to:

Oracle Application Object Library - Version: 11.5.9 to 12.1.3 - Release: 11.5 to 12.1
Information in this document applies to any platform.

Goal

This is a consolidation of Top Documents to provide a Single Source for troubleshooting common problems with FNDCPASS.

Solution

1. Error Starting Application Services After Changing APPS Password Using FNDCPASS


Error:
Cannot complete applications logon. You may have entered an invalid applications password, or there may have been a database connect error.


From the error, it's confirmed that the APPS password did not change correctly. Sometimes when changing the APPS password using FNDCPASS with a new APPS password, if able to log into SQLPLUS as the apps user, then it's thought that the password has changed correctly  In every scenario, this is not true. If able to connect th SQLPLUS with the new APPS password, then it doesn't verify new APPS password completely. It is just one test for new APPS passwords. If able to start application services successfully, then one can confirm that the APPS password has changed successfully.

Points to keep in mind when changing the APPS password using the FNDCPASS utility:

Point 1: Changing APPS password using an "alter user" command is not supported and should not be used for changing the apps password in any case.

Point 2: Always use FNDCPASS to change the APPS password. For an improved solution to FNDCPASS as of R12.1.2, clickhere.

Point 3: Before changing APPS password, it is strongly recommended to take a backup of FND_USER and FND_ORACLE_USERID.

Point 4: Always check FNDCPASS log for any kind of error. If there is any error in the FNDCPASS log, then DO NOT run autoconfig or try to change configuration file manually. Until and unless FNDCPASS log has no error please do not run autoconfig as you will get problem while logging in oracle application.

Point 5: If getting any error in the FNDCPASS log, then either replace from an original backup with FND_USER and FND_ORACLE_USERID to log into Applications or raise an SR to support with the FNDCPASS log.


1. If autoconfig was not run, did not make any change in configuration file manually and also have a valid backup of FND_USER and FND_ORACLE_USERID table, then recover from the original backup. Start application services.

If a valid backup of the FND_USER and FND_ORACLE_USERID table does not exist, then an export/import of table FND_USER and FND_ORACLE_USERID from a Instance that has the same patchset level must be used because autoconfig was not run. If the patchset level is not same, then the export/import of the tables will not work. For example: If facing the issue on a newly cloned instance, then  export/import the source instance from which the clone instance was made.

2. If a valid backup of FND_USER and FND_ORACLE_USERID table exists, but have already run autoconfig then the application services cannot be started. Once autoconfig is run, then replacing the original backup of FND_USER and FND_ORACLE_USERID table will not work.

In this case, a backup of the FND_USER and FND_ORACLE_USERID table is not valid because autoconfig was already run and hence only two options left:

A. Follow the procedure mentioned in the below note to remove database credentials:

Note 419475.1: Removing Credentials from a Cloned EBS Production Database

B. Do a fresh clone. (In case the issue exists in a test instance.)

4. One should able to start application services without any error. If able to start the application services without any error, but still are not able to log in, then check a direct forms log in:

For Release 11i : http://:/dev60cgi/f60cgi
For Release 12: http://:/forms/frmservlet
For direct forms logging, below parameter in CONTEXT file should be set to OFF. If it is not set to OFF then make below changes and run autoconfig.

OFF

5. Once able to log in in forms mentioned in step 4, but still personal home page log in is not working, then it's confirmed that the issue is now with personel home page log in only and no issue with the APPS password.

Run AOL/J Test. Use below URL to run AOL/J Test:
http://:/OA_HTML/jsp/fnd/aoljtest.jsp


2. Log In Fails With: You Don't Have Permission To Access /pls/.../fnd_icx_launch.launch On This Server


The apps account is locked from repeatedly running FNDCPASS or logging into sqlplus as apps using the wrong password.

To implement the solution, execute the following steps:

1. Log-in as system owner and run:

SQL> alter profile DEFAULT limit failed_login_attempts unlimited;
SQL> alter user apps account unlock;

The first line (optional) results in preventing repeated failed log in attempts from locking the account.
The second line (required) simply unlocks the apps account.

2. Restart the services.


3. APP-FND-01564: ORACLE Error 6550 In changepassword With Portal/Login Server/SSO After Patch


APP-FND-01564: ORACLE error 6550 in changepassword
Cause: changepassword failed due to ORA-06550: line 1, column 7:
PLS-00201: identifier 'FND_SSO_REGISTRATION.IS_OPERATION_ALLOWED' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
ORA-06512: at "APPS.FND_LDAP_WRAPPER", line 1190

To implement the solution, execute the following step:

1. For instances integrated with Portal 3.0.9 from ATG_PF.H.RUP3 and above the profile option Applications SSO LDAP Synchronization (APPS_SSO_LDAP_SYNC) needs to be set to "Disabled".


4. FNDCPASS Not Able To Decrypt Password For APPLSYSPUB When Changing The APPS Password


The APPS password appears to have been successfully updated and Autoconfig runs without issue.
However, Discoverer users have authentication problems.

The issue is caused by a data corruption issue in the fnd_user table.

To implement the solution, execute the following steps:

1. Use FNDCPASS to reset the APPLSYSPUB password.

e.g. FNDCPASS apps/ 0 Y system/ ORACLE APPLSYSPUB PUB

2. Retest for the issue.


5. Changing APPS Password Using FNDCPASS Gives 'not able to decrypt password' Message


Found in log:

FNDCPASS was not able to decrypt password for during applsys password change.
FNDCPASS was not able to decrypt password for during applsys password change.


The profile option "Applications SSO Login Types" is set to 'SSO'.

Because the profile "Applications SSO Login Types" is set to 'SSO', the password is maintained by Oracle Internet Directory - OID and not Applications, FNDCPASS cannot update the OID data directly.

The FND_USER table record has the value 'EXTERNAL' in the encrypted password columns.

This can be confirmed using the following SQL:

select user_id, encrypted_foundation_password, encrypted_user_password
from fnd_user
where user_name = '{User Name from FNDCPASS log}' ;

To implement the solution, execute the following steps:

1. Set the profile "Applications SSO Login Types" to 'Both' or 'Local'.
Then change the identified User password using the Security / User / Define form..

2. Ignore the message and remember that the password is managed externally..

Note:
As long as the table value is 'EXTERNAL', the FNDCPASS utility will display the messages in the log.


6. FNDCPASS Fails Changing Database Password: APP-FND-02704, APP-FND-01564, ORA-01403


FNDCPASS apps/***** 0 Y system/**** ORACLE HR HR
APP-FND-02704: Unable to alter user HR to change password.
APP-FND-01564: ORACLE error 1403 in changepassword

Cause: changepassword failed due to ORA-01403: no data found.

The SQL statement being executed at the time of the error was: and was executed from the file &ERRFILE.

The database profile DEFAULT was changed for the resource PASSWORD_REUSE_MAX.

To implement the solution, execute the following steps:

1. Revert back the resource of the database profile DEFAULT as:

FAILED_LOGIN_ATTEMPTS to UNLIMITED
PASSWORD_REUSE_MAX to UNLIMITED
PASSWORD_LOCK_TIME to UNLIMITED
PASSWORD_GRACE_TIME to UNLIMITED
PASSWORD_VERIFY_FUNCTION to NULL

2. Re-run FNDCPASS.


7. FNDCPASS Fails With 'ORA-01017: invalid username/password; logon denied


Upgraded to Applications release 12.0 and database from 10.2.0.2 to 11.1.0.6

The database SEC_CASE_SENSITIVE_LOGON parameter defaults to TRUE. When this occurs the password sensitivity conversion does not occur. Passwords that are input as lower case are automatically updated as upper case.

To implement the solution, execute the following steps:

1. For Applications 11i with database 11g, Patch 6372396 is needed which is included in 11i.ATG_PF.H.RUP.7 (Patch 6241631).

WORKAROUND

1. Set the database SEC_CASE_SENSITIVE_LOGON parameter to FALSE in the init.ora.

2. Run autoconfig on the application tiers and bounce the database.


8. adpatch Errors: The Given ORACLE Password Is Not The Correct Password.


FNDCPASS fails with:

Working...
APP-FND-01496: Cannot access application ORACLE password

Cause: Application Object Library was unable access your ORACLE password.

Action: Contact your support representative. (USER=TWOODS)
APP-FND-01496: Cannot access application ORACLE password

Issue caused by user password corruption, which resulted in failure when running FNDCPASS in an attempt to re-encrypt the APPLSYS password.

To implement the solution, execute the following steps:

1. Use FNDCPASS to update each failing User password individually.

FNDCPASS apps/ 0 Y system/ ORACLE

Ex: FNDCPASS apps/ 0 Y system/ ORACLE GL GLPASSWORD


2. Rerun FNDCPASS again to successfully alter the APPLSYS password:

FNDCPASS apps/ 0 Y system/ SYSTEM APPLSYS

Ex: $FNDCPASS apps/ 0 Y system/ SYSTEM APPLSYS NEWPASSWORD

NOTE: Changing the APPLSYS password automatically changes the APPS password to match as these two must always agree.


9. APP-FND-01496 Received When Changing The APPLSYS Password With FNDCPASS



APP-FND-01496: Cannot access application ORACLE password
Cause: Application Object Library was unable access your ORACLE password.

The ALTER command was run manually against the APPS user before running FNDCPASS. The APPS and APPLSYS user passwords must be identical.

To implement the solution, execute the following steps:

1. Run the ALTER command against the APPS and APPLSYS users in sqlplus to change back to the old passwords:


sql>ALTER USER APPLSYS IDENTIFIED BY XXX;
sql>ALTER USER APPS IDENTIFIED BY XXX;

2. Afterwards run FNDCPASS:

FNDCPASS apps/ 0 Y system/ SYSTEM APPLSYS
Ex: $FNDCPASS apps/ 0 Y system/ SYSTEM APPLSYS NEWPASSWORD

Note: Changing the APPLSYS password automatically changes the APPS password to match as these two must always agree.


10. Using FNDCPASS With The ALLORACLE Option, Why Doesn't It Change All User Passwords?

To implement the solution, reference the following:

Usernames must appear in the FND_USER or FND_ORACLE_USERID tables. The FNDCPASS utility and ALLORACLE functionality was designed for applications users/schemas.

The following username passwords must be manually changed:

Account Name
--------------------------------
ABM
AHM
AMF
CSS
CUE
CUN
DBSNMP
EAA
EVM
FPT
IBA
IMT
IPD
JUNK_PS
MDSYS
ME
ODM
ODM_MTR
OKB
OKO
OKR
OLAPSYS
ORDPLUGINS
ORDSYS
OUTLN
OWAPUB
OZP
OZS
RHX
RLA
SCOTT
SSOSDK
SYS
VEH
XNC
XNI
XNM
XNS


11. Fndcpass Fails with 500 Internal Server Error After Migrating Database From Hp-Ux To Linux


When attempting to log in to a R12 instance, after migrating the database from HP to Linux following the steps in Note 454616.1, the following error occurs.

500 Internal Server Error
oracle.apps.fnd.cache.CacheException
at oracle.apps.fnd.cache.AppsCache.get(AppsCache.java:228)......

The issue can be reproduced at will by attempting to log in.

Password Hash Migration (FNDCPASS USERMIGRATE) done prior to the data migration.

The cause of this issue is that the FND_USER_PREFERENCES table did not get exported properly due to password hash migration not being covered or accounted for in the existing procedure.


To implement the solution, reference the following:

1. Export of the fnd_user_preferences table separately using:

$ exp system/ TABLES=(APPLSYS.FND_USER_PREFERENCES) COMPRESS=Y DIRECT=Y FILE=fnd_user_preferences.dmp LOG=exp_fnd_user_preferences.log

2. Import the Applications database target
3. Import of the fnd_user_preferences table separately

$ imp system/ FILE=fnd_user_preferences.dmp
LOG=imp_fnd_user_preferences.log TABLES=FND_USER_PREFERENCES FROMUSER=APPLSYS IGNORE=Y

4. Reset Advanced Queues ( Note 362205.1 - Section 5)
5. Run adgrants (Note 362203.1 - After the Database Upgrade)
6. Run adctxprv.sql (Note 362203.1 - After the Database Upgrade)
7. Compile Invalid Objects running adadmin
8. Implement and run Autoconfig ( Note 362203.1)
9. Gather Statistics for SYS schema (Note 362203.1 - After the Database Upgrade)
10. Create ConText and Spatial Objects (Note 362205.1 - Section 5)
11. Compile Invalid Objects (Note 362205.1 - Section 5)
12. Maintain Applications database objects (Note 362205.1 - Section 5)
13. Restart Applications Server Processes (Note 362205.1 - Section 5)


12. FNDCPASS Fails with APP-FND-02702 and APP-FND-02704



Followed Note.456838.1 and found a number of accounts that are database users with passwords equal to database users, but those do not seem to be registered as Oracle Schemas/Users.

FNDCPASS ends with the following error:

APP-FND-02702: ABM is not a valid oracle user

The list includes: ABM, AMF, CSS, CUE, CUN, EAA, EVM, FPT, IBA, IMT, IPD, ME, OKB, OKO, OKR, OZP, OZS, RHX, RLA, VEH, XNC, XNI, XNM, XNS.


Also tried to change password for EDWREP user which is not a Database user but is defined as Oracle Schema/User and FNDCPASS errored with:

APP-FND-02704: Unable to alter user EDWREP to change password

To implement the solution, reference the following:

1. EDWREP is not in the table DBA_USERS nor in FND_USER, so there is no password to change for this user as there is no possible connection to this user.  This is explained in Orion Note 431272.1.  EDWREP can be ignored as it is not an Oracle user nor an APPS user ( FND_USER ).

2. The list of others users provided ( ABM, ... ) is not in the table fnd_oracle_userid , so it cannot be changed with FNDCPASS, that's the normal behavior.

Note 461904.1 explains that ABM is now obsoleted.

Some Applications/Products are obsoleted in release 12:

cun, amf, jts, xni, oko, okb, ahm, imt, veh, rla, rhx, ozs, ozp, iba, cue, okr, fpt, xns, xnc, xnm, css, me, zfa, zsa, rcm, ipd, evm, abm, eaa

As obsoleted, using the alter command can be used to safely change the password of the above users.


13. APP-FND-00434 Unable to Change Password Using FNDCPASS Utility


When attempting to change the password of any application/database user using FNDCPASS, the following error occurs:

Error:
APP-FND-00434: AFPRCP:Failed to initialize profile option values : FDWHOAMI environment variable contains invalid value 5 for user ID

Step to Reproduce:
Change password of application user "VISION" using below FNDCPASS command:
FNDCPASS apps/apps 0 Y system/manager USER VISION WELCOME


Seeded application user "APPSMGR" is not present in FND_USER table. USER_ID of application user "APPSMGR" is 5. That is why when you are trying to change the password of any application/database user using FNDCPASS utility then it errors out with invalid value 5 for user ID (see the error).


To implement the solution, please execute the following steps:

1. If a backup of the FND_USER table exists, then restore the record for USER_ID=5 from the backup table to the existing FND_USER table.

Connect to SQLPLUS as APPS user:

SQL> insert into FND_USER select * from FND_USER_BAK where USER_ID=5 ;

Where FND_USER_BAK is backup table of FND_USER table.

If a backup of the FND_USER table does not exist, then thedata for the 'APPSMGR' user must be inserted using the below SQL:

Connect to SQLPLUS as APPS user :

SQL> INSERT INTO FND_USER(
USER_ID,
USER_NAME,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
ENCRYPTED_FOUNDATION_PASSWORD,
ENCRYPTED_USER_PASSWORD,
SESSION_NUMBER,
START_DATE,
END_DATE,
DESCRIPTION)
VALUES(5,'APPSMGR',TO_DATE('10/27/2004 6:00:51 PM','MM/DD/YYYY HH:MI:SS PM') ,0,TO_DATE('05/21/1987 6:00:51 PM','MM/DD/YYYY HH:MI:SS PM'),1,0,'INVALID','INVALID',0,TO_DATE('01/01/1951 6:00:51 PM','MM/DD/YYYY HH:MI:SS PM'),NULL,'User for routine maintenance activities scheduled as concurrent requests. Should be used for pre scheduled requests and for requests submitted at the time of patching applications.')

SQL> Commit;

2. Retest the issue.

3. Migrate the solution as appropriate to other environments.

DO NOT delete any seeded data from any of seeded table. For example: 'APPSMGR' is a seeded application user and should not delete this record from the FND_USER table.  Deletion of seeded records from any seeded table is not supported.



14. FNDCPASS Gives: APP-FND-01502: Cannot Encrypt Application ORACLE Password


APP-FND-01502: Cannot encrypt application ORACLE password
Application Object Library was unable encrypt your ORACLE password.
Action: Contact your support representative. (ORACLEUSER=APPS_SERV)

The table fnd_oracle_userid contain rows for schemas that does not exist. Those rows must be deleted
from the table.

To implement the solution, please execute the following steps:

1. Execute the following select statement:

select * from fnd_oracle_userid
where oracle_username not in
(select username from all_users);


If this returns any rows, then delete them.


15. Why FNDCPASS Fails With ORA-01005 Using Underscore or Dollar Sign in Passwords?


To implement the solution, please execute the following steps:

Using the Underscore ( _ ) or Dollar Sign ( $ ) as well as Parentheses ( ) and Comma ( , ) will cause the following error to be generated:

Routine AFPCSQ encountered an ORACLE error. ORA-01005: null password given; logon denied
Review your error messages for the cause of the error. (=)

Only alphanumeric characters should be for passwords. Bug 5239293 - UNABLE USE THE PUNCTUATION MARK IN FNDCPASS UTILITY has been logged to address using special characters such as the _, #, and $.


16. FNDCPASS-CANNOT DECRYPT For Some Users



Getting error messages like:

FNDCPASS-CANNOT DECRYPT (USER=CONCURRENT MANAGER)
FNDCPASS-CANNOT DECRYPT (USER=ANONYMOUS)
FNDCPASS-CANNOT DECRYPT (USER=APPLSYSPUB)

Patch (5846796) was created to fix the fnd_web_sec.validate_password to use the SIGNON_PASSWORD_CASE profile setting for establishing new password criteria.

According to Development Patch 5846796 will not be available standalone.


To implement the solution, please execute the following steps:

1. Customers should apply 11i.ATG_PF.H.delta.6 (RUP 6) Patch 5903765 for this issue.

Workaround
The error messages should disappear setting the System Profile 'Password Case Option' to 'Insensitive'.




17. Db Links Are Invalid After Changing The Apps User Password With FNDCPASS


To implement the solution, please execute the following steps:


1. Since changing the apps password all the db links should have the new APPS password.  Run
AutoConfig after changing the APPS password and this will update all.  Please note that there is no need to run autoconfig each time FNDCPASS is run, only if changing any of the following users:

- APPLSYS
- APPS
- APPS_MRC
- APPLSYSPUB
- PORTAL30 & PORTAL30_SSO (For Oracle Log in Server and Portal 3.0.9 with E-Business Suite 11i)


18. Is PASSWORD_VERIFY_FUNCTION Compatible with FNDCPASS in E-Business Suite?


To implement the solution, please execute the following steps:

1. Log a service request requesting to attach it to the existing enhancement.  Once this is done, the service request will be closed as it's unknown when the enhancement will be integrated into Applications.

2. Follow Enhancement Request: Bug 3363011.


19. ORA-29541 Unable to Change Password Using FNDCPASS Utility



Oracle error -29541: ORA-29541: class APPS.oracle/apps/fnd/security/WebSessionManagerProc could not be resolved has been detected in FND_WEB_SEC.VALIDATE_PASSWORD

To implement the solution, please execute the following steps:

1. Unzip RDBMS $ORACE_HOME/rdbms/jlib/servlet.jar to a temporary location.

2. cd to the /javax/servlet

loadjava -u sys/ -v -f -r ServletRequest.class

3. cd to the /javax/servlet/http

loadjava -u sys/ -v -f -r HttpServletRequest.class

4. If the above load is successful, then try to compile the following java classes in this order:

/69cdcac5_URLTools
/9bcc02c9_GenericFileManager
/98ca471e_GenericFileManager
/7ef1f61b_AppsContext
/be1b2bb2_ErrorStack
/4cc59dc8_AppsException
/4f323587_DataVerificationExce
/b3e79110_HTTPData
/50e4719a_AolSecurity
/3906534f_WebSessionManagerProc

For example :
SQL> conn apps/apps
Connected.

SQL> alter java class "/69cdcac5_URLTools" resolve;

Java altered.

5. Retest the issue.


20. FNDCPASS Updates FND_USER.LAST_LOGON_DATE with SYSDATE



The FND_USER.LAST_LOGON_DATE table is getting reset with SYSDATE when FNDCPASS command is run to change the apps password on the database.

Changing APPS, APPLSYS and Oracle Apps schema passwords is updating FND_USER.LAST_LOGON_DATE for Application Users.

eg FNDCPASS apps/ 0 Y system/ SYSTEM APPLSYS

To implement the solution, please execute the following steps:

1. The official fix is included in RUP7 Patch 6241631.


As a workaround, please disable the trigger:

1. Connect to the apps schema using sqlplus.

2. Alter trigger FND_USER_RESET DISABLE;


21. Why aren't users forced to change/reset passwords during next login after running FNDCPASS?


This is expected functionality.  FNDCPASS does not force the user to reset their passwords during the next log in.  Users wanting to reset/change their passwords upon change should do so through the FNDSCAUS.fmb (Define User) form.  When a password is changed in the Define User form, the user is forced to reset their password.


22. FNDCPASS Was Not Able to Decrypt Password for User 'ABC' During APPLSYS Password Change



When attempting to run command 'FNDCPASS apps/XXX 0 Y system/XXX SYSTEM APPLSYS XXX',
the following error occurs:

ERROR
-----------------------
FNDCPASS was not able to decrypt password for user 'GCC' during applsys password change.
FNDCPASS was not able to decrypt password for user 'APPS' during applsys password change.
FNDCPASS was not able to decrypt password for user 'APPLSYS' during applsys password change.

Debug line of code (fnd_preference.remove) was found in a sql script that ran during the upgrade process - patch/115/sql/afsecctx.sql. This causes the error message when run FNDCPASS to change APPS password after upgrading to 12.1.3 .

This is justified in Bug 8764069 - POST USERMIGRATE TO HASH PASSWORDS, AFTER 12.1 UPG, FNDCPASS FAILS DECRYPT


To implement the solution, please execute the following steps:

1. Download and review the readme for Patch 8764069.

2. Apply Patch 8764069 in a test environment.

3. Confirm the following file versions:

/patch/115/sql/afsecctx.sql 120.3.12010000.2

You can use the commands like the following:

strings -a $FND_TOP/ patch/115/sql/afsecctx.sql | grep -i '$Header'

4. Retest the issue.

5. Migrate the solution as appropriate to other environments.


WORKAROUND

1. Change password of All Oracle Applications Users (FND_USER) according to Note 419475.1 Removing Credentials from a Cloned EBS Production Database.

2. Retest the issue.



23. FNDCPASS was not able to decrypt password for {User Name} during APPLSYS password change



The passwords were updated by a method other than the Define User form or FNDCPASS.  This is NOT supported.

To implement the solution, please execute the following steps:

Re-run FNDCPASS for the specific failed {User Name}.

Examples:

FNDCPASS apps/ 0 Y system/ ORACLE GL
FNDCPASS apps/ 0 Y system/ USER JOEUSER


24. APP-FND-01496 Results From FNDCPASS Chaning The APPLSYS password



AFTER manually using the 'alter user' in sqlplus the following error occurs in the log for every application user account:

ERROR
APP-FND-01496: Cannot access application ORACLE password
Cause: Application Object Library was unable access your ORACLE password.

The APPLSYS (APPS) password became corrupted using ALTER USER because an applications session was not maintained at the same time. This apps session is necessary to change the APPLSYS password in:
'Security> Oracle> Register' WHILE being in SQL*PLUS as the SYSTEM user.

The supported method is use of FNDCPASS.

To implement the solution, please execute the following steps:

1. Restore the FND_ORACLE_USERID and FND_USER tables from a backup.

2. Then run FNDCPASS to change the APPLSYS password.  Ex.

FNDCPASS apps/ 0 Y system/ SYSTEM APPLSYS WELCOME



25. APP-FND-1238: Cannot set value for field :USER.ENCRYPTED_USER_PASSWORD



When attempting to change a user password, the error below is generated:

APP-FND-1238: Cannot set value for field :USER.ENCRYPTED_USER_PASSWORD.
Review your error messages (Help ->Diagnostics -> Display Database Error ...) to see the cause of the error.

Encrypted APPLSYS password was corrupted.

To implement the solution, please execute the following steps:

Run FNDCPASS on the database tier and change the APPLSYS password to its original password value.

For example:

FNDCPASS apps/ 0 Y system/ SYSTEM APPLSYS
Ex: $FNDCPASS apps/ 0 Y system/ SYSTEM APPLSYS NEWPASSWORD

NOTE: Changing the APPLSYS password automatically changes the APPS password to match as these two must always agree.



26. FRM-40200 Changing Users Password With The System Administrator Responsibility



Unable to change a users password with the System Administrator responsibility.  The password field is not accessible and the following message appears at the bottom of the window:

FRM-40200 Field is protected against update

The fnd_user.encrypted_user_password column = 'EXTERNAL'.

In FND_USER, if the fnd_user.encrypted_user_password column = 'EXTERNAL', then:

1. The Change Password menu entry should be disabled on the Forms menu.
2. The Password field should be disabled on the Users form.

This is expected behavior for the column being set to EXTERNAL.

To implement the solution, please execute the following steps:

1. Use FNDCPASS to change the password as required.

Example: FNDCPASS apps/ 0 Y system/ USER VISION WELCOME

2. Reference: Note 303621.1 - How to Change and Which Apps Database Users Passwords Can Be Changed in a Multi-Node Apps Installation?


27. "Signon Password Failure Limit" Is Reached Unlocking Queries



Q1: A user account is locked after "Signon Password Failure Limit" is reached.  Can it be unlocked without resetting the password?

Q2: After the account is locked because of "Signon Password Failure Limit", can it be automatically unlocked after 24hrs (or a set # of hrs)?


To implement the solution, please execute the following step:

A1.  No.  To elaborate:
'Signon Password Failure Limit' invalidates the user account by updating the fnd_user encrypted password columns with value INVALID. In order to reinstate (unlock) the account these INVALID password values must be again populated with encrypted values. This ONLY happens when the password is reset.

A2.  No. To elaborate:
There is no such automatic functionality within EBusiness Suite Apps to do this.  The reinstatement (unlocking) of the application user account must be done by resetting the password which is done by the administrator either thru the FNDSCAUS (Security > User > Define) form or by FNDCPASS.


28. APP-FND-02704, APP-FND-01564, ORA-01403 changepassword Errors In Custom Schema



When attempting to modify a custom schema's (XXINT) password with FNDCPASS, the following error message occurred:

APP-FND-02704: Unable to alter user XXINT to change password.
APP-FND-01564: ORACLE error 1403 in changepassword
Cause: changepassword failed due to ORA-01403: no data found.

FND does not support case sensitive passwords for ORACLE accounts. FND expects database level passwords to be in uppercase.  The SQL Reference manual, under Object Naming Rules, states that passwords can only contain alphanumeric characters from your database's character set and the characters _, $, and #.

Using $ and # is strongly discouraged.

When "Hard to Guess" functionality is activated, the password cannot contain repeating characters.  (By repeating characters, it is meant *consecutively* repeating characters. Hence oracleo passes this criteria, while oraclee does not.)  The ORACLE password is converted to all upper case internally and then "Hard to Guess" is validated, if enabled.


To implement the solution, please execute the following step:

Only use single case (upper suggested) passwords for ORACLE passwords.  If the "Hard to Guess" functionality is activated, verify that the selected password meets all the requirements.


29. FND Invalid Hash mode detected for user_id = &USERID When Changing Password



Occurs when:
1. Go to Navigator Menu Edit> Preference > Change Password.
2. Enter Old Password and New Password/Re-enter password.
3. Press OK Button.

This issue has been fixed in the file "fnd src/security fdspwd.lc" in version "115.33"
This is explained in the following bug:
BUG 7304220 - 1OFF:6658428:ATG RUP6:11.5.10.2:UNABLE TO RESET PASSWORD AFTER IMPLEMENTING NON-REVERSIBLE HASH PASSWD(FNDCPASS) 


To implement the solution, please execute the following step:


1. Download and review the readme and pre-requisites for Patch 7304220.
2. Ensure that you have taken a backup of your system before applying the recommended patch.
3. Apply the patch in a test environment.
4. Please log a Service Request for support to post you the password.
5. Retest the issue.
6. Migrate the solution as appropriate to other environments.

WORKAROUNDS

1. a. The SSWA/Framework Preferences page.
    b. Security > Define > User form.

OR

2. FNDCPASS apps/ 0 Y system/ USER .

Monday, October 10, 2011

Database - Backup and Recovery Scenarios



Backup and Recovery Scenarios [ID 94114.1]

 Modified 01-MAR-2011     Type TROUBLESHOOTING     Status PUBLISHED 

In this Document
  Purpose
  Last Review Date
  Instructions for the Reader
  Troubleshooting Details
     BACKUP SCENARIOS 
     a) Consistent backups
     b) Inconsistent backups
     c) Database Archive mode
     d) Backup Methods
     e) Incremental backups 
     f) Support scenarios
     RECOVERY SCENARIOS
     1. Online Block Recovery.
     2. Thread Recovery.
     3. Media Recovery.
      Media Failure and Recovery in Noarchivelog Mode
      Media Failure and Recovery in Archivelog Mode
     a) Point in Time recovery:
     b) Recovery without control file
     c) Recovery of missing datafile with rollback segments
     d) Recovery of missing datafile without undo segments
     e) Recovery with missing online redo logs
     f) Recovery with missing archived redo logs
     g) Recovery with resetlogs option
     h) Recovery with corrupted undo segments.
     i) Recovery with System Clock change.
     j) Recovery with missing System tablespace.
     k) Media Recovery of offline tablespace
     l) Recovery of Read-Only tablespaces
  References




Applies to:

Oracle Server - Personal Edition - Version: 7.2.3.0 to 10.2.0.4 - Release: 7.2.3 to 10.2
Oracle Server - Enterprise Edition - Version: 7.3.4.5 to 10.2.0.4   [Release: 7.3.4 to 10.2]
Oracle Server - Standard Edition - Version: 7.2.2.0 to 10.2.0.4   [Release: 7.2.2 to 10.2]
Information in this document applies to any platform.
***Checked for relevance on 01-Mar-2011***

Purpose

Describe various Backup and Recovery Scenarios.

Last Review Date

November 27, 2006

Instructions for the Reader

A Troubleshooting Guide is provided to assist in debugging a specific issue. When possible, diagnostic tools are included in the document to assist in troubleshooting.

Troubleshooting Details

BACKUP SCENARIOS

a) Consistent backups

A consistent backup means that all data files and control files are consistent  to a point in time. I.e. they have the same SCN. This is the only method of  backup when the database is in NO Archive log mode.

b) Inconsistent backups

An Inconsistent backup is possible only when the database is in Archivelog mode.  You must apply redo logs to the data files, in order to restore the database to a consistent state.  Inconsistant backups can be taken using RMANwhen the database is open.
Inconsistant backups can also be taken using other OS tools provided the tablespaces (or database) is put into backup mode.
ie: SQL> alter tablespace data begin backup;
    SQL> alter database begin backup; (version 10 and above only)

c) Database Archive mode

The database can run in either Archivelog mode or noarchivelog mode.  When you first create the database, you specify if it is to be in Archivelog  mode. Then in the init.ora file you set the parameter log_archive_start=true  so that archiving will start automatically on startup.
If the database has not been created with Archivelog mode enabled, you can  issue the command whilst the database is mounted, not open.

SQL> alter database Archivelog;.
SQL> log archive start
SQL> alter database open;
SQL> archive log list

This command will show you the log mode and if automatic archival is set.

d) Backup Methods

Essentially, there are two backup methods, hot and cold, also known as online and offline, respectively. A cold backup is one taken when the database is shutdown. The database must be shutdown cleanly.  A hot backup is on taken when the database is running. Commands for a hot backup:

For non RMAN backups:

1. Have the database in archivelog mode (see above)
2. SQL> archive log list
--This will show what the oldest online log sequence is. As a precaution, always keep the all archived log files starting from the oldest online log sequence.
3. SQL> Alter tablespace tablespace_name BEGIN BACKUP;
or SQL> alter database begin backup (for v10 and above).
4. --Using an OS command, backup the datafile(s) of this tablespace.
5. SQL> Alter tablespace tablespace_name END BACKUP
--- repeat step 3, 4, 5 for each tablespace.
or SQL> alter database end backup; for version 10 and above
6. SQL> archive log list
---do this again to obtain the current log sequence. You will want to make sure you have a copy of this redo log file.
7. So to force an archived log, issue
SQL> ALTER SYSTEM SWITCH LOGFILE
A better way to force this would be:
SQL> alter system archive log current;
8. SQL> archive log list
This is done again to check if the log file had been archived and to find the latest archived sequence number.
9. Backup all archived log files determined from steps 2 and 8.
10. Back up the control file:
SQL> Alter database backup controlfile to 'filename'

For RMAN backups:
see Note.<<397315.1>>  RMAN - Sample Backup Scripts 10g
or the appropriate RMAN documentation.

e) Incremental backups

These are backups that are taken on blocks that have been modified since the last backup. These are useful as they don't take up as much space and time. There are two kinds of incremental backups Cumulative and Non cumulative.

Cumulative incremental backups include all blocks that were changed since the  last backup at a lower level. This one reduces the work during restoration as  only one backup contains all the changed blocks.
Noncumulative only includes blocks that were changed since the previous backup  at the same or lower level.

Using rman, you issue the command "backup incremental level n"

Oracle v9 and below RMAN will back up empty blocks, oracle v10.2 RMAN will not back up empty blocks

f) Support scenarios

When the database crashes, you now have a backup. You restore the backup and
then recover the database. Also, don't forget to take a backup of the control
file whenever there is a schema change.

RECOVERY SCENARIOS

Note: All online datafiles must be at the same point in time when completing recovery;

There are several kinds of recovery you can perform, depending on the type of  failure and the kind of backup you have. Essentially, if you are not running in archive log mode, then you can only recover the cold backup of the database and you will lose any new data and changes made since that backup was taken. If, however, the database is in Archivelog mode you will be able to restore the database up to the time of failure. There are three basic types of recovery:

1. Online Block Recovery.

This is performed automatically by Oracle.(pmon) Occurs when a process dies  while changing a buffer. Oracle will reconstruct the buffer using the online  redo logs and writes it to disk.

2. Thread Recovery.

This is also performed automatically by Oracle. Occurs when an instance  crashes while having the database open. Oracle applies all the redo changes  in the thread that occurred since the last time the thread was checkpointed.

3. Media Recovery.

This is required when a data file is restored from backup. The checkpoint count in the data files here are not equal to the check point count in the  control file.

Now let's explain a little about Redo vs Undo.

Redo information is recorded so that all commands that took place can be  repeated during recovery. Undo information is recorded so that you can undo changes made by the current transaction but were not committed. The Redo Logs  are used to Roll Forward the changes made, both committed and non- committed  changes. Then from the Undo segments, the undo information is used to
rollback the uncommitted changes.

Media Failure and Recovery in Noarchivelog Mode

In this case, your only option is to restore a backup of your Oracle files. The files you need are all datafiles, and control files.  You only need to restore the password file or parameter files if they are lost or are corrupted.

Media Failure and Recovery in Archivelog Mode

In this case, there are several kinds of recovery you can perform, depending on what has been lost. The three basic kinds of recovery are:

1. Recover database - here you use the recover database command and the database must be closed and mounted. Oracle will recover all datafiles that are online.

2. Recover tablespace - use the recover tablespace command. The database can be open but the tablespace must be offline.

3. Recover datafile - use the recover datafile command. The database can be  open but the specified datafile must be offline.

Note: You must have all archived logs since the backup you restored from,  or else you will not have a complete recovery.

a) Point in Time recovery:

A typical scenario is that you dropped a table at say noon, and want to recover it. You will have to restore the appropriate datafiles and do a point-in-time  recovery to a time just before noon.

Note: you will lose any transactions that occurred after noon.  After you have recovered until noon, you must open the database with resetlogs. This is necessary to reset the log numbers, which will protect the database  from having the redo logs that weren't used be applied.

The four incomplete recovery scenarios all work the same:

Recover database until time '1999-12-01:12:00:00';
Recover database until cancel; (you type in cancel to stop)
Recover database until change n;
Recover database until cancel using backup controlfile;

Note: When performing an incomplete recovery, the datafiles must be online. Do a select * from v$recover_file to find out if there are any files  which are offline. If you were to perform a recovery on a database which has  tablespaces offline, and they had not been taken offline in a normal state, you will lose them when you issue the open resetlogs command. This is because the data file needs recovery from a point before the resetlogs option was used.

b) Recovery without control file

If you have lost the current control file, or the current control file is  inconsistent with files that you need to recover, you need to recover either by using a backup control file command or create a new control file. You can also recreate the control file based on the current one using the  'SQL> backup control file to trace' command which will create a script for you to  run to create a new one.  Recover database using backup control file command must be used when using a  control file other that the current. The database must then be opened with
resetlogs option.

c) Recovery of missing datafile with rollback segments

The tricky part here is if you are performing online recovery. Otherwise you  can just use the recover datafile command. Now, if you are performing an  online recovery, you will need to create a new undo tablespace to be used.  Once the old tablespace has been recovered it can be dropped once any uncommitted  transactions have rolled back.

d) Recovery of missing datafile without undo segments

There are three ways to recover in this scenario, as mentioned above.
1. recover database;
2. recover datafile 'c:\orant\database\usr1orcl.ora';
3. recover tablespace user_data;

e) Recovery with missing online redo logs

Missing online redo logs means that somehow you have lost your redo logs before  they had a chance to archived. This means that crash recovery cannot be  performed, so media recovery is required instead. All datafiles will need to be restored and rolled forwarded until the last available archived log file is applied. This is thus an incomplete recovery, and as such, the recover
database command is necessary.

As always, when an incomplete recovery is performed, you must open the database with resetlogs.
Note: the best way to avoid this kind of a loss, is to mirror your online log files.

f) Recovery with missing archived redo logs

If your archives are missing, the only way to recover the database is to restore from your latest backup. You will have lost any uncommitted
transactions which were recorded in the archived redo logs. Again, this is why  Oracle strongly suggests mirroring your online redo logs and duplicating copies  of the archives.

g) Recovery with resetlogs option

Reset log option should be the last resort, however, as we have seen from above, it may be required due to incomplete recoveries. (recover using a backup control file, or a point in time recovery). It is imperative that you backup up the database immediately after you have opened the database with reset logs.  It is possible to recover through a resetlogs, and made easier with Oracle V10, but easier
to restore from the backup taken after the resetlogs

h) Recovery with corrupted undo segments.

If an undo segment is corrupted, and contains uncommitted system data you may not be able to open the database.

The best alternative in this situation is to recover the corrupt block using the RMAN blockrecover command next best would be to restore the datafile from backup and do a complete recovery.

If a backup does not exist and If the database is able to open (non system object) The first step is to find out what object is causing the rollback to appear corrupted. If we can determine that, we can drop that object.

So, how do we find out if it's actually a bad object?

1. Make sure that all tablespaces are online and all datafiles are online. This can be checked through via the v$recover_file view.

2. Put the following in the init.ora:
event = "10015 trace name context forever, level 10"

This event will generate a trace file that will reveal information about the  transaction Oracle is trying to roll back and most importantly, what object  Oracle is trying to apply the undo to.

Note: In Oracle v9 and above this information can be found in the alert log.

Stop and start the database.

3. Check in the directory that is specified by the user_dump_dest parameter (in the init.ora or show parameter command) for a trace file that was  generated at startup time.

4. In the trace file, there should be a message similar to: error recovery tx(#,#) object #.

TX(#,#) refers to transaction information.
The object # is the same as the object_id in sys.dba_objects.

5. Use the following query to find out what object Oracle is trying to perform recovery on.

select owner, object_name, object_type, status
from dba_objects where object_id = ;

6. Drop the offending object so the undo can be released. An export or relying on a backup may be necessary to restore the object after the corrupted undo segment is released.

i) Recovery with System Clock change.

You can end up with duplicate timestamps in the datafiles when a system clock  changes. This usually occurs when daylight saving comes into or out of the picture. In this case, rather than a point in time recovery, recover to a specify log or SCN

j) Recovery with missing System tablespace.

The only option is to restore from a backup.

k) Media Recovery of offline tablespace

When a tablespace is offline, you cannot recover datafiles belonging to this  tablespace using recover database command. The reason is because a recover database command will only recover online datafiles. Since the tablespace is  offline, it thinks the datafiles are offline as well, so even if you recover database and roll forward, the datafiles in this tablespace will not be touched.  Instead, you need to perform a recover tablespace command. Alternatively, you  could restored the datafiles from a cold backup, mount the database and select  from the v$datafile view to see if any of the datafiles are offline. If they are, bring them online, and then you can perform a recover database command.

l) Recovery of Read-Only tablespaces

If you have a current control file, then recovery of read only tablespaces is  no different than recovering read-write files. The issues with read-only tablespaces arise if you have to use a backup control file. If the tablespace is in read-only mode, and hasn't changed to read-write since the last backup, then you will be able to media recovery using a backup control file by taking the tablespace offline. The reason here is that when you are using the backup control file, you must open the database with resetlogs. And we know that Oracle wont let you read files from before a resetlogs was done. However, there is an exception with read-only tablespaces. You will be able to take the datafiles online after you have opened the database.

When you have tablespaces that switch modes and you don't have a current control file, you should use a backup control file that recognizes the tablespace in  read-write mode. If you don't have a backup control file, you can create a new  one using the create controlfile command.  Basically, the point here is that you should take a backup of the control file every time you switch a tablespaces mode.

Friday, October 7, 2011

Serarching and replacing the vi editor



i ---> Search and Replace
The search command is /. To search for polite type /politen repeats the search in the same direction, and N repeats the search in the opposite direction.
The search option accepts most of the standard Unix pattern matching language. (See the Wildcard section.) Suppose I had a file that contained the following text:

There was a young man of Milan
Whose poems, they never would scan;
When asked why it was,
He said, `It's because
I always try to get as many words into the last line as I possibly can'.
-anonymous

Here are a few examples (using this text) that you will probably never use but may find inspiring:


    /[a-z]as
will search for any lowercase letter followed by as. In this example, it would find was and last but not as or asked.

    /[^c]an
will search for any an preceded by any character other than a c. In our text it would find Milan but not scan or can.

    /^[A-Z].*\. *$
will search for any line that begins with a capital letter and ends with a period and any number of blanks. Our only match in the example text would be with the last line.All of these search patterns can be used in the search and replace command that takes on the following structure:


    :s/search_string/replacement_string/g
This command replaces every search_string on the current line with replacement_string. Omitting the g (global) flag at the end of the command will cause only the first occurrence ofsearch_string to be altered. Often you may wish to confirm each replacement. This can be done with the confirm flag c. The confirm flag should be placed after or in place of the g flag. Suppose I had the following line:
Give a skeptic and inch... and he'll take a mile.
and typed


    :s/take a mile/measure it/
I would be left with
Give a skeptic and inch... and he'll measure it.
Any command that begins with a ":" is called a line mode command and performs its duty on the line the cursor is currently on. However, you can override vi's default of operating only on the current line by preceding them with a range of line numbers. For example, if I wanted to replace guy with gal on lines 32 through 56 I would type


    :32,56s/guy/gal/g
Omitting the g would cause only the first occurrence of guy in each line to be replaced. The "." and "$" play a special role in this sort of designation. "." indicates the current line, and "$" indicates the last line of the file. Therefore, if I wanted to delete1 from the current line to the end of the file I would enter:2

    :.,$d
I could even do something like:

    :.,/Edison/d
which would delete from the current line to the next line that contained Edison.One other shortcut that might be worth mentioning is that 1,$ and % both indicate all the lines in the file. Therefore,


    :1,$s/search_string/replacement_string/g
and

    :%s/search_string/replacement_string/g
do exactly the same thing.
Please notify owners of webpages with outdated links to these pages
1 This works because :d is a line mode command that deletes the current line.
2 The same could be accomplished by typing dG.


Wednesday, October 5, 2011

How To Recreate the /appsutil/scripts/ directory [ID 377495.1]


How To Recreate the /appsutil/scripts/ directory [ID 377495.1]

Modified 07-FEB-2011 Type HOWTO Status PUBLISHED

In this Document
Goal
Solution
References


Applies to:

Oracle Applications Manager - Version: 11.5.7 to 11.5.10.2 - Release: 11.5 to 11.5
Information in this document applies to any platform.

Goal

***Checked for relevance on 07-FEB-2011***

The $ORACLE_HOME/appsutil directory or subdirectories of appsutil are missing.

How to recreate this directory with its subdirectories and contents?
How can I run AutoConfig on Database Tier without this directory, since adautocfg.sh exists in /appsutil/scripts/?

Solution

To implement the solution, please update the RDBMS ORACLE_HOME file system with AutoConfig files from the AppsTier by performing the following steps exactly:

1. On the Application Tier (as the APPLMGR user):

2. Log in to the APPL_TOP environment and source the environment file

3. Create appsutil.zip file: "perl /bin/admkappsutil.pl"
(This will create appsutil.zip in $APPL_TOP/admin/out/appsutil.zip)

4. Copy or FTP the appsutil.zip file to the RDBMS $ORACLE_HOME

5. On the Database Tier (as the ORACLE user):
$ cd $ORACLE_HOME
$ unzip -o appsutil.zip

6. Generate the Database Context File:

Context File Creation on UNIX

$ cd $ORACLE_HOME

$ . _.env

$ cd $ORACLE_HOME/appsutil/bin

$ perl adbldxml.pl tier=db appsuser= appspasswd=

$ cd $ORACLE_HOME/appsutil/bin

$ adconfig.sh contextfile= appspass=

After running the these steps, all files and directories for Autoconfig are now present, including "$ORACLE_HOME/appsutil/bin/adautocfg.sh" and the "$ORACLE_HOME/appsutil/scripts" directory.