Kevin Kempf's Blog

January 20, 2011

January, 2011 Critical Patch Update is out

Filed under: Security — kkempf @ 11:30 am


The January 2011 CPU came out.  For those of us on 11i who diligently apply these things, it means burning a day to dissect what is available, needed, and worthwhile.

First, the good news

On the Apps side, the 11i/ work is finally down to 1 (one!) patch to apply: 10258309 Ironic, that it takes the product going into extended support, before getting down to 1 patch.  Would have loved to have seen this for the past 5 years, but hey, it’s a step in the right direction.

Now comes the bad news… you do the math

Ah, the RDBMS.  After my most recent debacle with overlays, recommended patches, performance patches, and advanced compression patches, I’ve done the math.  For, I can either

a) Apply the CPU only (10249534)

b) Blindly trust Oracle to decide what’s best for me and apply the PSU (10248531), 5 overlay patches (see Note 1147107.1), and then double check and see what patches were knocked out as a result.

Hmm… let me think about it.  11i is in extended support.  My database is running fine.  I’m not looking for anything but a stable ship right now, while we try to figure out how or why to upgrade to R12.  I’ll choose door #1, thanks for playing!

A Rant About Patching EM 11g

So I pulled all the patches I could for EM 11g; this included the obvious (RDBMS patch), the EM Agent (OPatch), the OMS Home (OPatch).  No problem, these applied without incident.  OPatch is a pretty well oiled tool at this point.

Next: a lot of conFusion about my WLS 10.3.2 home.  According to the CPU note (1263333.1), I’m supposed to apply patch MOS: 9893328, or MOS: 9893736.  Not sure what the or is all about, but I clicked through.  The patch is labeled for WLS release 10.3.3.    In fairness, the master note says “The WebLogic plug-ins include all cumulative bug fixes and thus include fixes for all previously released advisories. These plug-ins are compatible with all versions of WebLogic Server”.   In that case, why list versions on the master note? It’s just confusing!

No problem, I’ll pull the patch and see what’s up.  Here’s the entire readme for 9893328:

The Web Server plug-ins built at change number CL1338089

Supported configurations
The WebLogic webserver plugins are common to all versions of WebLogic servers. 
For specific supported configurations, refer to the Weblogic server documentation.

Upgrade instructions.
- Save a back-up copy of your existing plug-in module.
- replace the plug-in module with the one found in this zip-file
- restart your web server.

WTF does that mean?  Replace what plug-in module?  I’m completely unfamiliar with patching Weblogic Server, a little help maybe?  Let me check the other side of this “or” patch equation.  Here’s the readme for 9893736:

 Oracle WebLogic Server Web Server Plugins 1.1 README

Zip file contents:

This zip distribution contains Oracle WebLogic Server Web Server Plugins 1.1 zip files for the platforms and web servers supported. For more information, please extract the appropriate zip file which has the README.txt file explaining the installation and configuration details.

For complete documentation, refer to the documentation steps listed below:

- Go to the Oracle Fusion Middleware 11g Release 1 (11.1.1) Documentation below:

