Among the several (too many to list) useful features in Enterprise Manager 12c (specifically 22.214.171.124) is Database Provisioning. With the numerous benefits of a multi tenant architecture in newer releases Database 12c, I want to begin this series of blog posts with starting with a simple database provisioning exercise. Provisioning is, in my humble opinion, a key feature in OEM. It offers a means to cleanly deploy and provision databases, bare metal, and middleware targets.
This post assumes:
- The intended host for the database provisioning is already in the OEM Inventory
- There are existing 12c Databases in the inventory to create profiles
- Configured the Software Library
- 126.96.36.199.0 Installation Media has been uploaded to the Software Library (see my post on the setup)
- Pre-requisite checks for installation of Oracle Database 188.8.131.52.0 were configured as per documentation
What is “Database Provisioning”
Straight from the Docs: “The Provisioning solution is an important part of Lifecycle Management solution offered by Cloud Control. As part of the database provisioning solution, Cloud Control enables you to provision Oracle Databases (also known as single-instance databases) and Oracle Real Application Clusters databases, extend or delete Oracle Real Application Clusters nodes, provision Oracle Real Application Clusters One node databases, provision pluggable databases, and also upgrade Oracle single-instance databases in a scalable and automated manner.”
How Does It Work?
1. Navigate to the “Database Provisioning” Section
2. On the “Database Provisioning” screen, you’ll notice several sections; Setup, Target Host Setup, Current Status, and a few others. This page is connected to several other functionalities within OEM; for example, Add Targets, Named Credentials,
3. We should proceed with the “Setup” to configure the Software Library (if not already setup), Credentials, and Notifications (if needed).
3.1 To keep the exercise simple, we’ll proceed with the SYSMAN user. Ideally, a user with the correct privileges should perform the steps. I will discuss this in a later post. (EDIT).
3.1.1 Click the “Setup” link next to Credentials. This redirects to the “Security” page where Credential Sets can be easily created.
3.1.2 Create credentials by clicking on the “Create” button. Fill in the details, then click on “Test and Save”
3.1.3 Select the appropriate host for the test.
3.1.4 After creating the Oracle user credentials, for easy of usability, I created one for a privileged user.
At this point we have configured the Software Library, and Credentials.
4. Back on the “Database Provisioning” screen, there are several “out-of-the-box” profiles. For starters, we will simply use the “Single Instance using File System for 184.108.40.206.0 on Unix” profile. Click the “Provision” button to continue.
I do intend to expand on creating a new “Profile” in a later post.
4.1 Since we started with a Provisioning Profile, the correct one is preselected. For this example, we will not install the GI Software, only the Database Software and Create a database.
4.2 Add the target host for deployment.
4.3 Next, configure the host.
4.3.1 Next, select the Normal and Privileged OS user. Please note, in my example, these are two different credential sets where I’ve chose to override the “Preferred Credentials”.
4.3.2 Next, specify the OS Groups for the software installer. I’ve never heard of or seen the last three groups.
4.4 Back to the Configure screen, click on the “Deploy Software” link.
4.4.1 Select the component that will be used during the software deployment. I left the default values for Oracle Base, and Oracle Home. Click on Next.
4.5 Next, click on Create Databases.
4.5.1 The next few screens will remind you of our friend the DBCA 🙂
4.6 Final section in the Configuration. Lets move ahead with the Compliance Standards.
4.6.1 I’m going to chose “None”. This can be applied at a later date.
4.7 With all the Configuration steps completed, click Next!
5. We’re nearly there. I want to review the prerequisite checks prior to committing the deployment, therefore I checked the option in the “Prerequisite only mode”.
6. Finally, review the configuration and click Submit.
6.1 Progress can be tracked via the Procedure Activity screen for the provisioning task.
6.2 Some errors I encountered along the way:
During the “Deploy Oracle Database” step, the provisioning activity failed due to the error below:
It was an easy fix, but I would have thought the root fixup script was responsible for it.
Where’s All My Hard Work?
7. We can view the newly created Deployment Procedure (which I kept saving along the way and eventually renamed).
7.1 Make your way back to the Database Provisioning page.
7.2 There it is!
7.3 A neat feature of the deployment procedures is, that it actually add’s the targets (Database) into OEM. Navigate to the Databases page.
7.4 Since I specified a new database software home, the installer for some reason use the “11g” phrase in the Oracle Home Name variable.
I’ve only scratched the surface with all that the Provisioning and Patching feature in OEM12c has to offer. I future posts, I’d like to explore other deployment procedures which include:
- Database Provisioning: Cloning of an Oracle home, Uninstallation of Software.
- Middleware Provisioning: Deploying WebLogic domains etc.
Hope you enjoyed reading.
Next in Series: Profiles
I am in the process of provisioning a 11.2.04 database using a 12c OMS on a RHEL 6 server. I am aware of a bug in the prerequisites where it does not check for RHEL6 prerequisites and there was a work around where we are required to modify the file before running the pre-requisites. How is this done when prvisioning the 220.127.116.11 database using OMS12c where I would like to complete the software provisioning without any interuption where I got to manually ignore the failed check once it fails for the pdksh package. I would like to know if there is a pre-requisite check file in OMS 12C I would need to modify or a patch available to apply.
Thanks In Advance.
You could do a “Create Like” for the Deployment Procedure and omit the directive where the pre-requisite checks occur. I have to admit, I haven’t attempted that myself but let me know if you run into any challenges.