It has been more than two years since the last Developer 6i patchset 18 was certified with Oracle E-Business Suite Release 11i, and now, Developer 6i patchset 19 (6.0.8.28) is certified with Oracle Apps 11i. Actually, since we migrated from Jinitiator to Java JRE 1.6, we've encountered some frustrating mouse focus issues, I really hope they were fixed with this patch and won't appear after upgrade. Like with the last patch set, I'll bring you "step-by-step" upgrade instructions for linux deployments. *** All patches must be installed on all Application tier nodes
Related - Note 125767.1 - Upgrading Developer 6i with Oracle Applications 11i. You are welcome to leave a comment |
Sunday, August 24, 2008
Developer 6i Patch Set 19 upgrade with EBS 11i
Posted by Aviad at 10:26 PM 5 comments
Labels: Developer 6i, Patches, Upgrades
Thursday, May 29, 2008
FND_GLOBAL affected by New Global Performance Changes
After applying ATG Rollup 5 patch (and above) we discovered an issue with some of our custom developments. ORA-20001: Oracle error -20001: ORA-20001: Oracle error -4092: ORA-04092: cannot SET NLS in a trigger and this: ORA-20001: Oracle error -2074: ORA-02074: cannot SET NLS in a distributed transaction has been After some debug work we found that this issue happens when executing FND_GLOBAL.apps_initialize more than once within a trigger/via a db link in the same transaction. According to Note: 556391.1 - "ORA-02074: Cannot SET NLS in a Distributed Transaction" this issue cause by a new global performance changes. Oracle Development said: "Very sorry if the new global performance changes have exposed you to this error, but there is no way we can back out these changes. They are not only complex and wide spread but required to maintain functional performance levels. Using fnd_global to change user/resp context from a trigger is not only not supported it is ill advised." OK, So we had to find a workaround to this issues and we found two... I'll start with a sample of the new behavior of fnd_global to demonstrate the issue and the solutions/workarounds will come right after. SQL> create table test1 (a number, b number); SQL> insert into test1 (a) values (1001); SQL> insert into test1 (a) values (1002); SQL> commit; SQL> create or replace trigger test1_trg_bi SQL> select fnd_global.user_id from dual; SQL> update test1 set b=1101 where a=1001; SQL> select fnd_global.user_id from dual; SQL> update test1 set b=1102 where a=1002; update test1 set b=1102 where a=1002 ORA-20001: Oracle error -20001: ORA-20001: Oracle error -4092: ORA-04092: cannot SET NLS in a trigger As you can see, the second update failed because apps_initialize was executed for the second time in the same transaction. Now I'll show two ways to workaround this issue: 1) As suggested in Note: 556391.1 - "ORA-02074: Cannot SET NLS in a Distributed Transaction" a wrapper Concurrent Request which contain a call to the context set (apps_initialize) and afterwards submits the original request, is one possible solution. instead: create or replace trigger test1_trg_bi create the following trigger: create or replace trigger test1_trg_bi additionally - create a new plsql concurrent (WRAPPER_CONC) that contains the fnd_global.apps_initialize and submits the ORIGINAL_CONC concurrent request. This way, the apps_initialize statement executed in a separate transaction with no error. This is the preferred and recommended solution by Oracle. 2) The second solution is easier to implement, works fine but according to Note: 556391.1 is not supported since it contains calls to fnd_global within a database trigger. Anyway... The idea is to call the apps_initialize in an Autonomous Transaction procedure. Follow this sample: SQL> create or replace procedure test1_apps_init (p_user_id number) is Procedure created SQL> create or replace trigger test1_trg_bi Trigger created SQL> select fnd_global.user_id from dual; SQL> update test1 set b=1101 where a=1001; SQL> select fnd_global.user_id from dual; SQL> update test1 set b=1102 where a=1002; SQL> select fnd_global.user_id from dual; As you can see, the update statements were executed successfully this time and the session was updated with the appropriate user context in each update statement. Those two solutions are working fine, but keep in mind that the second is not supported. You are welcome to leave a comment. Aviad |
Posted by Aviad at 12:59 PM 8 comments
Labels: AOL, Patches, Troubleshooting
Friday, March 7, 2008
Upgrade from Jinitiator 1.3 to Java Plugin 1.6.0.x
Lately Oracle announced the end of Error Correction Support for Jinitiator 1.3 for E-Business Suite 11i, effective July 2009. This is the sign it’s about time to upgrade to the native Java Plug-in… :-) Among other things, one of the main advantages of upgrading from Jinitiator to the native Java Plug-in is the prevention of conflicts between them. This upgrade is great news to all are working with Oracle Discoverer Plus (with Java plug-in) and Oracle EBS 11i (with Jinitiator) and experiencing those conflicts. I’ll skip all the others advantages and disadvantages of upgrading to Java Plug-in as they are well described in Steven Chan’s post - Jinitiator 1.1.8 To Be Desupported for Apps 11i and in Metalink Note: 290807.1 - Upgrading Sun JRE with Oracle Applications 11i. So I will focus on the upgrade process itself - step by step. I tested the upgrade on the following test environment:
Be aware that before upgrading to Java Plug-in you must upgrade to Developer 6i patchset 18 or later (currently the latest patchset is 19). * You can use my previous post in order to Upgrading Developer 6i with Oracle Apps 11i to patchset 18.
For those who worry about performance, take a look at this benchmark: For more information - Note: 290807.1 - Upgrading Sun JRE with Oracle Applications 11i Aviad |
Posted by Aviad at 1:51 PM 11 comments
Labels: Developer 6i, Patches, Upgrades
Monday, February 4, 2008
UTL_FILE_DIR issue after applying patch 5985992 'TXK AUTOCONFIG RUP Q'
Do you have more than 240 characters in your utl_file_dir? if so, you should read this before applying patch 5985992 'TXK AUTOCONFIG RUP Q (Jul/Aug 2007)'. After applying this patch, AutoConfig on database tier failed with the following error: [PROFILE PHASE] AutoConfig is exiting with status 1 It wasn't clear why afdbprf.sh failed so I ran it manually from ssh terminal and I got this: afdbprf.sh started at Tue Jan 29 17:43:21 IST 2008 The environment settings are as follows ... ORACLE_HOME : .... Application Id : 0 Looking into afdbprf.sql (executed by afdbprf.sh) reveals the problem: ....... --Setting BIS_DEBUG_LOG_DIRECTORY -- This profile option was earlier set in addbprf.sql via bug 2843457, Now moved here for bug 5722442 In order to fix bug 5722442, the UTL_FILE_LOG updated with the value of s_db_util_filedir from the database context file and a new bug was created (not a bug according to Bug 6404909). If the s_db_util_filedir contains more than 240 characters it can't be stored in a profile since the PROFILE_OPTION_VALUE column defined as varchar2(240). The s_db_util_filedir initialized when creating the database context file by adbldxml.pl, and set up with the value of utl_file_dir database parameter. I'm not sure why it should be updated with all directories within utl_file_dir and not with the relevant directories only...?! The solution according to Note:458511.1 - "After patch 5985992 AutoConfig On Database Tier Fails with script afdbprf.sh" is to change the value of s_db_util_filedir in the database context file to a value less the 240 characters and run AutoConfig again. And it works, of course... What should I do if I my utl_file_dir contains more than 240 characters?! Actually I don't have a good answer to this question but I will try to locate all the places on which this issue might affect when s_db_util_filedir will be updated with a value less than 240 chars.
You are welcome to leave a comment or update with additional information regarding this issue. Aviad |
Posted by Aviad at 5:10 PM 2 comments
Labels: AutoConfig, Patches, Troubleshooting
Monday, October 22, 2007
How to get details about patch applied in Oracle Applications by OAM & SQL?
Posted by Aviad at 4:12 PM 7 comments
Labels: OAM, Patches, Sql scripts
Thursday, August 2, 2007
After ATG RUP 5 Concurrent Managers Fail to Start
Last week I have installed the ATG RUP 5 on my TEST environment. |
Posted by Aviad at 5:17 PM 9 comments
Labels: Patches
Sunday, July 22, 2007
ADPATCH with "options=prereq" - what really happens there?
With adpatch utility we have a possibility to ask for a prerequisite check prior to running patch driver files. |
Posted by Aviad at 11:27 AM 12 comments
Labels: Patches

