Hybrid Cloud management is an interestingly hot topic for today’s cloud world, since not all companies want to move everything to the cloud. In this article series, we are looking at the detailed steps for setting up the Oracle Hybrid Cloud via the latest version – Oracle Enterprise Manager Cloud Control 13c installed on premises. Our main intention is to install an Enterprise Manager hybrid cloud agent on our database cloud servers (on the Oracle public cloud) via the hybrid gateway, in the scenario where our company has databases running on premises as well as on the Oracle public cloud, and then to look at hybrid cloud management using Enterprise Manager.

In the previous parts of the article series, we completed the pre-setup steps for the hybrid cloud – such as setting up one of our on-premises Enterprise Manager Oracle Management Service (OMS) agents as the hybrid gateway agent, creating SSH keys for the OMS server, and creating a named credential with SSH key credentials for the hybrid cloud. At the same time, we also created an Oracle Database service (a server with an Oracle database) on the Oracle public cloud.

Next, we completed the installation of the hybrid cloud agent via Oracle Enterprise Manager, which performed a background transfer of the agent software to the destination host. We logged into the on-premises Enterprise Manager console as SYSMAN or a super administrator and drilled down to the Cloud Host home page. On this page, we could see the Enterprise Manager Configuration and performance metrics for the host; these metrics had been uploaded by the hybrid cloud agent. And after the database discovery process was completed, the cloud database appeared in the list of Enterprise Manager database targets, and it can now be monitored and managed just like a normal on-premises database.

We compared Oracle database configurations by selecting Enterprise | Configuration | Comparison and Drift Management from the Enterprise Manager console and creating a comparison. We selected the on-premises 12c database “ahuprod.sainath.com” and the cloud database AHUTEST. Effectively, we compared the configuration of a local on-premises database with that of a cloud database. This comparison can be done at the server level as well. Oracle Enterprise Manager is also able to enforce the same compliance standards on the Oracle public cloud as well as on premises, which is perfect for a hybrid database setup.

Next, we looked into the cloning of PDBs from on premises to cloud, one of the main features of the hybrid cloud. To proceed with the actual PDB cloning, we made sure the source and destination CDBs were at the latest PSU. We then went through the steps to preserve the Enterprise Manager agent home when patching the cloud database. Next, we started the clone to Oracle cloud process. This was done via right-clicking on the on-premises PDB “SALES” which is in the ahuprod CDB, and selecting Oracle Database | Cloning | Clone to Oracle Cloud.

The name of the destination PDB on the cloud side was entered as “SALESTST”, since this will be a test pluggable database. We also selected a user name and password for the PDB administrator of the new PDB. Then, we could have clicked on “Clone” to quickly start the procedure, but instead we clicked on the “Advanced” button at the top of the page. This switched to advanced mode, and a multiple page workflow appeared on the same screen.

We clicked on Next. The “Clone to Oracle Cloud: Configuration” page appeared. As per cloud database standards, which are based on Oracle Flexible Architecture (OFA) standards, the PDB data files will reside on /u02, in the /u02/app/oracle/oradata/<PDB name> directory. You can also enter storage limits if you wish, such as the maximum PDB size or the maximum shared TEMP tablespace size. The default logging attribute for tablespaces created with the PDB can also be specified – Logging, No Logging or Filesystem Like Logging.

After this, the Post Processing page appeared. Here we noted the importance of the Advanced mode, since it is possible on this page to select a Data Masking Definition if it has been created for the source database. Masking is seamlessly integrated with Enterprise Manager. This makes sure that confidential data is masked when being cloned from an on-premises production database to a cloud development database.

A simple masking definition had already been created. This definition was named “LatestDataMaskDefinitionHR” (no spaces should be included in the definition name) and was selected at this point. This will mask some of the confidential columns in the Employees table, in the destination cloud PDB that will be created.

In the Schedule screen that appeared next, we scheduled the job, then reviewed and clicked on Clone. The procedure started to execute. Among the steps in the procedure, we also observed a Secure Copy files step. Note that the “rsync” UNIX command was used by the procedure to fast-copy files to the cloud.

The clone to cloud completed successfully in less than 16 minutes (depending on the PDB size and the internet connectivity). When we moved to Targets | Databases, we saw the new SALES Test PDB under the cloud CDB AHUTEST, and then drilled down to the Sales Test PDB Home page.

If we had selected the Masking definition as a part of the cloning workflow, we need to verify that the Employees table data has been masked. We connected to the on-premises ahuprod CDB as sysdba, and selected from the hr.employees table to examine the original umasked data.

Now, we will check the same rows in the cloud PDB.

$ ssh <IP Address of OPC Server>
Authorized uses only. All activity may be monitored and reported.

[oracle@AHUTESTSERVER ~]$ . oraenv
The Oracle base has been set to /u01/app/oracle

[oracle@AHUTESTSERVER ~]$ sqlplus / as sysdba
SQL*Plus: Release Production on Tue Dec 15 12:06:29 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c EE Extreme Perf Release - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Advanced Analytics
and Real Application Testing options

SQL> alter session set container=salestst;
Session altered.

SQL> colu first_name format A15
SQL> colu last_name format A15
SQL> colu email format A25
SQL> select first_name, last_name, email, salary from hr.employees where rownum <10 
2 /

FIRST_NAME       LAST_NAME           EMAIL                       SALARY
attcaf            awdaaf            attcaf.awdaaf@company.com     432507

akuqdd            akqacd            akuqdd.akqacd@company.com     496210
aaagcc            aaqacc            aaagcc.aaqacc@company.com     492911
aavcfe            azaafe            aavcfe.azaafe@company.com     226338
akuqdd            aamamd            akuqdd.aamamd@company.com     226338
abdlcd            akqacd            abdlcd.akqacd@company.com     432507
aaatxd            aqxaxd            aaatxd.aqxaxd@company.com     433877
aaalnc            aeranc            aaalnc.aeranc@company.com     407701
aumvav            azuaav            aumvav.azuaav@company.com     741111

9 rows selected.

We observe that the employee data has been masked successfully, as per the masking definition that was selected during the clone-to-cloud procedure.

We will continue in the next part of this article series.

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 LinkedIn.com 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 forums.toadworld.com