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 here, 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 "SAI_DAS". In the next step, we created a PaaS infrastructure zone, which is a group of hosts that will be used for Platform as a Service (PaaS) – in our case to 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 preinstalled. All the servers in a database pool were required to be of the same platform as well as the same database version. 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.

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. You can have lower ceilings for production zones, and higher for development or test zones. Over-utilized servers in the pool will not be used for the new database.

 In this way, the database pool was created. Next, we selected “Quotas” from the left panel, and then entered the quotas for the role selected. 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. 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.

Next, we clicked on Data Sources from the left panel, and on the page that appears, clicked on the Data Profiles tab and created a new profile. In the creation wizard that started, we selected the Reference target as the “saiprod” database. This is the production database that will be used as the master source. We chose 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, if we had selected “Structure Only”, in this case only a database template or a schema export dump could be created.  This would then be used in self-service to create an empty database with just the template structure or the schema structure.

After entering the credentials for the database home (oracle user at the UNIX level) and the database itself (SYS user at the database level), we clicked on Next. The Content Options screen appears (Figure 17).

Figure 17: Content Options

            In the Content Options step (Figure 17), you are asked to specify if an online or offline RMAN back is to be taken, the number of concurrent RMAN channels to use (to increase parallelism in the backup process), whether the backup files are to be compressed and/or encrypted, and the location the new backup is to be stored – either the Fast Recovery Area, or a totally separate location for such backups that are to be used in DBaaS.

            If you select “Keep local backup”, this is a further safeguard. It will override the default retention policy only for the current backup. This means the DBaaS backup will be retained irrespective of the retention policy.

            The backup file name format, backup file tag, and the control file backup name can also be changed, so that these backups can be differentiated from other normal database backups. We have kept all of these at the default for test purposes. However, channels have been increased to 3 instead of the default 2 to speed up the process. Click on Next.

Figure 18: Profile Information

            In the Profile Information page (Figure 18), you can change the profile location in the software library if you wish, or accept the suggested location. Name this profile “Database Profile RMAN Full Backup”. This will be used for the Database-as-a-Service functionality.

Schedule the profile creation to start either immediately or later on if you want. You can also set the schedule to repeat the creation at an interval; this means a new backup will be taken repeatedly, and can be selected by the self-service user.

We continue in the next part of this article series.