Saturday, September 14, 2013

Patch and Provision with EM12c: #2 Database Provisioning - Profiles

Now that I've recovered from a straight 10 hour session I did to write the blog in the previous topic in this series (Provision me a Database!), I wanted to touch on a few of the "softer" pieces in the "Database Provisioning" functionality.

Provisioning Profiles
To put the concept into perspective, lets start with a story.

A certain Mr. Green (DBA Manager) is responsible for dozens (maybe more) servers, which host many databases. Now, for a growing organization, there's a need to provision database servers for upcoming projects. Most likely these projects will go through a Development Lifecycle, i.e. Development, Pre-Prod, and eventually Production. Mr. Green's DBA's are busy people preoccupied with internal projects. Much to his dismay, previous server build cycles were inconsistent.

He wishes there were a way to streamline it. A way to standardize software, and database provisioning.
NewImage

Database Provisioning, specifically Provisioning Profiles offer a robust and more importantly, a repeatable approach to Mr. Green's problem. Not only would he be able to standardize his deployments, configurations from a Pre-Prod environment can easily be replicated to Production.

Okay, maybe I tend to over-simplify things. Oracle Documentation provides good examples on how to configure a Database Profile, however I'd like to explore the concept further and discuss The three types of profiles template options.
Straight from Docs:

"Provisioning Profile is an entity which contains software bits and configuration. When a provisioning profile is created from an existing installation, it provides the flexibility to clone either Grid Infrastructure (with software or configuration) and Oracle Database (with software or configuration). You can create database templates using provisioning profiles. A designer or administrator can create a database provisioning profile as a one-time activity; which can be used by operators for mass deployment. Using provisioning profile enables standardization in deployments and reduces need for rescheduling deployments by avoiding errors while configuring deployment procedures."

To set some expectations, in the post I will create profiles for
  • GI Home
  • RDBMS Home
  • Database Template
Si Comincia!

1. Find your way to the Database Provisioning link.

NewImage

2. Click "Create".
 
NewImage

Grid Infrastructure Profile
 
3.  Chose a reference Target, and pick the GI Home.
 
3.1 Chose the appropriate Credential Type, and subsequent Credential Names. Notice the "Target Type" drop down list only contains 3 types of values.
 
NewImage
 
3.2 I left the default values of the "Profile Location". To get an idea of your options, please check the pop out. The only change I made was the "Profile Name". Make sure you chose the correct Software Library Storage, in case you created multiple locations.

NewImage

3.3 Review the setting and click "Submit".

NewImage

3.4 We are redirected to the Procedure Activity page. Under the hood, the procedure is actually creating a clone of the GI Home. Then, upload it to the SWLIB. Pretty neat!!

NewImage

3.5 After a few minutes, the Activity is complete!

NewImage

3.7 Go back to the "Database Provisioning" home page. There it is!

NewImage

RDBMS Profile

4. Back on the "Database Provisioning" home page.

4.1 Click on "Create".

NewImage

4.2 Again, all I changed is the "Profile Name". Click "Next".

NewImage

4.3 Review the settings and click "Submit".

NewImage

4.4 As with the prior Target Type, the Procedure Activity (among many other tasks) will clone the Oracle Home.

NewImage

4.5 Back on the "Database Provisioning" home, we'll see the new profile.

NewImage

Database Profile

5. Let's create a Database Profile now! It's important to mention what this profile actually contains:
  • RDBMS Software Image
  • Database Template
Therefore, it's a better option if you're interesting in cloning both from the existing server.
 
5.1 As mentioned in 3.1, click on "Create" and select the correct Target Type.

NewImage

5.2 On this page, as previously stated, I only changed the "Profile Name".

NewImage

5.3 Review and click "Submit".

NewImage

5.4 Progress is always good :)

NewImage

5.5 After taking a while, the process finally completed.

NewImage

5.6 And as before, the new profile is now part of the library of profile under the "Database Provisioning" home page.

NewImage

Downloading Profiles

6. In case, one doesn't want to create their own profiles, and download them from a different source (OTN), there's a neat feature to do that. On the "Database Provisioning" home page, click on "Download Profile…". This actually takes you to the "Self Update" page, but as you can see, there aren't any new profiles available for download. I would imagine, in the situation where the Oracle Database plugin is updated to the latest 12.1.0.4.0 one which supports 12c Databases, the profiles would be automatically imported. That's only a theory at this point!
NewImage

Conclusion

There's potential here, no doubt about that. You've probably noticed, that I don't talk about licensing during this exercise. There is a management pack you would need to purchase for the Database - unless I am mistaken, its the Lifecycle Management Pack. In any case, if you were Mr. Green, the benefits of this feature would be quite apparent, and well worth the cost.

I hope you enjoyed reading, as much as I did composing this blog. I think, next time, I will likely explore further on Deployment Procedures.

Cheers!

Next in Series: Using Profiles

No comments :

Post a Comment