Friday, September 12, 2014

BI Publisher (formerly XML Publisher) Requests Are Failing With Error "OPP Error Oracle.apps.xdo.XDOException: Error Creating Lock File

BI Publisher (formerly XML Publisher) Requests Are Failing With Error "OPP Error Oracle.apps.xdo.XDOException: Error Creating Lock File

Error

oracle.apps.xdo.XDOException: Error creating lock file
        at oracle.apps.xdo.oa.util.FontCacheManager.createLockFile(FontCacheManager.java:363)
        at oracle.apps.xdo.oa.util.FontCacheManager.getFontFromDB(FontCacheManager.java:412)
        at oracle.apps.xdo.oa.util.FontCacheManager.getFontFilePath(FontCacheManager.java:221)
        at oracle.apps.xdo.oa.util.FontHelper.createFontProperties(FontHelper.java:432)
        at oracle.apps.xdo.oa.util.ConfigHelper.getFontProperties(ConfigHelper.java:166)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5817)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3459)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3548)
        at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:302)
        at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:179)
[9/10/14 4:28:52 AM] [493966:RT178323863] Output file was found but is zero sized - Deleted
[9/10/14 4:28:52 AM] [UNEXPECTED] [493966:RT178323863] oracle.apps.xdo.XDOException: Error creating lock file
        at oracle.apps.xdo.oa.util.FontCacheManager.createLockFile(FontCacheManager.java:363)
        at oracle.apps.xdo.oa.util.FontCacheManager.getFontFromDB(FontCacheManager.java:412)
        at oracle.apps.xdo.oa.util.FontCacheManager.getFontFilePath(FontCacheManager.java:221)
        at oracle.apps.xdo.oa.util.FontHelper.createFontProperties(FontHelper.java:432)
        at oracle.apps.xdo.oa.util.ConfigHelper.getFontProperties(ConfigHelper.java:166)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5817)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3459)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3548)
        at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:302)
        at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:179)

Troubleshooting

1. Check the error in OPP logs. Log file location is

cd $APPLCSF/$APPLLOG
ls --ltr FNDOPP* | tail

Solution

1. Login to Front End, Goto XML Publisher Administrator -> Administration -> General Tab -> Temporary directory

2. Make sure the Temporary directory path is set correctly as mentioned in the above

3. Make sure that this directory can be written to by applmgr from the node that the OPP is running on. You can use the touch command to test this.

4. Set the temporary directory to it's own directory at least 20x larger than the largest data file used by XMLP. Start off with at least 5GB.

5. Try resetting the diretory to a different directory on the same mount as the OPP

6 Bounce Concurrent Manager

7. Retest the issue

Reference: Doc ID 1512691.1

Monday, April 07, 2014

Find out APPS/SYSADMIN password in Oracle Apps R12 if you lost or forgotten

Step to Find APPS PASSWORD :

Step #1

sqlplus> sqlplus system/system_password
sqlplus / as sysdba

Step#2:  Create Function to decrypt the encrypted password

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';
/
Function created.

Step#3: Query for password

set linesize 200 long 300

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

ENCRYPTED_FOUNDATION_PASSWORD
--------------------------------------------------------------------------------
ZG379C5C883FF56235BE975D075A6FD2E7A749279B7BFCE331530B443E86F41A1966E3E4B1864519DB88BC07D58666AD837B

Step#4:  Get the Apps password using encrypted guest password

SQL> SELECT apps.decrypt_pin_func('GUEST/ORACLE','ZG379C5C883FF56235BE975D075A6FD2E7A749279B7BFCE331530B443E86F41A1966E3E4B1864519DB88BC07D58666AD837B') from dual;

APPS.DECRYPT_PIN_FUNC('GUEST/ORACLE','ZG379C5C883FF56235BE975D075A6FD2E7A749279B
--------------------------------------------------------------------------------
APPS123

Step#5: Test apps password

SQL> conn apps/APPS123;
Connected.

Step to Find SYSADMIN PASSWORD :

Step# 1:

SQL> conn apps/APPS123;
Connected.

Step#2:

SQL> CREATE OR REPLACE PACKAGE get_pwd AS
FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
RETURN VARCHAR2;
END get_pwd;
Package created.

Step# 3:

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.

Step# 4:

SQL> SELECT usr.user_name,
       get_pwd.decrypt
  2    3            ((SELECT (SELECT get_pwd.decrypt
  4                                (fnd_web_sec.get_guest_username_pwd,
  5                                 usertable.encrypted_foundation_password
  6                                )
  7                        FROM DUAL) AS apps_password
  8                FROM fnd_user usertable
  9               WHERE usertable.user_name =
 10                        (SELECT SUBSTR
 11                                    (fnd_web_sec.get_guest_username_pwd,
 12                                     1,
 13                                       INSTR
 14                                            (fnd_web_sec.get_guest_username_p
 15                                             '/'
 16                                            )
 17                                     - 1
 18                                    )
 19                           FROM DUAL)),
 20             usr.encrypted_user_password) PASSWORD
  FROM fnd_user usr
 WHERE usr.user_name = '&USER_NAME';
Enter value for user_name: SYSADMIN
old  23:  WHERE usr.user_name = '&USER_NAME'
new  23:  WHERE usr.user_name = 'SYSADMIN'


USER_NAME                                     PASSWORD
------------------------                        -----------------
SYSADMIN                                        SYSADMIN123

Step#5 :  Bellow sql will help you to validate SYSADMIN Password

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

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

Tuesday, March 25, 2014

Unable to determine SMTP server to use: set FND_SMTP_HOST

Outpost Processor has encountered the below error.

This error can be found in OPP logs:
----------------------------------------
[GC 14000K->8905K(20284K), 0.0074280 secs]
ProcessorException: Unable to determine SMTP server to use: set FND_SMTP_HOST
        at oracle.apps.fnd.cp.opp.EmailDeliveryProcessor.deliver(EmailDeliveryProcessor.java:66)
        at oracle.apps.fnd.cp.opp.DeliveryProcessor.process(DeliveryProcessor.java:91)
        at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:176)
----------------------------------------

Solution:

1. Log into System Administrator responsibility.
2. Navigate to Profile - System.
3. Query up the %smtp% profiles.
4. Set the following profile values to the defined host and port:
FND:smtp Host (Hostname or IP)
FND:smtp Port (Default is 25)

Ref : R12: "PostProcessorException: Unable to determine SMTP server to use: set FND_SMTP_HOST" Error In OPP manager log file When Selecting Delivery Opts in FNDRSRUN to Send Email Notifications (Doc ID 1240768.1)

Monday, February 03, 2014

Dynamically create a SQL script to recompile all INVALID objects

Dynamically create a SQL script to recompile all INVALID objects


set feedback off
set verify off
set echo off
set pagesize 0
set heading off

spool compile_invalid_objects.sql
select  'alter ' ||
       decode(object_type, 'PACKAGE BODY', 'package', object_type) ||
       ' ' ||
       object_name||
       ' compile' ||
       decode(object_type, 'PACKAGE BODY', ' body;', ';')
from   dba_objects
where  status = 'INVALID'
/
spool off
set feedback on
set verify on
set heading on
set pagesize 40
@compile_invalid_objects

Oracle EBS integration with Oracle IDCS for SSO

Oracle EBS integration with Oracle IDCS for SSO Oracle EBS SSO? Why is it so important? Oracle E-Business Suite is a widely used application...