Irrelevant thoughts of an oracle DBA

19 January 2009

Silent upgrade troubles

Filed under: bugs,infrastructure,upgrades / migrations — dhoogfr @ 1:08

Last week I was asked to write a little script to automate an upgrade of oracle client to
Reason for this was that we needed to update arround 1.300 clients to enable them to connect to a 10g database (we couldn’t install 10g clients because of other applications restricted the client version to 9i).

Ok, easy enough. Oracle allows you to automate installations and upgrades via response files and the response file for a client upgrade from to is very simple.
When I started testing the upgrade, I immediately spotted a first problem. The setup.exe (it was on windows xp) started a new console and then returned directly to the prompt in the original console. This would make it impossible to check the return codes to know if a upgrade was successful or not.

The upgrade itself finished without a problem, but at the end the following message appeared in the newly started console: “Press enter to exit”.
Huh!? This was supposed to be a “silent” install, meaning no interraction needed. But here it was, asking to press enter to exit.
And the documentation was not telling anything about it.
After some searching, I found that you can specify the “-noconsole” flag when starting the setup, which would surpress the new console and avoid the question to press enter.
You still would see the question in the logfiles, but the installation presumed you responded to it and finishes the upgrade.

This left me with the first problem: the prompt would still directly return while the upgrade was running in the background.
After some searching in the documentation I found a note stating that you need to modify the oraparam.ini file and change the BOOTSTRAP parameter from TRUE to FALSE.
Unfortunately this did not help. Yelling at it did either.

Then I found that in 10g, you had a “-waitforcompletion” flag you could set, that would do exactly what I needed. So I tried if it would work for the oui shipped in the patchset.
At first, it didn’t, but then I found metalink note 293044.1 that said that the setup.exe in Disk1 and Disk1/install where not the same and that the one in Disk1/install should be used for the “-waitforcompletion” flag.
At last it worked.

For those interested, here is the full command I used to start the silent upgrade:

start /wait C:\oracle\patches\\Disk1\install\setup.exe -silent -noconsole -waitforcompletion -responsefile c:\oracle\patches\\patchset.rsp -paramfile c:\oracle\patches\\oraparam.ini


Thanks to Geert for the yelling link :)

About these ads


  1. Thx alot for this. I myself had this exact problem.

    I can tell you that the -noconsole flag is not necessary only the -waitforcompletion. The console is quite useful while doing a silent install as it shows how far the installation has progressed.

    My version was oracle11g

    Comment by Jesper K — 5 October 2009 @ 14:14 | Reply

  2. Hi,

    Interesting posting. Thanks a lot for sharing same problem with solution “-waitforcompletion” parameter in silent install.

    Comment by dbametrix — 22 October 2009 @ 21:22 | Reply

  3. woohoo -waitforcompletion !!! this is what I was looking for! BTW instead of using the -noconsole parameter, you could use the -nowait parameter so the user is not asked to press the enter key before exiting.

    Comment by antize — 3 March 2010 @ 6:22 | Reply

  4. Thanks a lot I will try it now

    Comment by davidsuarez — 22 April 2010 @ 11:11 | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

The Rubric Theme. Blog at


Get every new post delivered to your Inbox.

%d bloggers like this: