Let's assume that your company’s CTO has asked the IT department to deploy all software, applications, and databases in a centralized, automated fashion. Is that a tall order? Not as much as you might think.
By using Oracle Enterprise Manager's Provisioning and Patch Automation Management Pack, the entire software stack can indeed be provisioned - including the operating system, middleware, and Oracle Database Homes. You can also clone databases, whether clustered or non-clustered. In this approach, you can provision literally hundreds or even thousands of systems using these mass provisioning techniques in Oracle Enterprise Manager Grid Control.
Consider, step by step, the scenario of provisioning Oracle software on a new target server with an existing OS, which can be anything – Linux, Solaris, HP-UX, AIX or Windows.
The first step would be to install the Enterprise Manager Agent on a new Agent Home on the target server. Oracle allows a number of methods to install the agent on a new server, such as using the Agent Pull method using a supplied agent-download script that uses the wget utility to transfer files, or by using the newer Agent Deploy (Push) method that requires the setup of SSH equivalence between servers.
Other methods exist such as using the installation of an agent on a shared NFS filesystem and sharing the Agent Home binaries among different target servers, and the latest Agent Cloning method that involves a series of documented steps to copy an Agent Home to different servers.
When the installation of the Agent on the target server is completed using any of the above methods, the Agent starts collecting information about the component targets on the server, and uploads the information continuously to the Oracle Management Service (OMS) using http or https, this metric information is then stored in the Oracle Enterprise Manager repository.
The central Oracle Enterprise Manager is now fully aware of the target server and all the components therein, and the server appears as a target in the Oracle Enterprise Manager Grid Control Console.
The new Target server at this point of time contains an Agent Home where the Agent binaries are installed. However, because the Oracle Database Enterprise Edition (EE) software is yet to be installed on this server, there is no Oracle Home.
You could install the Oracle Database software in the old-fashioned way using the Oracle Installer in interactive or silent mode, but manual steps are involved in this process and it quickly becomes a tedious and error-prone process when the same task is to be repeated again and again on hundreds of servers – even if silent scripts were to be used.
Or you could simply use the Oracle Enterprise Manager Provisioning and Patch Automation Management Pack at this stage, to “clone” the Oracle Home from an existing Oracle Home, or from a “Gold Copy” – which is an interesting concept explained later in this article.
Clone Wizard versus the New Deployment Procedures
Oracle Enterprise Manager supplies a “Clone Wizard” which was the original way of cloning Oracle software and databases using Enterprise Manager. This functionality is not certified to work with Oracle Database 11.2 and will ultimately be superseded by the new Deployment Procedure technology that we will explore in a later section. However, the Clone Wizard is worth having a look at, to see how Enterprise Manager first started with cloning Oracle Homes in a simple, wizard driven way. We will use this to clone an Oracle 10g Database home.
The release used for illustration purposes in this article is Oracle Enterprise Manager 10g Grid Control Release 5. In this release, as well as in the current release (Oracle Enterprise Manager 11g Grid Control Release 1, at the time of writing), the steps you follow are generally the same. The specific enhancements in the 11g release are pointed out in a later section in this article. We have also placed some screenshots from the 11g release where applicable in this article.
Login to the Oracle Enterprise Manager Grid Control console, and move to the Deployments Tab (seen in Figure 1). Under the Cloning section, notice that there is an option to clone the Oracle Home as well as the Oracle Database. Click on the Clone Oracle Home link.
Software Library with Gold Copy or Image
A Software image library is used in the process of provisioning, as a means of storing standardized images that have been pre-installed and possibly patched upto an appropriate level. This is known as a “Gold” copy or image.
For example, a Gold copy could be an image of a fully patched Oracle Home (such as an Oracle 10g Home patched to 10.2.0.5 with the latest Patchset Update (PSU) or Critical Patch Update (CPU) applied), installed as per the corporate database standards and security standards, and with only the licenced options installed as per the coporate licence.
The options selected could be the Oracle Label Security Option and/or the Oracle Database Vault Option, if the corresponding licences have been purchased and if these options are considered necessary to be pre-installed with all new Oracle Database Homes as per corporate security policy. We should note here that the Oracle Installer allows these options to be selected when “Advanced Installation” and a “Custom” install of the Oracle Database software is being performed.
The Gold Copy could have these options pre-selected and pre-installed and therefore avoid any oversight on subsequent installations by the DBA, since the DBA would simply be using the Gold Copy to create a cloned Oracle Home.
The other possibility is that certain unlicensed options may be inadvertently installed during manual installations of the database, such as when Orace Database 11g is installed using the Oracle Installer and “Enterprise Edition” is selected under Advanced Installation. This would automatically preselect and install the Oracle Partitioning option and Oracle Advanced Security option, and if these database options are used in any way in the future, this usage would be detrimental to Oracle license compliance.
The Gold Copy would however prevent such an event by ensuring, in the first place, that such unlicensed options are not installed in the Gold Copy.
The Gold Copy or Image can be thought of as a managed set of software components (that can be the operating system software, Oracle software, or other third-party software), directives (executable instructions used for provisioning) and other information bundled together to construct an independent deployable unit. The Software Library in Oracle Enterprise Manager is used to maintain the software components that can be combined with other components as required so as to form the final software configuration (the Gold Copy) that can now be provisioned. The Gold Copy must also refer to staging, preinstall or postinstall directives.
Once the Gold Copy of an Oracle Home has been set up in this manner in the Software library, new Oracle Homes can be created on any other servers (on which the Oracle Enterprise Manager Agent has been installed) by simply running the Clone Oracle Home utility or the Database Provisioning Deployment Procedures (these are preferable to the former). The new Home will be an exact copy of the Gold image and as such will be of the same version, patchset level, and with all the appropriately licensed database options included in the Gold image. You no longer have to worry about the starter DBA in the application team installing the entire suite of options or patching the Oracle Home inappropriately, or not patching it at all.
Hundreds and even thousands of database servers can be provisioned in this way from the Gold copy in an automated matter and in much less time as it would take to perform the core software installation manually, patch to an appropriate level manually and also ensuring at the same time that all the database standards have been observed and only the licensed options have been included – a tall order for the manual method, no matter how scripted, when it comes to thousands of provisioned databases per year.
The Gold Copy Provisioning thus effectively reduces the implementation time and eliminates the overall human error inherent in a step-by-step manual process or in a manually scripted process.