The Best Practices for Moving Oracle Database to the Cloud-Joel Perez

This session covers how best to move your on-premises Oracle Database and other development instances to a public cloud—such as data and development platform migration—and outlines and details best practices for DBAs, IT staff, and developers. The session also details available options for DBAs and developers for cloud application development and what mix of technologies can be used. Learn about Oracle Database backup, failover, and recovery options, Oracle GoldenGate Cloud Service.

1. The Best Practices for Moving Oracle Databases to the Cloud Joel Pérez ( Oracle ACE Director & Oracle Certified Master )
2. About me 17 Years working with Oracle Technology Oracle Technology Network Expert “OTN” Expert 2003 Award Oracle ACE 2004 Award Oracle ACE Director 2012 Award Consulting Tasks, Conferences and activities related to, in over 50 countries around the globe OCM ( Oracle Certified Master )
3. One of the first: OCM Maximum Availability OCM Cloud and OCM 12c in the world Official reviewer of Books: “OCM11g Study Guide” & “Oracle Data Guard 11gR2 Administration”
4. Leader worldwide in Technical Articles Written for OTN Spanish & Portuguese with 120+ Published Articles Oracle Speaker at many International Oracle events like: OTN LAD, OTN EMEA, OTN APAC, DTCC and more Actually, Senior Cloud Solution Architect in the Oracle Consulting company in China “www.Enmotech.com” I’m from Venezuela, living in Beijing, China and now ready to start this session..
5. Let’s Start..
6. What is the real and practical meaning of databases in the Cloud ?
7. What is the regular concept of “Cloud” for people not involved deeply in IT ?
8. Before I had many databases at another Data Center, that’s means I had already databases in the cloud? If yes, what is the difference with Oracle Databases in the Cloud ?
9. Oracle Cloud and Oracle Database Services in the Cloud
10. Oracle Databases in the Cloud.. What kind of services I can choose to deploy my Oracle databases in the cloud ?
15. Characteristics of Oracle Database Services in the Cloud
17. Example.. http://www.oracle.com/webfolder/technetwork/tutorials/obe/cloud/ ggcs/Get_Started_with_OGGCS/Get_Started_with_GGCS.html#sectio n2
18. Once the Database Service is created, What you get ?
19. Once the Database Service is created, What you get ?
23. Migration/Moving Methods Many methods exist to move/migrate Oracle databases to Oracle Database Cloud Service. Which of these methods apply to a given migration scenario depends on several factors, including the version, character set, and platform endian format of the source and target databases.
24. Ways to move the Data to the Cloud
25. ZFS Storage Appliance ZFS Storage Appliance Unified Control Plane For Your Cloud ZFS Storage Appliance Private Cloud Public Cloud
26. Key points to Move a database to the Cloud 1.- Choose a type of Database Service based on your needs (Oracle Database Exadata Express Cloud Service, Oracle Database Cloud Service, Oracle Database Exadata Cloud Service, Oracle Database Bare Metal.. etc) 2.- Buy a subscription for that type of service chosen 3.- Based on many factors like: Version, Size, downtime, Character set, Endian format and more, choose the method for moving your database to the cloud 4.- Integrate your cloud services with the monitoring tools you have in your organization
27. Data Pump Conventional Export/Import You can use this method regardless of the endian format and database character set of the on-premises database. To migrate an on-premises source database, tablespace, schema, or table to the database on an Oracle Database Cloud Service database deployment using Data Pump Export and Import, you perform these tasks: 1.- On the on-premises database host, invoke Data Pump Export and export the onpremises database. 2.- Use a secure copy utility to transfer the dump file to the Database Cloud Service compute node. 3.- On the Database Cloud Service compute node, invoke Data Pump Import and import the data into the database. 4.- After verifying that the data has been imported successfully, you can delete the dump file.
28. Data Pump Full Transportable You can use this method only if the source database release version is 11.2.0.3 or later, and the database character sets of your on-premises database and Oracle Database Cloud Service database are compatible. You can use the Data Pump full transportable method to copy an entire database from your on-premises host to the database on an Oracle Database Cloud Service database deployment. To migrate an Oracle Database 11g on-premises database to the Oracle Database 12c database on a Database Cloud Service database deployment using the Data Pump full transportable method, you perform these tasks: 1.- On the on-premises database host, prepare the database for the Data Pump full transportable export by placing the user-defined tablespaces in READ ONLY mode. 2.- On the on-premises database host, invoke Data Pump Export to perform the full transportable export.
29. Data Pump Full Transportable 3.- Use a secure copy utility to transfer the Data Pump Export dump file and the datafiles for all of the user-defined tablespaces to the Database Cloud Service compute node. 4.- Set the on-premises tablespaces back to READ WRITE. 5.- On the Database Cloud Service compute node, prepare the database for the tablespace import. 6.- On the Database Cloud Service compute node, invoke Data Pump Import and connect to the database. 7.- After verifying that the data has been imported successfully, you can delete the dump file
30. Data Pump Transportable Tablespace You can use this method only if the on-premises platform is little endian, and the database character sets of your on-premises database and Oracle Database Cloud Service database are compatible. The Transportable Tablespace method is generally much faster than a conventional export/import of the same data because the data files containing all of the actual data are simply copied to the destination location. You use Data Pump to transfer only the metadata of the tablespace objects to the new database. To migrate an on-premises source database to the database deployment on Oracle Database Cloud Service using the Data Pump Transportable Tablespace method, you perform these tasks: 1.- On the on-premises database host, prepare the database for the Data Pump transportable tablespace export. 2.- On the on-premises database host, invoke Data Pump Export to perform the transportable tablespace export.
31. Data Pump Transportable Tablespace 3.- Use a secure copy utility to transfer the Data Pump Export dump file and the tablespace datafiles to the Database Cloud Service compute node. 4.- Set the on-premises tablespaces back to READ WRITE. 5.- On the Database Cloud Service compute node, prepare the database for the tablespace import. 6.- On the Database Cloud Service compute node, invoke Data Pump Import and connect to the database. 7.- Set the tablespaces on the Database Cloud Service database to READ WRITE mode. 8.- After verifying that the data has been imported successfully, you can delete the dump file.
32. Remote Cloning a PDB You can use this method only if the on-premises platform is little endian, the on-premises database release is 12.1.0.2 or higher, and the on-premises database and Database Cloud Service database have compatible database character sets and national character sets. You can use the remote cloning method to copy a PDB from your on-premises Oracle Database 12c database to a PDB in an Oracle Database 12c database on Oracle Database Cloud Service. To migrate an Oracle Database 12c PDB to a PDB in a Database Cloud Service database deployment using the remote cloning method, you perform these tasks: 1.- On the on-premises database host, invoke SQL*Plus and close the on-premises PDB and then reopen it in READ ONLY mode 2.- On the Database Cloud Service compute node, invoke SQL*Plus and create a database link that enables a connection to the on-premises database.
33. Remote Cloning a PDB 3.- On the Database Cloud Service compute node, execute the CREATE PLUGGABLE DATABASE command to clone the on-premises PDB. 4.- On the Database Cloud Service compute node, open the new PDB by executing the ALTER PLUGGABLE DATABASE OPEN command. 5.- Optionally, on the on-premises database host invoke SQL*Plus and set the on-premises PDB back to READ WRITE mode.
34. Remote Cloning Non-CDB You can use this method only if the on-premises platform is little endian, the on-premises database release is 12.1.0.2 or higher, and the on-premises database and Database Cloud Service database have compatible database character sets and national character sets. You can use the remote cloning method to copy an Oracle Database 12c non-CDB onpremises database to a PDB in an Oracle Database 12c database on Oracle Database Cloud Service. To migrate an Oracle Database 12c non-CDB database to a Database Cloud Service database deployment using the remote cloning method, you perform these tasks: 1.- On the on-premises database host, invoke SQL*Plus and set the on-premises database to READ ONLY mode. 2.- On the Database Cloud Service compute node, invoke SQL*Plus and create a database link that enables a connection to the on-premises database. 3.- On the Database Cloud Service compute node, execute the CREATE PLUGGABLE DATABASE command to clone the on-premises non-CDB database.
35. Remote Cloning Non-CDB 4.- On the Database Cloud Service compute node, execute the $ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql script. 5.- On the Database Cloud Service compute node, open the new PDB by executing the ALTER PLUGGABLE DATABASE OPEN command. 6.- Optionally, on the on-premises database host invoke SQL*Plus and set the on-premises database back to READ WRITE mode.
36. RMAN Cross-Platform Transportable PDB This method can be used only if the on-premises platform is little endian, and the database character sets of your on-premises database and Oracle Database Cloud Service database are compatible. To migrate an Oracle Database 12c PDB to a PDB in an Oracle Database 12c database on an Oracle Database Cloud Service deployment using the RMAN cross-platform transportable PDB method, you perform these tasks: 1.- On the on-premises database host, invoke SQL*Plus and close the on-premises PDB. 2.- On the on-premises database host, execute the ALTER PLUGGABLE DATABASE UNPLUG command to generate an XML file containing the list of datafiles that will be plugged in on the cloud database. 3.- On the on-premises database host, invoke RMAN and connect to the root. Execute the BACKUP FOR TRANSPORT PLUGGABLE DATABASE command.
37. RMAN Cross-Platform Transportable PDB 4.- Use a secure copy utility to transfer the XML file and the backup set to the Database Cloud Service compute node. 5.- On the Database Cloud Service compute node, invoke RMAN and connect to the root. Execute the RESTORE ALL FOREIGN DATAFILES command. 6.- the Database Cloud Service compute node, invoke SQL*Plus and connect to the root. Execute the CREATE PLUGGABLE DATABASE command. 7.- the Database Cloud Service compute node, execute the ALTER PLUGGABLE DATABASE OPEN command.
38. RMAN Cross-Platform Transportable Tablespace Backup Sets You can use this method only if the database character sets of your on-premises database and Oracle Database Cloud Service database are compatible. To migrate Oracle Database 12c on-premises tablespaces to an Oracle Database 12c database on an Oracle Database Cloud Service deployment using the RMAN cross-platform transportable backup sets method, you perform these tasks: 1.- On the on-premises database host, prepare the database by placing the user-defined tablespaces that you intend to transport in READ ONLY mode. 2.- On the on-premises database host, invoke RMAN and use the BACKUP command with the TO PLATFORM or FOR TRANSPORT clause and the DATAPUMP clause to create a backup set for cross-platform transport. See in "BACKUP" in Oracle Database Backup and Recovery Reference for Release 12.2 or 12.1 for more information on the BACKUP command. 3.- Use a secure copy utility to transfer the backup sets, including the Data Pump export dump file, to the Database Cloud Service compute node.
39. RMAN Cross-Platform Transportable Tablespace Backup Sets 4.- Set the on-premises tablespaces back to READ WRITE. 5.- On the Database Cloud Service compute node, prepare the database by creating the required schemas. 6.- On the Database Cloud Service compute node, invoke RMAN and use the RESTORE command with the foreignFileSpec subclause to restore the cross-platform backup. 7.- On the Database Cloud Service compute node, set the tablespaces on the database to READ WRITE mode.
40. RMAN Transportable Tablespace with Data Pump You can use this method only if the on-premises platform is little endian, and the database character sets of your on-premises database and Oracle Database Cloud Service database are compatible. You can use this method to eliminate placing the tablespaces in READ ONLY mode, as required by the Data Pump Transportable Tablespace method. To migrate an on-premises source database to a database deployment on Oracle Database Cloud Service using the RMAN Transportable Tablespace with Data Pump method, you perform these tasks: 1.- On the on-premises database host, invoke RMAN and create the transportable tablespace set. 2.- Use a secure copy utility to transfer the Data Pump Export dump file and the tablespace datafiles to the Database Cloud Service compute node.
41. RMAN Transportable Tablespace with Data Pump 3.- On the Database Cloud Service compute node, prepare the database for the tablespace import. 4.- On the Database Cloud Service compute node, invoke Data Pump Import and connect to the database. Import the data into the database using the TRANSPORT_DATAFILES option. 5.- After verifying that the data has been imported successfully, you can delete the dump file.
42. RMAN CONVERT Transportable Tablespace with Data Pump You can use this method only if the database character sets of your on-premises database and Oracle Database Cloud Service database are compatible. This method is similar to the Data Pump Transportable Tablespace method, with the addition of the RMAN CONVERT command to enable transport between platforms with different endianness. Query V$TRANSPORTABLE_PLATFORM to determine if the onpremises database platform supports cross-platform tablespace transport and to determine the endian format of the platform. The Oracle Database Cloud Service platform is littleendian format. To migrate tablespaces from your on-premises Oracle database to a database deployment on Database Cloud Service using RMAN, you perform these tasks: 1.- On the on-premises database host, prepare the database for the Data Pump transportable tablespace export. 2.- On the on-premises database host, invoke Data Pump Export to perform the transportable tablespace export.
43. RMAN CONVERT Transportable Tablespace with Data Pump 3.- On the on-premises database host, invoke RMAN and use the CONVERT TABLESPACE command to convert the tablespace datafile to the Oracle Database Cloud platform format. Refer to the Oracle Database Backup and Recovery Reference for more information on the CONVERT command. 4.- Use a secure copy utility to transfer the Data Pump Export dump file and the converted tablespace datafiles to the Database Cloud Service compute node. 5.- Set the on-premises tablespaces back to READ WRITE. 6.- On the Database Cloud Service compute node, prepare the database for the tablespace import. 7.- On the Database Cloud Service compute node, invoke Data Pump Import and connect to the database.
44. RMAN CONVERT Transportable Tablespace with Data Pump 8.- On the Database Cloud Service compute node, set the tablespaces in the database to READ WRITE mode. 9.- After verifying that the data has been imported successfully, you can delete the dump file.
45. SQL Developer and INSERT Statements to Migrate Selected Objects You can use SQL Developer to create a cart into which you add selected objects to be loaded into an Oracle Database 12c database on Oracle Database Cloud Service. In this method, you use SQL INSERT statements to load the data into your cloud database. To migrate selected objects to an Oracle Database 12c database on a Database Cloud Service deployment using SQL Developer and INSERT statements, you perform these tasks: 1.- Launch SQL Developer, connect to your on-premises database and create a cart containing the objects you want to migrate. 2.- In SQL Developer, click the Export Cart icon and select “Insert” in the Format menu. 3.- In SQL Developer, open a connection to the Oracle Database 12c database on Database Cloud Service and execute the generated script to create the database objects. 4.- In SQL Developer, open a connection to the Oracle Database 12c database on Database Cloud Service and run the generated script to create the objects and load the data.
46. Unplugging/Plugging a PDB You can use this method only if the on-premises platform is little endian, and the onpremises database and Database Cloud Service database have compatible database character sets and national character sets. You can use the unplug/plug method to migrate an Oracle Database 12c PDB to a PDB in an Oracle Database 12c database on an Oracle Database Cloud Service database deployment. If your source PDB is encrypted, you must export the master encryption key and then import it on the database deployment. To migrate an Oracle Database 12c PDB to a PDB in the Oracle Database 12c database on a Database Cloud Service database deployment using the plug/unplug method, you perform these tasks: 1.- On the on-premises database host, invoke SQL*Plus and close the on-premises PDB. 2.- On the on-premises database host, execute the ALTER PLUGGABLE DATABASE UNPLUG command to generate an XML file containing the list of datafiles that will be plugged in to the database on Database Cloud Service.
47. Unplugging/Plugging a PDB 3.- Use a secure copy utility to transfer the XML file and the datafiles to the Database Cloud Service compute node. 4.- On the Database Cloud Service compute node, invoke SQL*Plus and execute the CREATE PLUGGABLE DATABASE command to plug the database into the CDB. 5.- On the Database Cloud Service compute node, open the new PDB by executing the ALTER PLUGGABLE DATABASE OPEN command.
48. Unplugging/Plugging Non-CDB You can use this method only if the on-premises platform is little endian, and the onpremises database and Database Cloud Service database have compatible database character sets and national character sets. You can use the unplug/plug method to migrate an Oracle Database 12c non-CDB database to a PDB in an Oracle Database 12c database on an Oracle Database Cloud Service database deployment. This method provides a way to consolidate several non-CDB databases into a single Oracle Database 12c multitenant database on Database Cloud Service. To migrate an Oracle Database 12c non-CDB database to the Oracle Database 12c database on a Database Cloud Service database deployment using the plug/unplug method, you perform these tasks: 1.- On the on-premises database host, invoke SQL*Plus and set the on-premises database to READ ONLY mode. 2.- On the on-premises database host, execute the DBMS_PDB.DESCRIBE procedure to generate an XML file containing the list of datafiles that will be plugged in on the cloud database.
49. Unplugging/Plugging Non-CDB 3.- Use a secure copy utility to transfer the XML file and the datafiles to the Database Cloud Service compute node. 4.- On the Database Cloud Service compute node, invoke SQL*Plus and execute the CREATE PLUGGABLE DATABASE command to plug the database into the CDB. 5.- On the Database Cloud Service compute node, execute the $ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql script to delete unnecessary metadata from the SYSTEM tablespace of the new PDB. 6.- On the Database Cloud Service compute node, open the new PDB by executing the ALTER PLUGGABLE DATABASE OPEN command. 7.- Optionally, on the on-premises database host invoke SQL*Plus and set the on-premises database back to READ WRITE mode.
53. Contact: Joel Pérez ACE Director Profile: https://apex.oracle.com/pls/otn/f?p=19297:4:17113909871 97101::NO:4:P4_ID:157 OCM Profile: http://education.oracle.com/education/otn/JoelPerez.htm Linked in: https://apex.oracle.com/pls/otn/f?p=19297:4:17113909871 97101::NO:4:P4_ID:157 www.Enmotech.com