Sean's Oracle Share

March 3, 2010

Failing to install the Jan2010 CPU using OEM on Windows

Filed under: CPU,OEM,opatch — Sean Molloy @ 4:37 am

 

  Problem:
Attempting to install the Jan2010 using OEM but failing

  Environment:
Oracle 11g r1
Win 7 64 bit

  Investigation:

The log file is reporting:
———————————————————————
Running prerequisite checks…
Prerequisite check “CheckActiveFilesAndExecutables” failed.
The details are:
Following files are active :
C:\app\sean\product\11.1.0\db_1\bin\oraclient11.dll
C:\app\sean\product\11.1.0\db_1\bin\orageneric11.dll
C:\app\sean\product\11.1.0\db_1\bin\oracommon11.dll
C:\app\sean\product\11.1.0\db_1\bin\orapls11.dll
C:\app\sean\product\11.1.0\db_1\bin\orahasgen11.dll
C:\app\sean\product\11.1.0\db_1\bin\oraocr11.dll
C:\app\sean\product\11.1.0\db_1\bin\oran11.dll
C:\app\sean\product\11.1.0\db_1\bin\oranro11.dll
C:\app\sean\product\11.1.0\db_1\bin\orantcp11.dll
C:\app\sean\product\11.1.0\db_1\bin\oraxml11.dll
C:\app\sean\product\11.1.0\db_1\bin\oracore11.dll
C:\app\sean\product\11.1.0\db_1\bin\orannzsbb11.dll
C:\app\sean\product\11.1.0\db_1\bin\orasql11.dll
C:\app\sean\product\11.1.0\db_1\bin\nmo.exe
C:\app\sean\product\11.1.0\db_1\bin\oranls11.dll
C:\app\sean\product\11.1.0\db_1\bin\oraunls11.dll
ApplySession failed during prerequisite checks: Prerequisite check “CheckActiveFilesAndExecutables” failed.
System intact, OPatch will not attempt to restore the system

OPatch failed with error code = 74
—————————————————————————-
Note: 15 dlls and nmo.exe above.

I used Process Explorer to see which process was using the Dlls.  http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

A process named “wmiprvse.exe” had the dlls open.

From http://en.wikipedia.org/wiki/Windows_Management_Instrumentation :
  ”  The purpose of WMI is to define a non-proprietary set of environment-independent specifications which allow management information to be shared between management applications. “

From some scattered references on Metalink, it seems that Oracle does interact with WMI on windows.

For my second attempt, I could have turned off the “Windows Management Instrumentation” service. As I was testing on my own machine, I decided to kill the wmiprvse process which had the Dlls open.

The second attempt again using OEM failed as the nmo.exe process was locked and this again caused the “CheckActiveFilesAndExecutables” failure.

This time I tried an old win3.1 trick. I renamed nmo.exe to nmo.exe_dis. So nmo.exe could be replaced.

The third attempt using OEM failed. OEM did not get as far as checking for pre-requisites. It seems that OEM needed the nmo.exe executable file.
nmo.exe seems to be Oracle Network Manager Objects. This is part of the Oracle networking stack

I read a post on otn which said that Oracle had not guaranteed that OEM could install all patch sets. Some CPU (Critical Patch Update) would need to be installed via opatch. Unfortunately I did not save the url.

Attempt four used opatch. I shutdown the oracle related services. The attempt failed again for “CheckActiveFilesAndExecutables”. This time, onmly the dlls were listed (not nmo.exe).

So attempt five using opatch involved killing the wmiprvse.exe which was locking the DLLs and it did work. The CPU (Critical Patch Update) was installed.

The Readme for the Jan2010 CPU descibes installing using opatch. I did not see any reference to using OEM. I decided to try OEM just as an exercise. I am impressed with the way OEM shutdown the dtabase and services during my attempts.
    My Learnings:

 1. OEM cannot install all CPUs (Critical Patch Update). Sometimes opatch needs to be invoked at the command-line to get around nmo.exe being active.
 2. WMI impacts by loadings some of the oracle dlls. I have not seen any instructions about how to avoid this. Shutting down the “Windows Management Instrumentation” service for the duration of the install would probably work.

Note all of the above was tested on my test installation. If it was my employer’s database, the a lot more care would be applied.

The Rubric Theme. Create a free website or blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.