Friday, January 19, 2007


I'm a big fan of what I call cookbooks. Cookbooks are step-by-step directions that if followed, will yield the desired result. In fact, most of my cookbooks are copy & past enabled so that you copy a command from the cookbook and paste it into your window to execute the command. I insist my people use these established methods where available and I get pretty ticked off when they waste a lot of time trying to figure out what has already been learned.

I've installed Oracle on Linux about 50 times over the past few months. After the second succesfull install, I created a cookbook for both 9i and 10g. If followed exactly, any DBA will be able to install Oracle correctly in my environment. I created the cookbook and I know it like the back of my hand. I don't need no stinkin cookbook and proceeded to do a fresh install of when the installer hangs at 18% linking naeet.o.

"Hmm, must be somthing wrong with Linux", I thought to myself.

I checked that the correct versions of gcc and g++ were in my path. I knew I set LD_ASSUME_KERNEL so I didn't have to check that. Then I looked at metlink and found a note that said my LD_ASSUME_KERNEL had to be 2.4.19, which I already knew I set, so that couldn't be it.

I poked around at some other things before going back to my cookbook.

Kernel parameters, check.

ORACLE_HOME set, check.

LD_ASSUME_KERNEL, I know I set that, skip it.

Correct version of gcc and g++, check.

Reran the installer and it hung again at 18%.

The only thing I didn't double check was LD_ASSUME_KERNEL. So I see what's in the environment variable, and lo and behold, it's not set. Seems I set LD_ASSUMEKERNEL instead of LD_ASSUME_KERNEL.

I've sent a stern email to myself about not following process. If I do it again, I'll be fired.

Powered by Zoundry


Noons said...

I wish I had a dollar for every time I've convinced myself, erroneously, that "I did check that"!

Joel Garry said...

Yep, four eyes just aren't enough :-)

I'd be interested in more details of your cookbooks. O installs are relatively straightforward, in the past I've had to do this with 3rd party apps and gotten bogged down in the various possibilities of what needs to be done on a reinstall...

Jeff Hunter said...

I'd be interested in more details of your cookbooks.
I have cookbooks for a bunch of stuff.

On the install side, we have standardized on two platforms; Solaris and most of the new stuff on Red Hat Linux 2.6 kernel. That way, I know that if I have the correct version of gcc, g++, and other various parameters, I know Oracle will install. In addition, I have checks at the end that my $OH/bin/oracle has the right libraries linked in. If the cookbook gets executed, I'll know what options will be installed and that Async I/O will be enabled.

I've got cookbooks for everything that I don't want to have to be involved in; recovery scenarios, adding reports to Oracle Applications, setting up standby dbs, etc.