- From here, navigate to the Oracle Fusion Middleware 11g Release 1 Patchset 2 ( documentation for "WebLogic Server" and then to "Using Web Server Plug-ins".

Seriously?  There’s no coherent, consistent or detailed message here, Oracle!  First I’m looking to patch WLS 10.3.2, and your patch says it’s for 10.3.3.  Then it says I can install one or the other (fielder’s choice?).  Then I pull the readme’s for a product I’m barely familiar with and they don’t tell me squat.  In fact, they reference FMW 11.1.1 and FMW and I have no idea if your crazy versioning scheme means that’s WLS 10.3.2.

I can’t be certain if this is just growing pains (i.e., Oracle hasn’t ironed out a simple CPU application method to FMW/WLS), integration pains (Oracle hasn’t incorporated WLS into the “fold”) or what, but it can’t get worse, nor can it remain this bad.  I’ll skip applying this CPU to WLS, hoping it looks better next quarter.  Note 1263374.1 promises PSU’s “soon”: “Starting with Oracle WebLogic Server 10.3.4, Oracle will release WebLogic Server Patch Set Updates (PSUs). Details on the WebLogic Server PSU program will soon be available.”

January 19, 2011

Who is consuming my APPS_TS_MEDIA tablespace in FND_LOBS ?

Filed under: 11i — kkempf @ 10:51 am

Numbers don’t lie

Every quarter, I have a job which logs tablespace usage in my ERP.  It’s useful to look at growth trends and rates, and it has recently come to my attention that the fastest growing tablespace in my Production environment is APPS_TS_MEDIA.   In the past year, it’s grown 11gb.  This number may not seem like much, unless you consider a few things.  First, it’s growing as fast as my TX_INDEX and TX_DATA tablespaces.  Second, multiply 10gb by the number of instances you have.  In my case, with dataguard, that 10gb becomes 90gb.  Now add the disk overhead for storing 30 days worth of backups of that extra 10gb.   In short order, it becomes a concern.


Looking back at the past year, what has gone live to spark this 9000% growth in the tablespace?  iProcurement.  It turns out, everyone is attaching every .pdf quote and .doc to their purchase requistion.  Combine this with the continued pace of docs, xls and pdfs for the likes of product definition and order entry, and the growth is mostly accounted for.

Queries to glean insight into fnd_lobs

fnd_lobs isn’t an easy table to garner information from, but I was finally able to build a profile of what was in there using this query:

 ,to_char (fd.creation_date,'DD-MON-YYYY') file_date  
 ,round(dbms_lob.getlength(fl.file_data)/1024/1024,1) Size_Mb    
  fnd_documents fd  
 ,fnd_documents_tl fdt  
 ,fnd_lobs fl  
 ,fnd_user fu  
 ,per_people_x pp
  fd.document_id = fdt.document_id
  fdt.media_id = fl.file_id(+)
  fd.created_by = fu.user_id
  fu.employee_id = pp.person_id(+)
  round(dbms_lob.getlength(fl.file_data)/1024/1024,1) > 0 
order by   
  fd.creation_date desc

Where does this all take me?

Knowing what’s in fnd_lobs doesn’t exactly help me purge it.  Oracle has a few relevant hits such as a concurrent request called Purge Obsolete Generic File Manager Data.  Unfortunately, this request doesn’t do a thing for me.  More to follow on this subject.

January 18, 2011

Using screen to make your life easier on Linux

Filed under: Linux — kkempf @ 3:32 pm

An oldie, but a goodie

There’s nothing new about the steps outlined in this posting, but it’s so valuable, I thought I’d mention it.  It goes along with the classic mantra of work smarter, not harder.  In order to use it, you have to basically remember 3 things:

  • screen          to enable screen
  • screen -ls    to display available screens
  • screen -r      to reconnect to an existing screen

A typical maintenance scenario

I’m sitting at home, VPN’d into the office, trying to cram as many patches and maintenance pieces into a 4 hour windows as possible, once a month.  For the sake of a clear example, lets say I’m running adpatch via ssh, applying some 300mb fix to HR.  Suddenly the VPN connection hiccups (Windows 7!  never!) and no matter how many times I hit enter, the SSH session does nothing.  So where am I at?  Where’s my patch at?  Sort of an unknown.

Bring on screen

There’s a really simple solution to this if you’re running Linux.  Type screen before you start any work:


For demonstration purposes, a hard close

What screens are available on the host?

Assuming you’ve reconnected your ssh session, type screen -ls (fairly intuitive) and it will display your PID and a unique connection descriptor.  Use screen -r PID descriptor to reconnect to the existing session.

And finally, pick back up where you left off

January 13, 2011

No more OUI/GUI Agent install for 11.1 on Windows

Filed under: 11g, Enterprise Manager, Windows 2008 — kkempf @ 9:57 am

Oil and Water

Looks like a great Enterprise Solution!

Windows Server and Oracle databases go together like oil and water.  Everything about administering an Oracle database on Windows is annoying.  From the command line interface to starting services before I can start a database it fails in many ways.  Yet all of this is just my opinion.  What I found out yesterday is a new, substantial fact and a good reason to hate Windows even more.

Server 2008

We have a non-Oracle application which has an Oracle back end database.  It happens to be certified (only) on Windows.  It’s the only Windows RDBMS server I have to administer, so I suppose I should be grateful.  Still, as a result of an upgrade, we were able to move it to 64-bit Oracle 11.1 for Windows Server 2008.  All in all, it was a nice refresh/update of the technology stack as it had previously been running 32-bit Oracle 10.2 on Windows Server 2003.

Agent Woes

So I go to pull the 11.1 agent from OTN/Metalink/MOS/Oracle/World’s Slowest Support Site and am humored to find it’s now 500+ MB!  Seriously?  It’s an agent!  Back in the dark ages, under 9i, I swear they were like 40mb.    I put the thing in my $OH/sysman/agent_download/ directory, and sure enough, it shows up as an option under deployments in EM.  I go through the process outlined here to push the install, and it fails because SSH isn’t running on the Windows host.  Who runs SSH on Windows?  I know it’s technically possible, but seriously, who expects that?   Needless to say, I’m annoyed, but I’m not about to go try to get SSH running on a Windows server I don’t want to administer.  So I push the agent download .zip file to the host and run the installer (tried both setup.exe and installer.exe) only to get this error:


Time to contact support

I actually did try to create a response file and run it from the Win 2008 CLI.  It failed for an unknown reason, telling me to check the logs.  Of course, the logs weren’t in the directory I was in, and I was beyond annoyed at this point. Reluctantly, I opened an SR to see what I was doing wrong with the GUI install.  It turns out, nothing.  The analyst confirmed that in 11.1, the OUI/GUI installer has been removed.

One step forward, two steps back

Step back and ask yourself, is this a step forward?  Honestly, how many people run SSH on a Windows server?  My only other recourse is to mock up some cryptic response file (in Windows, no less, with notepad!) and then use a command line interface to manually install the agent (silently!).  Seriously, Oracle, this is just plain stupid.  There’s like 4 parameters required in the old GUI: where do you want to install it, what host and port is Grid Control installed on, and what’s the dbsnmp password?  Why not just leave this in the GUI?  Whoever made this call has obviously never worked in the real world.

My Solution

After berating the analyst, I installed the agent (via the OUI GUI) to monitor my 11.1 RDBMS.  Makes more sense than Oracle’s stance.

January 7, 2011

2010 in review

Filed under: Blog — kkempf @ 10:41 pm

I thought the blog review from WordPress was interesting.  Looks like I get about a post per week.

The stats helper monkeys at mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:

Healthy blog!

The Blog-Health-o-Meter™ reads Wow.

Crunchy numbers

Featured image

About 3 million people visit the Taj Mahal every year. This blog was viewed about 31,000 times in 2010. If it were the Taj Mahal, it would take about 4 days for that many people to see it.


In 2010, there were 51 new posts, growing the total archive of this blog to 125 posts. There were 216 pictures uploaded, taking up a total of 19mb. That’s about 4 pictures per week.

The busiest day of the year was November 15th with 223 views. The most popular post that day was Discoverer 11g Installation on 11i.

Where did they come from?

The top referring sites in 2010 were,,,, and

Some visitors came searching, mostly for 1980’s fashion, 1980s fashion, 1980 fashion, optimizer_features_enable, and frm-91126.

Attractions in 2010

These are the posts and pages that got the most views in 2010.


Discoverer 11g Installation on 11i June 2010


EM 11g Grid Control Install May 2010
22 comments and 1 Like on,


Fun with OPatch January 2010


Tethering a Blackberry 9630 via Bluetooth to Ubuntu Lucid Lynx (10.04) July 2010
1 comment


IE8, Windows 7, and 11i compatibility February 2010

Create a free website or blog at