Monday 25 January 2016

Forgotten SYSADMIN password in oracle apps R12

Step 1:  Connect to apps user in application node 

SQL> conn apps/APPS123;

Connected.

Step 2:  Create below package 

SQL> CREATE OR REPLACE PACKAGE XXX_GET_PWD AS
FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
RETURN VARCHAR2;
END XXX_GET_PWD;
/


Step 3:  Create below package body 

SQL> CREATE OR REPLACE PACKAGE BODY XXX_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 XXX_GET_PWD;
/

Step 4:  Run the below script 

SELECT Usr.User_Name,
Usr.Description,
XXX_GET_PWD.Decrypt (
(SELECT (SELECT XXX_GET_PWD.Decrypt (
Fnd_Web_Sec.Get_Guest_Username_Pwd,
Usertable.Encrypted_Foundation_Password)
FROM DUAL)
AS Apps_Password
FROM applsys.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 applsys.Fnd_User Usr

WHERE Usr.User_Name = '&User_Name';

(Note:Enter the SYSADMIN user name in CAPS)

Step 5:  Validate the SYSADMIN password is working fine or not.

SQL> select fnd_web_sec.validate_login('SYSADMIN','sysadmin') from dual;

FND_WEB_SEC.VALIDATE_LOGIN('SYSADMIN','SYSADMIN')
--------------------------------------------------------------------------------
Y

(Note: In my case Username is "SYSADMIN" and password is "sysadmin") 

Hope this post will helps you :)

No comments:

Post a Comment