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 going through the setup of the private DBaaS cloud; in particular, the configuration of the self-service portal. This includes the setup of the Enterprise Manager software library, followed by the creation of the PaaS infrastructure zones, the database pools, creation of different quotas to be allocated to the cloud users, creation of the service templates they can use, and finally the creation of chargeback plans (optional) to work out the cloud allocation and cloud usage charges that will apply to the users.

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. Next, we created a global host “Named Credential” to access the database servers in the database pool, and then a custom cloud role in Enterprise Manager so that we could grant it to the zones or service templates, followed by creation of a Cloud SSA user named "SAI_DAS".

After that, we created a PaaS infrastructure zone. This is the infrastructure, actually a group of hosts, that will be used for Platform as a Service (PaaS). The PaaS may be for Databases, Middleware, or even SOA or Oracle Service Bus. In our case, our particular zone is to be used only for Database as a Service (DBaaS), including single-instance or multi-instance Oracle Real Application Cluster (RAC) databases, or schemas, or pluggable databases created via self-service.

We named the zone “Sainath_PaaS_Zone” and added the members (hosts) that will be part of the PaaS infrastructure zone. We added the global host credentials to be used for provisioning in this PaaS Infrastructure Zone and the placement constraints – the Maximum CPU Utilization(%), and the Maximum Memory Allocation(%). Both are set to 80% by default. Remember that members of the zone that are overutilized over these limits will not be used during creation of new services by the SSA user. Then, we specified the roles that can access this zone. In this way, we could restrict access to the zone to a set of users who have been granted these roles. The zone was created, and appeared in the list of resource providers.

We will now continue this part of the article series. After the zone creation, the next step is to set up a new database pool.

Create Database Pool

You now need to create a database pool, which is a group of database servers where the database software has been preinstalled. These database servers can be standalone servers or clustered servers with the cluster infrastructure and Oracle clusterware already configured.

All the servers in a database pool must be of the same platform as well as the same database version. For example, you can create a pool of Oracle database servers on Linux x86 64-bit. There can be no other Oracle database versions in the same pool; neither can there be any Linux x86 32-bit machines in the 64-bit pool.

If you have a database home of a different version, say 11.1, on the same server, you must create a different database pool specifically for that version, and so on for other versions. However, this is not recommended, since 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. Likewise for 12c versions – standardize on the latest (at the time of writing) version.

A PaaS infrastructure zone is required to be selected during the creation of the database pool. We will use “Sainath_PaaS_Zone”, which has already been created.

To create a database pool, login as SYSMAN or a super administrator, or an administrator who has been assigned the EM_SSA_ADMINISTRATOR role. Select Setup | Cloud | Database from the Enterprise Manager menu. The Database Cloud Setup page appears and shows a text overview of the features (Figure 12).

Figure 12: Database Cloud Setup - Overview.

By default, “Database” is selected in the drop-down box above the left pane. The other options are “Pluggable Database” and “Schema”, which we will see in future article series.

Click on the “PaaS Infrastructure Zone” in the left pane. The zone that we set up initially in this article series can be seen on the screen (Figure 13).

Figure 13: Database: PaaS Infrastructure Zone.

Click on “Database Pool” in the left pane. Then, click on the Create button. The following screen appears (Figure 14).

Figure 14: Create New Database Pool

Name the pool “Sainath_Database11204_Pool”, and put in a description. Also enter the host credentials that will be used for performing the database creation operations. We use the Global Host Named Credential that uses the Oracle UNIX user and password. Root credentials are also needed since we plan to use the pool for snap clone database requests.

Grid Infrastructure and ASM credentials are needed only if you plan to use this pool for live cloning of a database using ASM. In our case, this is not required.

Select the PaaS infrastructure zone to be used, and the platform as Linux x86-64 from the dropdown list. The Database Configuration in this Pool is of a Database Instance (single instance as opposed to Cluster Database), and the Version is This is what we want in the pool.

Next, add your Oracle home targets to the pool. Only those database homes and hosts that are the same as the platform, database configuration and database version you have chosen will appear in the selection list. However, note that each Oracle home target can belong only to a single database pool. If the Oracle home you want is already included in another pool, you must first remove it from that pool before you add it here.

We continue the setup of the Database as a Service cloud in the next part of this article series.