Database Migration to Cloud – Strategies & Tools
-
Posted by Quest Customer Learning Team
- Last updated 2/25/21
- Share
Written by Kameswara Prasad, NTT Managed Services
This document discusses various database migration methods that are available or being offered by various cloud platforms. Few of them offer various services or tools to migrate Oracle Databases and few don’t. In such cases, what alternatives are available have been mentioned in the document. This document acts as a curtain-raiser to the upcoming documents/whitepapers on each migration strategy mentioned in the document.
Cloud platforms mentioned in this document include Oracle Cloud, Amazon Web Services (AWS), Azure, and Google Cloud Platform (GCP).
Benefits of Database Migration to Cloud
- Operations: Repetitive maintenance operations can be drastically reduced when deploying on a database cloud service. Software patching, upgrades, and backups can be performed with little to no human effort.
- Provisioning: Deploying new database environments or cloning existing environments can be fully automated using cloud-native tools. Manual installation and provisioning activities that can take days or weeks to complete on-premise can be reduced to hours or even minutes.
- Functionality: The ability to provision and scale database platforms dynamically with near-zero lead time can offer significant benefits. Data analysis, application testing, and ad-hoc reporting requirements can all be accommodated without having to go through lengthy CapEx approval processes, procurement, and provisioning lead times.
- License Cost Optimization: Database functionality that would typically require a license on-premise and associated costs can be consumed as needed as a service. This can alter the cost/benefit of using certain database features as needed without having to commit to license and ongoing support costs.
Choosing a Cloud Migration Strategy
Multiple factors need to be taken under consideration before kicking-off the migration:
- Data Volume: Knowing the volume of data will help determine which shape of the deployment is required for the migration.
- Application Down Time: Straightforward migration strategy may not provide the benefits of a minimal outage. To address this issue, you can take advantage of an advanced migration method that uses Data Guard or GoldenGate.
- Network Connectivity: OCI VCN Transit Routing, IPSec VPN, Internet gateway can be used to migrate to Oracle Cloud. For dedicated connectivity with improved speed and security, FastConnect is an option that is an expensive solution.
- Business Criticality: To maintain the availability of the production databases, pre-production, and dev or testing databases must be migrated to cloud-first.
- Data Complexity: Some migration methods have limitations for particular data types, which should be taken into consideration before selecting the migration strategy.
Key Cloud Players in Cloud Services
Let’s see what each of the cloud vendors is offering in-terms of migrating databases to the cloud.
Oracle Cloud
Oracle Database Cloud Service offers autonomous and co-managed Oracle Database solutions. Co-managed solutions are Bare Metal, Virtual Machine, and Exadata DB systems that you can customize with the resources and settings that meet your needs. Oracle currently offers a number of distinct cloud database services:
- Database Cloud Service – Virtual Machines: A virtual machine with the Oracle software pre-installed and tooling to simplify the management. This is a customer-managed service.
- Database Cloud Service – Bare Metal: Similar to the VM offering, but the database isn’t running inside a virtual machine. This is a customer-managed service.
- Exadata Cloud Service: An Exadata system housed in an Oracle data center, with additional tooling. This is a customer-managed service.
- Exadata Cloud at Customer: The same Exadata Cloud Service experience, but the server(s) are located in your own data center.
- Autonomous Data Warehouse: A fully managed warehouse solution based on the Oracle database running on Exadata.
- Autonomous Transaction Processing: A fully managed OLTP solution based on the Oracle database running on Exadata.
- MySQL Service: A fully managed database service equipped with massively-scalable integrated real-time analytics engine capable of handling Data warehouse and analytics environments.
- NoSQL: NoSQL Database Cloud Service is part of the Oracle Cloud Free Tier services. This is a server-less, fully managed pre-configured NoSQL database environment suitable for applications such as IoT, User Experience Personalization, Instant Fraud detection, etc.
- Big Data (SQL) Cloud Service: Cloud services based on the Hadoop ecosystem. That can include the Oracle Big Data SQL functionality
Amazon Web Services (AWS)
AWS allows Oracle databases to be run in two different ways:
- Elastic Compute Cloud (EC2): A conventional virtual machine that is self-managed. You pay for the VM (compute power, storage, and network traffic) like any AWS VM. Oracle licensing is your responsibility – BYOL (bring your own license).
- Relational Data Services (RDS) for Oracle: A DBaaS offering, with no OS system administration and tooling to greatly reduce DBA work. This can be licensed using BYOL or On-Demand Licensing. Some functionality, including file system access, is restricted or prevented entirely, as is typical of many DBaaS offerings. There are also RDS offerings for MySQL, MariaDB, Amazon Aurora, PostgreSQL, and MS SQL Server.
Data Migration Strategies with AWS
One-Step Migration: One-step migration is a good option for small databases that can be shut down for 24 to 72 hours. During the shut-down period, all the data from the source database is extracted, and the extracted data is migrated to the destination database in AWS. The destination database in AWS is tested and validated for data consistency with the source.
Two-Step Migration:
- The data is extracted from the source database at a point in time (preferably during non-peak usage) and migrated while the database is still up and running. Because there is no downtime at this point, the migration window can be sufficiently large. After you complete the data migration, you can validate the data in the destination database for consistency with the source and test the destination database on AWS for performance, for connectivity to the applications, and for any other criteria as needed.
- Data changed in the source database after the initial data migration is propagated to the destination before switch over. This step synchronizes the source and destination databases. This should be scheduled for a time when the database can be shut down (usually over a few hours late at night on a weekend). During this process, there won’t be any more changes to the source database because it will be unavailable to the applications. Normally, the amount of data that is changed after the first step is small compared to the total size of the database, so this step will be quick and thus requires only minimal downtime.
Minimal-Downtime Migration: Some business situations require database migration with little to no downtime. This requires detailed planning and the necessary data replication tools for proper execution.
There are a number of tools available to help with Minimal-Downtime migration. The AWS Database Migration Service supports a range of database engines including Oracle running either on-premise, in EC2, or RDS. Oracle GoldenGate is another option for real-time data replication, as are third-party tools such as Dbvisit Replicate or Attunity Replicate.
Continuous Data Replication: You can use continuous data replication if the destination database in AWS is used as a clone for reporting/BI or for Disaster Recovery (DR) purposes. In this case, the process is exactly the same as minimal-downtime migration, except that there is no switchover and the replication never stops.
Various Cloud Migration Services Offered by AWS
- AWS Database Migration Service (DMS) helps people move databases to and from AWS easily and securely. It supports most commercial and open-source databases and facilitates both homogeneous and heterogeneous migrations. DMS offers Change Data Capture technology to keep databases in sync and minimize downtime during migration. It is a managed service with no client install required.
- AWS Snowball: This is a feature of AWS Import/Export, addresses common challenges with large-scale data transfers, including high network costs, long transfer times, and security concerns. With Snowball, you don’t need to write any code or purchase any hardware to transfer your data. Create a job in the AWS Management Console, and a Snowball appliance will be automatically shipped to you. Copy your data to the appliance (it will be encrypted), and then ship it back. The data will be loaded to Amazon S3 on AWS and made accessible from your instances.
- Oracle RMAN Backup and Restore: You can use the Oracle Recovery Manager (RMAN) to back up your data, send the backup files to AWS through AWS Snowball, or by using VPN or AWS Direct Connect, and restore your database on AWS.
- AWS Storage Gateway: This is a service connecting an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization’s on-premises IT environment and the AWS storage infrastructure.
- Oracle Data Pump: You can use Oracle Data Pump to perform network export/import operations or send your dump file to the Oracle machines or to Amazon S3 for import operation.
- Oracle GoldenGate: This is a tool for replicating data between a source and one or more destination databases. You can use it to build high-availability architectures.
- Tsunami UDP: An open-source, file-transfer protocol that uses TCP control and UDP data for transfer over long-distance networks at a very fast rate. When you use UDP for transfer, you gain more throughput than is possible with TCP over the same networks.
- Oracle SQL Developer: It is a no-cost GUI tool available from Oracle for data manipulation, development, and management. This Java-based tool is available for Microsoft Windows, Linux, or Mac OS X.
- Oracle SQL*Loader: This is a bulk data-load utility available from Oracle for loading data from external files into a database. SQL*Loader is included as part of the full database client installation.
- Attunity: This tool replicates loads data efficiently across all major databases, data warehouses, and Hadoop platforms. It eliminates the need for manual ETL coding and can replicate data without the need to install software.
There are other targeted data services, which are not based on Oracle technology:
- DynamoDB: A NoSQL solution.
- ElasticCache: An in-memory caching solution.
- Nepture: A graph database solution.
- Redshift: A focused data warehouse solution.
- DocumentDB: A document database, based on MongoDB.
Microsoft Azure
Oracle certifies and supports many of its products on Microsoft’s hypervisor (Hyper-V) and their cloud services called Azure.
There is no DBaaS offering for Oracle, so if you want to use Azure, you would be responsible for the management of the operating systems and database in the virtual machines.
There are a number of Azure data services not based on Oracle.
However, there is a solution. We can host an Oracle DB container image inside Azure Container Instances (ACI). ACI is a container-as-a-service offering that removes the need to manage the underlying virtual machines. It also eliminates the need for setting up our orchestrator. Additionally, ACI-hosted containers (Linux only for now) are placed in a delegated subnet. This allows the Azure container instance to be available from inside a VNET without the need to open a public endpoint.
Finally, the data files (persistent) aspect of the database resides in Azure Files, which removes the need to manage our durable storage since Azure Files takes care of the local and geo-redundancy. Additionally, Azure Files can take snapshots, allowing us a point-in-time restore ability.
(Azure Files also support Virtual Network service endpoints that allow for locking down access to the resources within the VNET.)
ACI also offers fast start times, plus policy-based automatic restarting of the container upon failure.
There are a number of Azure data services not based on Oracle.
- SQL Server on VM: As the name suggests, this is a virtual machine with SQL Server installed on it.
- Azure SQL Database: A managed service based on SQL Server.
- SQL Data Warehouse: A managed service-focused data warehouse solution.
- Azure Database for MySQL: A managed service based on MySQL.
- Azure Database for MariaDB: A managed service based on MariaDB.
- Azure Database for PostgreSQL: A managed service based on PostgreSQL.
- A number of additional focused products for NoSQL, Caching, distributed architectures, and enterprise-scale data management.
Google Cloud Platform
The Oracle database isn’t supported to run on Google Cloud Platform, although it would certainly work if you installed it on a Linux or Windows virtual machine.
Google offers a number of data services to target different use cases.
- Cloud Bigtable: A scalable NoSQL solution.
- Cloud Datastore: A NoSQL document store.
- Cloud SQL: Managed MySQL and PostgreSQL solutions.
- Cloud Spanner: A highly scalable and highly available relational database solution.
- BigQuery: A fully managed data warehouse solution with SQL support.
Conclusion
When considered or compared various services/tool offerings by different cloud players, it was a bit typical to decide which vendor we have to choose for our migration. Overall, in terms of a wide range of services, AWS has a slight edge compared to others, whereas Oracle Autonomous Database Service is also a better consideration. However, factors mentioned in the migration strategy should be considered.
Azure & GCP have IaaS offerings but not SaaS offerings for Oracle DB. There were certain limitations with GCP in-terms of licensing. It is not an “authorized cloud” where Oracle accepts the virtual cores as a metric. It is not running with a hypervisor where Oracle accepts the virtual cores as a metric. It is not the Oracle Cloud where Oracle accepts to count the virtual cores, and even apply the core factor.
From a DBA perspective, DBAs will be busier than ever, engaging in designing and delivering data-driven capabilities to their businesses. The average DBA spends 90% of their time in maintenance. They’re shifting now to higher-value tasks, from tuning and provisioning to focusing on business analytics. They see it as an opportunity.
The rise of cloud-based databases is also helping DBAs guide their organizations into new technology realms, such as blockchain, the Internet of Things (IoT), and AI.
If you’re a DBA and your company uses the cloud – whether it’s infrastructure-as-a-service or platform-as-a-service – it’s time for you to start learning more about:
- How much your company is spending on your databases
- What your workloads look like on each of those
- How you could do performance tuning to cut the costs
- How to make sure to reduce your instance sizes after your tuning work completes
- How to follow up with the end users to make sure they’re still happy after the cost cuts
- How to take the credit for your hard work, and prove that you’re paying for yourself
References
- https://docs.cloud.oracle.com/en-us/iaas/Content/Database/Tasks/migrating.htm
- https://docs.aws.amazon.com/quickstart/latest/oracle-database/data-migration.html
- https://blogs.oracle.com/oracleuniversity/prepare-to-migrate-your-database-to-oracle-cloud
- https://cloud.google.com/solutions/migrate-oracle-workloads
- https://www.appliedis.com/oracle-database-as-a-service-on-azure-almost/
- https://oracle-base.com/articles/misc/oracle-databases-in-the-cloud
- https://blog.dbi-services.com/google-cloud-platform-instances-and-oracle-database-performance/
About the Author
Kameswara Prasad is a Database Administrator and Oracle Certified Professional with more than nine years of experience as an Oracle DBA with a demonstrated history of working in the information technology and services industry. He is skilled in AWS, OCI, Oracle EBS, Postgresql, OBIEE, ODI, Oracle Weblogic, Big Data, and Linux. He was based in Hyderabad, India.
Interested in Writing for SELECT?
Are you interested in getting your writing published and sharing your knowledge with other Oracle users? Quest Oracle Community is looking for writers to contribute to the SELECT Journal for our Quest Database & Technology Community audience. We are looking for writers with expertise in a variety of topics, including the following:
- Database sharding
- Database security
- Database performance
- Database development
- Database auditing
- And more!
For more information about how to get involved, please email [email protected].