Revisiting Magical Ingredient EBR in Oracle E-Business Suite R12.4

As Oracle EBS R12.2 just become a GA, an interesting metaphor is reducing downtime for planned software maintenance. As enough said on ADOP here and elsewhere, there is less information on the revolutionary 11gR2 database feature Edition-Based Redefinition, which is essential to ADOP.

If you are an Oracle E-Business Suite customer, multi-tier patching is inevitable. EBS R12.2’s ADOP is certainly a revolutionary feature that comprehensively provides minimal definable downtime.  Complexity in R12.2’s ADOP feature resides in the database. Magical ingredient here is Edition-Based Redefinition (EBR) feature within the database.

Lets briefly dig into the recent evolution of minimizing downtime features in Oracle database and more. Over the years, Oracle database team has developed several key capabilities such as online index rebuild, non-blocking nature of ALTER TABLE DDLs, eliminating object invalidations due to logical changes, that continue to reduce downtime along with costly endeavors such as schema clones and log-based replication, still you are left with noticeable downtimes. That changes with EBR, which provides three features such as edition, edition view and crossedition trigger that helps online application patching and upgrades. Lets take a look at these three features in detail.

Edition: Edition’s principal objective is to provide isolation mechanism and is considered as a non-schema object type.  It permits same object to occur multiple times in same database yet maintain unalike or different editions. Furthermore, all the database objects fall under two types of editions such as editionable and non-editionable types.

whats editionable object type:  Code type objects such as PL/SQL, views, types, synonyms, triggers and editioning views supports edition. Nonetheless, it prevents changes in one edition of the object to impact other editions of same object. Especially in ADOP where the instance has to maintain multiple copies of the code objects, edition feature come in handy to accomplish the online patching capability.

Whats non-editionable object type: So what about storage objects? Will that provide any editioning? Short answer is no. Here are the details. Storage objects such as tables, indexes, materialized views and also sequences do not support editioning and are categorized as non-editionable types.

Editioning View:

In edition world, there is a potential to have multiple editioned table data. With editioning view capabilities, it’s truly possible. Editioning view allows several versions of table’s data by logical representations, where a physical table cannot be editioned. In other words, a table can store data related to multiple editions but its the editioning view that provides the accurate subsection of data from underlying table.

On a side note, Oracle highly recommends that in preparation for R12.2, its vital to not to have any of your customizations refer to base tables directly as EBS data model now provides a cover layer via editioning views. It is extremely important that you refer the cover layer to access EBS data model instead of physical layer to prevent any integrity issues. The reason behind this requirement is to prevent any code accessing outdated columns in physical layer. In R12.2 world, Oracle strongly recommends that all code should access the data model only via apps synonym as it internally points to editioning view. Nonetheless, editioning views allow triggers to be defined on them along with hint reference.

Crossedition Trigger

Oracle 11gR2introduced a special kind of editionable object type trigger called crossedition trigger. Lets assume the patch process need to change the structure of an OLTP table. ADOP to work properly a mechanism that can keep up the pace with changes that user makes to the pre-patch state of the data yet transform the data into postpatch state. Pre-patch will continue to see the running edition of the table while the post-patch would see the new structure. This is possible due to crossedition trigger that uses advanced synchronization mechanism to ensure the values of the pre-patch transactional data is in sync with what could be post-patch transactional data inspite of structural changes to the table.

Within crossedition trigger, Oracle introduced two types of triggers that are forward corssedition trigger and reverse crossedition trigger.

Simply put, forward Crossedition trigger is instrumental for bringing the pre-patch column values to the post-patch values and reverse Crossedition trigger exactly does the contrary.

EBR re-definition lifecycle in ADOP process would have similar pattern

  • Virgin state of the database will have only one edition, prepatch
  • During the patching process, the database will have two editions called prepatch and its child edition called postpatch.
  • When you have successfully executed the ‘cutover’ stage of the ADOP cycle which is at the stage where you no longer need prepatch edition, it will be retired and postpatch will now become parent edition and thus will have one edition.


MOS: Example of Edition-Based Redefinition using Cross-Edition Triggers [ID 845667.1]

Oracle E-Business Suite Release 12.2 Information Center – Implement (Doc ID 1583153.1)

Using the Online Patching Readiness Report in Oracle E-Business Suite Release 12.2 (Doc ID 1531121.1)


ora-20001 The LDAP APPS DN ldap password has expired when creating oracle accounts in EBS .

Tip of the week

Issue: ora-20001 The LDAP APPS DN ldap wrapper error message when trying to create oracle accounts in EBS R12.1.3 integrated with IDM 11g.

Solution: you can reset the password using the following command. But you need to get the DN and APPS_DN password.

  1. To get DN, run the following from the apps user in EBS node

