In our article series, we are exploring the capabilities of Oracle Enterprise Manager Cloud Control 13c for the private Database as a Service (DBaaS) cloud – including the setup of such a cloud.  In the previous parts, we started the setup of the private DBaaS cloud, including the configuration of the self service portal. The full procedure includes setting up the Enterprise Manager software library, creating the PaaS infrastructure zones, database pools, and quotas for the users, service templates, and optionally chargeback plans to apply to the users for cloud allocation and cloud usage.

After configuring the software library, we set up the Enterprise Manager self update system, and downloaded the latest plug-ins from the external Enterprise Manager store. We created a custom cloud role in Enterprise Manager, and a Cloud SSA user named as "SAI_DAS". Next, we created a PaaS infrastructure zone, a group of hosts that will be used for Platform as a Service (PaaS), in our case only for Database as a Service (DBaaS).We named the zone “Sainath_PaaS_Zone” and added the members (hosts) that will be part of the PaaS infrastructure zone.

Then, we set up a new database pool, a group of database servers where the database software has been pre-installed. All the servers in a database pool were required to be of the same platform as well as the same database version. To reiterate, standardization is one of the key goals of creating the service catalog that will be used in the DBaaS project. If there are multiple 11g versions, standardize on one version, such as the terminal release for that platform.

We named the database pool as “Sainath_Database11204_Pool”. Next, we added our Oracle Home targets to the pool. Each Oracle Home target can belong only to a single database pool. If the Oracle Home you want is already in another pool, you must first remove it from there before you add it here. Since the PaaS Infrastructure Zone was made available to a role, the users that are assigned this role will now be able to utilize the database pool for their self service provisioning.

In the “Standby Pools” section, you can also associate one or more separate pre-created database pools for provisioning a physical standby database(s). This would then allow “Enable Standby Database” to be selected in the next step when we create the service template, and the self service user would then be able to have a standby database automatically created along with the main requested database. Obviously the standby database pools should be created in a separate PaaS Infrastructure zone suitable for disaster recovery.

For the placement policy constraint “Maximum number of Database Instances per host”, we specified a maximum number of 10 instances on any of the servers in the pool. This constraint, combined with the Maximum CPU Utilization (95%) and the Maximum Memory Allocation (95%) defined in the PaaS infrastructure zone; specify the maximum ceilings for any database server in the pool. These can be modified appropriately, with lower ceilings for production zones, and higher for development or test zones. The net result is that over-utilized servers in the pool will not be used for the new database.

In this way, the database pool was created. Note that once named and created, the pool cannot be renamed – even if you use the Edit button. You will need to delete it and recreate it.

Next, we selected “Quotas” from the left panel, and clicked on create. You can now enter the quotas for the role you select. The Quotas page allows the SSA Administrator to configure the total amount of resources which are allocated to the self service user via the role. Quotas are an important aspect of the cloud and are required in order to control the usage of the self service cloud. Otherwise, the self service users could possibly request an untenable amount of resources due to their direct ability to do so.

We can now continue the set up of the quotas on this page. Select “SAINATH_SSA_USER_ROLE” from the lookup list. This is the same role that was created previously. Note that, only custom roles that have the EM_SSA_USER pre-defined role assigned to them, will be visible in the lookup list.

In our case, we have assigned the memory quota as 16GB, the storage quota as 100GB, the number of database requests as 10, the number of schema service requests as 50, and the number of PDB service requests as 25.This is the total amount of resources that can be utilized by any SSA user to whom the custom role is assigned.

Click on the OK button. The new quota for the custom role now appears in the quotas list.

Create Data Profile: Single Instance Database

Next, click on Data Sources from the left panel, and on the page that appears, click on the Data Profiles tab. Select “Create” to make a new profile. The creation wizard starts, and the first step is seen in Figure 16.

Figure 16: Create Database Provisioning Profile

In the first step of the creation wizard, select the Reference target as the “saiprod” database. This is the production database that will be used as the master source.

Choose to include “Data Content” and “Structure and Data” by creating an RMAN backup from the source database. The other options are to create either an RMAN database image, or a database template. You can also use an existing RMAN backup, or export schema objects and create an export dump that can be used in self-service.

Alternatively, you can select “Structure Only”; in this case only a database template or a schema export dump can be created.  This will then be used in self-service to create an empty database with just the template structure or the schema structure.

Select the credentials for the database home (Oracle user at the UNIX level) and the database itself (SYS user at the database level). Click on the Next button.

We continue this article series in the next part here.


About the Author

Porus Homi Havewala

Porus Homi Havewala is a Double Oracle Certified Master (OCM) in 11g and 10g. He was awarded the prestigious "Oracle ACE Director" title by Oracle USA in 2008. He worked as the Strategic Program Advisor at Oracle Corporation Singapore, and is a regional SME on Oracle Enterprise Manager technology, specifically concentrating on private/hybrid Database cloud capabilities on Oracle systems. Porus has worked prominently for a number of years at the largest telecommunications company Telstra in Australia, where he personally set up and managed the first production Enterprise Manager Grid Control 10g project in the world in the early 2000s, controlling thousands of Data Center targets with multiple Administrator teams around Australia. He has 26+ years of experience in the IT industry, and 18+ years of experience with Oracle Technology, including as an Oracle Developer and Oracle Senior DBA. He is the creator and manager of the Enterprise Manager blog with Oracle Press Credentials, the Clouds and Databases blog, and the "Oracle Senior DBA" group on with 61,000+ members. Porus is the author of thirteen published technical articles and three white papers on Enterprise Manager in the Oracle Technical Network (OTN), and has authored a number of Enterprise Manager Books. He started his technical writing with a book on Microsoft Foxpro as early as 1994. His recent Enterprise Manager books are as follows: Oracle Enterprise Manager Cloud Control 12c: Managing Data Center Chaos published by PACKT Publishing, and the latest book Oracle Database Cloud Cookbook with Oracle Enterprise Manager 13c Cloud Control published by Oracle Press. Dedication: I dedicate my pen and all its output to my beloved parents in heaven, they are the ones that have taught me the good values in life. Disclaimer: My writings in blog entries, articles or books express my views and opinions in my personal capacity and not that of Oracle Corporation.

Start the discussion at