Re: Copying an Oracle Software "Gold Image" without Cloning?

From: Mark Bobak <Mark.Bobak_at_proquest.com>
Date: Mon, 25 Nov 2013 19:26:37 +0000
Message-ID: <CEB90DA9.3B895%Mark.Bobak_at_ProQuest.com>



In addition to Jeremy’s comments, if you’re taking about installing Oracle client from an RPM you are the author of, but still need to be able to patch, I think that’s going to be a problem. Patching won’t work without a valid inventory, and the inventory writes the hostname all over it, so, it can’t just be installed from the RPM. If you want to install client from your custom RPM, then, part of that will need to be some fancy (and unsupported) inventory updates to fix the hostname that’s written into the inventory. Otherwise, you’d need to create/update the RPM, every time you want to install a patch.

-Mark

From: Jeremy Schneider <jeremy.schneider_at_ardentperf.com<mailto:jeremy.schneider_at_ardentperf.com>> Reply-To: "jeremy.schneider_at_ardentperf.com<mailto:jeremy.schneider_at_ardentperf.com>" <jeremy.schneider_at_ardentperf.com<mailto:jeremy.schneider_at_ardentperf.com>> Date: Monday, November 25, 2013 at 2:09 PM To: "hacketta_57_at_me.com<mailto:hacketta_57_at_me.com>" <hacketta_57_at_me.com<mailto:hacketta_57_at_me.com>> Cc: oracle-l digest users <oracle-l_at_freelists.org<mailto:oracle-l_at_freelists.org>> Subject: Re: Copying an Oracle Software "Gold Image" without Cloning?

I can't quite tell if you're talking about removing gcc from a client system or a server system.

On a client system, I don't remember for sure, but I didn't think the instant client needed to be linked. Seems to me you should be able to get by without gcc. Are you installing a full client in addition to the instant client?

On a server system, I don't think you can go without gcc. First off, as you yourself pointed out - some maintenance operations (like installing PSUs or CPUs) will require build tools to relink the binaries. Second, there are database features - such as PL/SQL native compilation - which actually use GCC to compile code on the fly. While your database may startup and probably won't crash if you remove gcc after install/clone, I suspect Oracle support would simply say that you're not running in a supported configuration if you run into problems.

Using clone.sh is the only official approach AFAIK for cloning servers. But I didn't think clone.sh actually ran a relink for non-RAC systems, though I might be wrong about that. You said that you were getting errors from clone.sh. (Are your errors from a prereq check? I think there's a way to skip those.)

If you do any more testing I'd be very interested to hear the outcomes. Lots of people on this list use gold-images (with clone.sh) quite extensively - myself included!

-Jeremy

--

http://about.me/jeremy_schneider

On Tue, Nov 19, 2013 at 2:38 PM, Austin Hackett <hacketta_57_at_me.com<mailto:hacketta_57_at_me.com>> wrote: Hi List

I was hoping to pick the brains of those who've had a similar challenge:

I've automated installation of the Oracle Client in my company via scripted cloning (unzip the software gold image, run the clone script in the unzipped home, and finally run root.sh). All the machines needing the client are RHEL 6.x x86-64bit, and a mixture of 11gR1 and 11g2 clients.

This works great for us.

However, our SAs now want to harden the OS build used for App Servers and the like by excluding tools like gcc. I tried our clone script on the hardened build and (as expected) the cloned home was non-functional (errors due to missing libs) and the oracle generated clone actions log reported errors that gcc could not be found.

The view of the SAs is that we ought to be creating an RPM of the Oracle Client that doesn't require the clone.pl<http://clone.pl> script, and thus gcc etc. I accept their point that if all OS build are identical it shouldn't really be necessary to relink the software and so on.

Initially I wondered if the Instant Client was the answer, but based on my reading of the docs, it seems to need all the same RPMs as the client.

Removing the RPMs of concern after the client install may be feasible, but we need to apply PSUs regularly, and perhaps some interims too. I believe opatch needs these RPMs, so re-installing and then uninstalling the RPMs at patching time is far from ideal.

All the examples I can find of copying an ORACLE_HOME use clone.pl<http://clone.pl>, including this blog post which uses a custom RPM: http://martincarstenbach.wordpress.com/2011/12/13/provision-oracle-rdbms-software-via-rpm

Assuming my gold image contains (in addition to the ORACLE_HOME) the inventory directory, oraInst.loc, /usr/local/bin/oraenv etc. AND that the source and target OS build are identical I can see this *should* work.

Is there anyone out there doing it this way? Does Oracle support doing it this way, or is clone.pl<http://clone.pl> the only officially mandated approach?

Thoughts from those with some time to spare would be much appreciated...

Thanks

Austin--
http://www.freelists.org/webpage/oracle-l

--

http://about.me/jeremy_schneider

On Tue, Nov 19, 2013 at 2:38 PM, Austin Hackett <hacketta_57_at_me.com<mailto:hacketta_57_at_me.com>> wrote: Hi List

I was hoping to pick the brains of those who've had a similar challenge:

I've automated installation of the Oracle Client in my company via scripted cloning (unzip the software gold image, run the clone script in the unzipped home, and finally run root.sh). All the machines needing the client are RHEL 6.x x86-64bit, and a mixture of 11gR1 and 11g2 clients.

This works great for us.

However, our SAs now want to harden the OS build used for App Servers and the like by excluding tools like gcc. I tried our clone script on the hardened build and (as expected) the cloned home was non-functional (errors due to missing libs) and the oracle generated clone actions log reported errors that gcc could not be found.

The view of the SAs is that we ought to be creating an RPM of the Oracle Client that doesn't require the clone.pl<http://clone.pl> script, and thus gcc etc. I accept their point that if all OS build are identical it shouldn't really be necessary to relink the software and so on.

Initially I wondered if the Instant Client was the answer, but based on my reading of the docs, it seems to need all the same RPMs as the client.

Removing the RPMs of concern after the client install may be feasible, but we need to apply PSUs regularly, and perhaps some interims too. I believe opatch needs these RPMs, so re-installing and then uninstalling the RPMs at patching time is far from ideal.

All the examples I can find of copying an ORACLE_HOME use clone.pl<http://clone.pl>, including this blog post which uses a custom RPM: http://martincarstenbach.wordpress.com/2011/12/13/provision-oracle-rdbms-software-via-rpm

Assuming my gold image contains (in addition to the ORACLE_HOME) the inventory directory, oraInst.loc, /usr/local/bin/oraenv etc. AND that the source and target OS build are identical I can see this *should* work.

Is there anyone out there doing it this way? Does Oracle support doing it this way, or is clone.pl<http://clone.pl> the only officially mandated approach?

Thoughts from those with some time to spare would be much appreciated...

Thanks

Austin--
http://www.freelists.org/webpage/oracle-l

--

http://www.freelists.org/webpage/oracle-l Received on Mon Nov 25 2013 - 20:26:37 CET

Original text of this message