SQL> select fnd_preference.get(‘#INTERNAL’, ‘LDAP_SYNCH’,’USERNAME’) Apps_Instance_OID_Account from dual;

  1. Get current password for appsDN user:

SQL> select fnd_preference.eget(‘#INTERNAL’, ‘LDAP_SYNCH’,’EPWD’,’LDAP_PWD’) Apps_Password from dual;


  1. Run the following command.

$ORACLE_HOME/bin/ldapmodify -h <oid_host> -p <oid_port> -D cn=orcladmin -w <passwd> -v <<EOF
dn: orclapplicationcommonname=prd1, cn=ebusiness,cn=products,cn=oraclecontext,cn=ddi,cn=net
changetype: modify
replace: userpassword
userpassword: <existing_APPS_DN_password>

4. Redo the “ldapbind” test and ensure that it is successful.

PS: You can do this while all the services are up and running.

Reference docs: How To Change AppsDN Password For E-Business Suite In OID 11g (Doc ID 1902514.1)


TIp of the week: Got IE 11 for EBS?

As many organizations gearing up for Internet explorer 11, where do Oracle stand on certifying it for Oracle E-Business Suite?

Look no further than Steven Chan’s latest post here

Alternatively access the URL below

In short, its not yet certified 🙂


Its official. Oracle Releases E-Business Suite R12.2

Long wait is finally over. Oracle just released E-Business Suite R12.2 (General Release). This release signifies  Online Patching and Enhancements Across Integrated Suite of Business Applications. For further details please refer to the official press release below.

Useful R12.2 links





Useful notes
Oracle E-Business Suite Release 12.2 Information Center – Implement (Doc ID 1583153.1)

Using the Online Patching Readiness Report in Oracle E-Business Suite Release 12.2 (Doc ID 1531121.1)

Using the Online Patching Readiness Report in Oracle E-Business Suite Release 12.2 (Doc ID 1531121.1)

Attending Oracle Open World? What to expect?

Well its that time of the year and that type of blog post. Its imperative to get pumped up on Oracle Open World 2013.  So where would be the focus? Like last year, propaganda on Cloud is inevitable and that has created even more buzz with Oracle’s strategic partnership with  Big data & Analytics, 12c Database with Oracle’s Mobile strategy are few more that can generate ample curiosity among attendees.  So how about Engineered Systems? Of course. Especially when Oracle’s mid-market penetration strategies allow to come up with ¼ rack size for ES, which in turn triggers attractive entry points. Don’t know why I think about BMW’s 1-series here 😉 If you work directly with any of your Oracle accounts team members, they will highly ‘recommend or encourage’ you to attend ES sessions.

By the way, how many of you thought Oracle and Microsoft never get along. Well you might be right for several years and now that phenomenon has changed. “Microsoft and Oracle: Partners in the enterprise cloud”.  That’s one of the key note topics from Brad Anderson, Corporate Vice President,Microsoft. Yet another reason for OOW’s Cloud mantra.

Anyways, here are few tracks that you can get a glimpse on. Honestly, I find quite a few sessions that elicit significant interest in me.

Oracle database

Oracle EBS Tools & Technology

Oracle Mobile

Oracle EBS Management

Fusion Apps

Business Analytics

Useful links

Schedule Builder

High level Agenda


How to reset Weblogic password in Fusion Middleware Environment

As weblogic being core to Oracle’s Fusion Middleware product suite, we tend to get into embarrassing situations such as losing weblogic password 🙂

If it happens to you, below post should help you to reset the password.

NOTE: Take a backup of entire domain completely before making any changes.

1.- Take the back of the LDAP folder of the admin server as well as managed server (you may rename those folders) and then delete the actual LDAP folder (found at <Domain_Home>\servers\<MyServer>\data\ldap).

2. Make sure WebLogic instance is down.

3. Set your environment variables using setDomainEnv.cmd

4. cd to security directory in your instance.
(eg: $WL_HOME/user_projects/domains/base_domain/security)

5. Run:
java admin_user admin_pass .

Remember to change “admin_user” and “admin_pass” to your required username and password.
Also, don’t forget the period “.” at the end of the above command, it is required.

6. After running the command, the file “DefaultAuthenticatorInit.ldift” will get updated.

7. Delete the following file from “ldap” folder:

cd WL_HOME/user_projects/domains/base_domain/servers/AdminServer/data/ldap
rm DefaultAuthenticatormyrealmInit.initialized

8. Go to folder DOMAIN_HOME/servers/AdminServer/security

9. Edit the file and change the password to the value already used on step 5. Do this for all the servers in the domain.

10. Start Weblogic Server (Weblogic Server will encrypt the password for you)

Oracle E-Business Suite – Tip of the week

Tip of the week:

As simplified Chinese is becoming one of the widely used languages in Oracle E-Business Suite environments, a few notable issues are inevitable. Below issue is one to notice.

Problem: Running standard reports in EBS application (not specific to any product) in Chinese, returns inverse ? “COMPANY ¿¿: 48 ¿ 48”


  1. Set profile option “NATIVE CLIENT ENCODING” to UTF8 or AL32UTF8.
  2. Restarted the services after the profile change.
  3. Retest the issue.

Useful MOS notes:

The correct NLS_LANG setting in Unix Environments (Doc ID 264157.1)

Recommended Set Up for Client/Server Products with Oracle E-Business Suite 11i & R12 [ID 277535.1]

%d bloggers like this: