Updating the Context File

It’s been a little while since I’ve posted… one of the things that I’ve been playing with lately is the E-Business Suite R12.2.10 VISION Appliance. For those that don’t know, you can download an actual Oracle VirtualBox VM image from E-Delivery with EBS R12.2.10 VISION, a 19c Database, and a configured operating system… See MOS 2717713.1 for the details.

Anyway, I was looking at this image and found a bit of code that they’re using to make changes to values in the context file. I’ve put it together in a simple script here:

export CTXFILE=${1}
export DTTM=`date +%Y%m%d-%H%M`



echo -e "\nSetting ${TOKEN} to ${VALUE}\n"

${COMMON_TOP}/util/jdk32/jre/bin/java \
-classpath ${COMMON_TOP}/java/classes:${EBS_ORACLE_HOME}/shared-libs/ebs-appsborg/WEB-INF/lib/ebsAppsborgManifest.jar  \
oracle.apps.ad.context.UpdateContext ${CTXFILE} ${TOKEN} ${VALUE}


export TOKEN=s_dbSid

#  Show before/after

The first argument is the context file you want to edit.

The second argument is the token you want to update (“s_dbSid”, for example)

The third is the value you want to assign that token (“TEST”, for example).

Minimal Installation of Oracle Enterprise Linux 7 on VirtualBox

This instructional video covers the installation of Oracle Enterprise Linux 7 on a VirtualBox VM.


We will use this installation as a starting point for future videos including: Installation of Oracle Server 19c, Installation of Oracle E-Business Suite 12.2.9, and others.

During the video, I deploy a quick script to list the packages installed. That script is available below:

rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"

Passing Variables to EBS Start Scripts (without having them show up in the environment)

In earlier releases of Oracle E-Business Suite, many of the standard startup/shutdown scripts would accept a password as a command-line argument.  This gave us the ability to automate and/or script certain maintenance tasks.

E-Business Suite R12.1.3

In E-Business Suite R12.1.3, for example, you could start the appsTier with the following:


./adstrtal.sh apps/${APPSPW}

E-Business Suite R12.2

When we get to E-Business Suite R12.2, the startup procedure is pretty much the same, but the command line arguments are no longer there.  To get around this, we’re told to pass things on the command line u sing the echo command.  Per MOS 1902776.1, the recommendation is:


{ echo "APPS" ; echo ${APPSPW} ; echo ${WLADMINPW} ; }|\
./adstrtal.sh @ -nopromptmsg

Although the command line is complicated, it works well. 

The Problem

However, the variables that are set will persist in the Unix environment of the adstrtal.sh script (and all processes that is spawns).

Test Script

So, to figure this out (and test our approaches), we have this simple test script:

echo -e "\n--------------------------------------------------\n"
echo -e "Variables:\n"
echo -e "\tAPPSPW:  ${APPSPW}"
echo -e "\tAPPSUN:  ${APPSUN}\n"

echo -e "Full ENV DUMP in /tmp/env.txt"
echo -e "Searching through /tmp/env.txt for APPSUN and APPSPW"
echo -e "\n--------------------------------------------------\n"
env >/tmp/env.txt

grep "APPSPW\|APPSUN" /tmp/env.txt
echo -e "\n--------------------------------------------------\n"

We can set these variables and run the script normally:

{ echo ${APPSUN} ; echo ${APPSPW} ; }|./test.sh



   APPSPW:  appspw
   APPSUN:  apps

Full ENV DUMP in /tmp/env.txt
Searching through /tmp/env.txt for APPSUN and APPSPW




As you can see, the ${APPSUN} and ${APPSPW} variables are in the text file.

However, when we run the script with a different command line, we get a different result.

{ echo ${APPSUN} ; echo ${APPSPW} ; }|env -u APPSPW bash ./test.sh



   APPSUN:  apps

Full ENV DUMP in /tmp/env.txt
Searching through /tmp/env.txt for APPSUN and APPSPW




The Solution

To get around that problem, we can actually DELETE the variables from the environment.


{ echo "APPS" ; echo ${APPSPW} ; echo ${WLADMINPW} ; }|\
 env -u APPSPW -u SYSTEMPW -U WLADMINPW bash ./adstrtal.sh @ -nopromptmsg

The command line is even uglier. We still have ${APPSPW}, ${SYSTEMPW}, and ${WLADMINPW} in our shell, but, those variables are not inherited by the running EBS processes.

A Lifeline for EBS Customers Still on RDBMS 11gR2 and 12cR1

Yesterday, the Oracle E-Business Suite Applications Technology Group made a couple of very significant announcements for E-Business Suite customers.

  • RDBMS 12cR1 ( Extended Support is available through July 31, 2022
  • The Extended Support fees have been waived for 12cR1 databases used for E-Business Suite through July 31, 2022.  [Previously, December 2020]
  • RDBMS 11gR2 ( Extended Support is available through December 31, 2020.
  • The Extended Support fees have been waived for 11gR2 databases used for E-Busines Suite through December 31, 2020.

The current certified versions of the Oracle RDBMS for use with E-Business Suite R12.1 and R12.2 include 11gR2, 12cR1, and 19c.

If you’re on 12cR1, you should upgrade to 19c as soon as reasonably possible.
If you’re on 11gR2, you too, should upgrade to 19c as soon as reasonably possible..  You could upgrade to, but you would be forcing yourself into another upgrade (to 19c) pretty soon.

The Oracle Server group has switched to a “yearly” release schedule.  So, sometime during 2020, there should be an “Oracle RDBMS 20c” and, sometime in 2021, we should expect an “Oracle RDBMS 21c”.

However, given that it takes a while to certify the database against E-Business Suite on the variety of platforms that are necessary, the E-Business Suite team has indicated their intention to certify on every other release.  Also important is that the certification for E-Business Suite tends to lag the database release by at least 6 months.  So, that means that the next certified release of the Oracle RDBMS for E-Business Suite should be RDBMS 21c and you might not see that certification until late in 2021.

So, if you choose to wait for the next release, you may find yourself praying for another extension… which is increasingly unlikely.

— James

Windows 10 and E-Business Suite

Tomorrow (July 29, 2015) we will see the release of Windows 10 into the wild.  PC’s all over the world that aren’t under “enterprise control” have been signing up to download the update through Microsoft’s “Windows Update” delivery mechanism and it is “going to drop” on July 29th, 2015.

For us (E-Business Suite DBAs) there should be at least some level of concern.

Because they are using this mechanism, this will likely be the largest mass deployment of software that anyone has witnessed.  Also, due to the delivery method, I would expect that Windows 10 uptake will significantly surpass any other Windows roll-out in history.

Remember, with previous Windows upgrades, you either had to go out and purchase the software or you got it when you acquired a new laptop.  This meant that, with few exceptions, those of us who have to deal with these changes at least had some breathing room before we really felt it.

Beginning tomorrow, however, anyone with a licensed copy of Windows 7 (SP1), Windows 8, or Windows 8.1, could potentially upgrade to Windows 10.  While this really isn’t a concern for most corporate PC’s (where software updates/upgrades are managed by the centralized IT department), if you’re on a project where users and/or consultants have “unmanaged” PCs, you could encounter some questions.

The first thing you need to know is that, of course, nothing about Windows 10 has been officially “certified” by anyone at Oracle yet.  So, you could always stand behind that statement.  And, certainly, if your IT department is even considering rolling out Windows 10 to anyone, they should wait until that certification information is released.

Now, for those of you who are just wondering, does it even work?  The answer is, yes, it appears to… but there are a few things you should know.

First, Windows 10 ships with a new minimalistic browser called “Microsoft Edge” (also known as “Project Spartan”).  The browser works pretty well and the interface is clean, which is nice.  But, Microsoft Edge doesn’t support plug-ins (specifically, it no longer supports Active-X).   This means that you will be unable to launch Java from the Edge browser which, in turn, means that you won’t be able to launch Oracle Forms from within E-Business Suite.

But, never fear.  Windows 10 also ships with Internet Explorer 11, which is certified in many E-Business Suite configurations.  I performed some rather limited testing (log into R12.1.3, launch forms, basic navigation) using a recent pre-release version of Windows 10 (x86-64, build 10301) and Java JRE 1.8.0_51 (32-bit) and everything appears to function without much issue.  Obviously, this was far from a complete test and I wouldn’t go into production with it.  Fortunately, since Oracle has already certified Internet Explorer 11 on Windows 7 and 8.1 (notably, not Windows 8) with EBS, I doubt that certification for IE11+EBS+Windows 10 will find too many problems.

So, the long and short of it is, should you encounter that Windows 10 early adopter, they should have some luck using Internet Explorer 11 (assuming that you’re patched up to support it per MOS 389422.1, of course).    Of course, should the user be technically inclined and still want to remain an early adopter, I strongly recommend running an older version of Windows (Windows XP or Windows 7) in a VirtualBox VM.   It’s a great way to be current and still be able to use some of the really old tools.  (Workflow Builder, anyone?)

— James

E-Business Suite 12.1 is now Certified on OEL7 and RHEL7

New this week from Steven Chan’s blog:


One thing that Steven’s blog posting mentions that deserves specific emphasis is that Oracle Database and are ALSO certified on OEL7/RHEL7 [see MOS 1304727.1].  Please note that the certification is specific to the version of the database.  Most notably that and appear to be excluded from this certification.  As always, be sure to pay close attention to the certification status of your various components when planning any installation/upgrade.

It’s also important to note that, while there is a 32-bit version of RHEL6 (and E-Business Suite 12.1.3 is certified on it), there isn’t a 32-bit version of RHEL7.  This is important and, at the same time, it isn’t.  First of all, it’s highly unlikely that anyone is still using 32-bit hardware.  (Or that they ever were, for E-Business Suite on Linux).  Yes, it’s true that the appsTier components of E-Business Suite 12.1 are still 32-bit, running them on a 64-bit Linux requires only minor adjustments.  The bulk of which involve dependencies on kernel settings and Linux packages.

So, with all of this out there… Go forth and upgrade!

— James

Re-thinking IT Paradigms

I have been working on some projects recently where there is a heavy dependency on virtualization.  It works very well and there are certainly advantages.  You can resize things with minimal effort and there is even a level of redundancy built in.  Every instance can have it’s own virtual host (no more stacking multiple E-Business Suite instances on a single box!).  Of course, one downside is that the “old way” of stacking multiple environments on a single box was somewhat self limiting.  With virtualization, it requires more discipline to prevent “instance creep” (where everybody must have their own private instance) on a project.

But, some of this has me wondering.  Manageability benefits aside, the primary selling point behind virtualization is “more efficient use of hardware”. 

When we’re sizing a system using traditional hardware, we size it for the busiest day of the year and then add some fudge factor to account for anticipated growth.  The end result is that you have a system which is running at 30-40% CPU utilization and maybe 50-60% memory utilization most of the time.  Business views this as waste. 

The solution being sold to solve this problem is virtualization.  You can have virtual machines that are sized smaller and dynamically scale to account for growth or those busy days.  The basic thought is that some systems need more CPU/memory today while others will need more tomorrow.  The end result being that you need (theoretically) fewer CPUs (which will operate closer to 100% utilization) and less RAM as an aggregate across your enterprise.

This is all predicated on an assumption that I am beginning to think is either flawed or has simply changed.  The assumption in question is that “hardware is expensive and must be used efficiently”.

The truth is, hardware costs continue to fall even as compute power increases.  Moore’s Law is very much alive.

Contrast this with the proposed solution:  large scale engineered systems (we’re using a vBlock from VCE on this project) at extremely high cost.  These systems introduce their own management challenges, licensing and personnel costs, licensing challenges (we’re in an Oracle world, remember?), and even technology challenges.  How much is it going to cost to upgrade these systems when they become old and slow?  (Moore’s Law strikes again).

So, to me, this begs the question.  Which is more expensive?  Individual servers with “wasted” capacity?  Or the solution we’re deploying to solve that “problem”?

— James

See me at Oracle OpenWorld

Oracle OpenWorld 2013 starts on Sunday, 22 September and runs through Thursday 26 September, 2013. This will be my first time presenting at an OpenWorld conference (I’ve presented numerous times at Collaborate and other OAUG-related events). I’m looking forward to meeting you!

E-Business Suite DBA Best Practices (CON4733)
Moscone West Room #3016
Thursday, 26 September 2:00PM – 3:00PM

And, while you’re there, stop by the Atherio/RedRiver Solutions booth #122 in Moscone South. I’ll be hanging out there from time to time as well! Enjoy the conference!

Oracle Database 12c Launch Webcast

In my post yesterday, I indicated that Oracle Database 12c ( was available for download on Oracle’s E-delivery and TechNet websites, but that it still hadn’t officially been “launched”.  The official “product launch” take place on July 10, 2013.  You can RSVP for the launch webcast through the link below:

Launch Webcast:  http://tinyurl.com/ow28hr2

Yesterday’s Blog post:  http://thedbalife.blogspot.com/2013/06/oracle-database-12c-is-available-for.html

— James