Migrate to Oracle Base Database Service or Oracle Exadata Database Service on Dedicated Infrastructure

This section describes how to migrate your on-premises x86 server or Oracle Database Appliance workloads to Oracle Base Database Service or Oracle Exadata Database Service on Dedicated Infrastructure, and migrate your VMware applications to Oracle Cloud VMware Solution.

Architecture

Using Oracle Zero Downtime Migration, automate your database migration while experiencing minimal downtime when migrating your data from on-premises to the cloud.

Migrate your on-premises applications running on VMware to Oracle Cloud VMware Solution using VMware tools such as HCX and vMotion. Oracle Cloud VMware Solution gives you a fully automated implementation of a VMware software-defined data center (SDDC) within your OCI tenancy, running on OCI bare metal instances.

The following diagram illustrates this reference architecture.



x86-oda-migrate-base-exadata-vmware.zip

This architecture supports the following components:

  • Region

    An Oracle Cloud Infrastructure region is a localized geographic area that contains one or more data centers, called availability domains. Regions are independent of other regions, and vast distances can separate them (across countries or even continents).

  • Virtual cloud network (VCN) and subnet

    A VCN is a customizable, software-defined network that you set up in an Oracle Cloud Infrastructure region. Like traditional data center networks, VCNs give you complete control over your network environment. A VCN can have multiple non-overlapping CIDR blocks that you can change after you create the VCN. You can segment a VCN into subnets, which can be scoped to a region or to an availability domain. Each subnet consists of a contiguous range of addresses that don't overlap with the other subnets in the VCN. You can change the size of a subnet after creation. A subnet can be public or private.

  • Oracle Exadata Database Service on Dedicated Infrastructure

    Oracle Exadata Database Service on Dedicated Infrastructure provides Oracle Exadata Database Machine as a service in an OCI data center. The Oracle Exadata Database Service on Dedicated Infrastructure service can host many Oracle databases that run in one or more VM clusters that run on a single Exadata rack in an OCI region. Oracle Exadata Database Service on Dedicated Infrastructure is an ideal platform for database consolidation.

  • Oracle Base Database Service

    Oracle Base Database Service enables you to maintain absolute control over your data while leveraging the combined capabilities of Oracle Database and Oracle Cloud Infrastructure (OCI). OCI offers single-node database systems and multi-node RAC database systems on virtual machines. A single Oracle Base Database Service system can host a single Oracle container database (CDB). This container database can host multiple pluggable databases (PDB). Oracle Base Database Service is ideal for database consolidation for databases that can be migrated to pluggable databases.

  • Oracle Cloud VMware Solution Software-Defined Data Center (SDDC)

    Oracle and VMware have partnered to develop a VMware certified software-defined data center (SDDC) implementation for use within Oracle Cloud Infrastructure. This implementation, called the Oracle Cloud VMware Solution, uses OCI to host a highly available VMware SDDC. It also allows seamless migration of all your on-premises VMware SDDC workloads to Oracle Cloud VMware Solution. Oracle Cloud VMware Solution contains the following VMware components:

    • VMware vSphere ESXi
    • VMware vSAN
    • VMware vCenter
    • VMware NSX-T
    • VMware HCX (optional)
  • Bare metal

    An Oracle Cloud VMware Solution software-defined data center (SDDC) contains bare metal servers hosting Oracle Cloud VMware Solution. The bare metal server supports applications that require high core counts, large amounts of memory, and high bandwidth (such as Oracle Cloud VMware Solution). You can deploy Oracle Cloud VMware Solution on bare metal servers, and configure virtual machines with significant performance improvements compared to other public clouds and on-premises data centers.

  • Service gateway

    The service gateway provides access from a VCN to other services, such as Oracle Cloud Infrastructure Object Storage. The traffic from the VCN to the Oracle service travels over the Oracle network fabric and never traverses the internet.

  • Dynamic routing gateway (DRG)

    The DRG is a virtual router that provides a path for private network traffic between VCNs in the same region, between a VCN and a network outside the region, such as a VCN in another Oracle Cloud Infrastructure region, an on-premises network, or a network in another cloud provider.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect provides an easy way to create a dedicated, private connection between your data center and Oracle Cloud Infrastructure. FastConnect provides higher-bandwidth options and a more reliable networking experience when compared with internet-based connections.

  • File storage

    OCI File Storage is used during migration to import the migrated database from a shared file system.

  • Object storage

    OCI Object Storage is used during migration for temporary storage.

Before You Begin

Before you begin, check the versions of major components used in this setup, and review the product documentation for later reference.

Review Requirements

  • Ensure the source database is running on an x86 server or Oracle Database Appliance database is running version 19.18 Standard Edition or Enterprise Edition.
  • The target Oracle Exadata Database Service on Dedicated Infrastructure database must be Oracle Enterprise Extreme Performance version 19.18 or above.
  • The target Oracle Base Database Service database can be Standard Edition, Enterprise Edition, Enterprise Edition High Performance, Enterprise Edition Extreme Performance version 19.18 or above.
  • Oracle Zero Downtime Migration must be version 21.4 or above.
  • Intermediate storage must include OCI Object Storage, Oracle ZFS Storage Appliance (NAS), and OCI File Storage.

Review Documentation

This solution playbook describes how to migrate your database workloads. Refer to the solution below to learn how to migrate your VMware workloads. The additional resources are helpful for context, details, and reference for your database migration.

Learn how to migrate the VMware components of your workload to Oracle Cloud VMware Solution.

Review Oracle Zero Downtime Migration resources:

Review logical migration resources:

Review Oracle Database resources:

About Required Products and Roles

This solution requires the following products:

  • Oracle Cloud Infrastructure Identity and Access Management
  • OCI Compute
  • OCI Object Storage
  • OCI File Storage
  • Oracle Zero Downtime Migration
  • x86 server or Oracle Database Appliance
  • Oracle Exadata Database Service on Dedicated Infrastructure or Oracle Base Database Service

These are the roles needed for each product.

Product Name: Role Required to...
Oracle Cloud Infrastructure Identity and Access Management: OCI_user Create API keys to upload data to bucket
OCI Compute: admin Create OCI Compute instance to run Oracle Zero Downtime Migration software
OCI Object Storage: Storage Admin Create OCI Object Storage buckets to upload exported data
OCI File Storage: Storage Admin Create OCI File Storage for logical migration
Oracle Zero Downtime Migration: opc Create zdmuser to install and run Oracle Zero Downtime Migration software
Oracle Zero Downtime Migration: zdmuser
  • Install Oracle Zero Downtime Migration software
  • Run Oracle Zero Downtime Migration
x86 server or Oracle Database Appliance: root/sudoer user
  • Mount network file system share from network attached storage device to export database for logical migrations
  • Enable passwordless ssh from Oracle Zero Downtime Migration virtual machine
  • Run sudo commands to install Oracle Zero Downtime Migration software agent
  • Run sudo commands to backup or export database
x86 server or Oracle Database Appliance Database: sys/system Run Data Pump to export database
Oracle Exadata Database Service on Dedicated Infrastructure or Oracle Base Database Service: Database Admin Create target database
Oracle Exadata Database Service on Dedicated Infrastructure or Oracle Base Database Service VM Cluster Nodes: opc
  • Mount network file system share from OCI File Storage to import database for logical migrations
  • Enable passwordless ssh from Oracle Zero Downtime Migration virtual machine
  • Install Oracle Zero Downtime Migration software agent
  • Run sudo commands to restore or import database
Oracle Exadata Database Service on Dedicated Infrastructure or Oracle Base Database Service Database: sys/system Run Data Pump to import database for logical migration

See Oracle Products, Solutions, and Services to get what you need.

Considerations for Migration

Before you begin your migration, review these assumptions and considerations.

  • Oracle Zero Downtime Migration supports two types of database migrations from x86 server or Oracle Database Appliance to Oracle Base Database Service and Oracle Exadata Database Service on Dedicated Infrastructure: logical migration and physical migration. We recommend using logical migration because this method is the simplest. Physical migrations require the source and target databases to be at the same patch level.
  • The steps in this playbook describe how to migrate using an offline logical migration, see the Review Documentation section for information on how to migrate using an online logical migration. During logical online migration, Oracle Zero Downtime Migration configures Oracle GoldenGate for migrations between the source and target databases to ensure the databases are always online during migration.
  • During logical migration, pluggable databases (PDBs) and/or schemas are migrated. Non-container databases (non-CDB) are migrated to pluggable databases configured in a container database running on Oracle Base Database Service or Oracle Exadata Database Service on Dedicated Infrastructure.
  • A shared file system is required for logical migrations. During logical migration, Oracle Zero Downtime Migration will not export the data directly to OCI Object Storage. On the source database, Oracle Zero Downtime Migration exports data to a shared file system (either network file system or Oracle Advanced Cluster File System). Exported data is then uploaded to OCI Object Storage. Oracle Zero Downtime Migration then moves the data dumps from OCI Object Storage to OCI File Storage. Finally, Oracle Base Database Service or Oracle Exadata Database Service on Dedicated Infrastructure can import the data from OCI File Storage via network file system.
  • On-premises x86 server or Oracle Database Appliance databases can run both single-instance and RAC databases. Oracle Base Database Service can run both single-instance and RAC databases, while Oracle Exadata Database Service on Dedicated Infrastructure always runs RAC databases. During database migration, Oracle Zero Downtime Migration converts single-instance to RAC databases when required.
  • Oracle Transparent Data Encryption database encryption is optional for on-premise databases running on x86 servers or Oracle Database Appliance. When migrating databases to Oracle Base Database Service or Oracle Exadata Database Service on Dedicated Infrastructure, the target database will always be encrypted.
  • The source and target databases must run the same timezone files. For instructions, refer to "Upgrading the Time Zone File and Timestamp with Time Zone Data" in the Review Documentation section.
  • The steps in this playbook assume there is direct network connectivity between the Data Center where Oracle Database Appliance is installed, and the OCI Virtual Cloud Network where the target database and the Oracle Zero Downtime Migration virtual machine is configured (via FastConnect or IPSec VPN as shown in the architecture diagram).
  • The source and target databases do not have to have the same sys password, wallet password, database version, database name, and patch level.

Migrate Using Logical Migration

The following steps describe how to perform an offline logical migration. For online migration, see Step-by-Step Guide - Logical Online Migration from On-Premises to Oracle Autonomous Database in the Review Documentation section.

  1. Create a target Oracle Exadata Database Service on Dedicated Infrastructure or Oracle Base Database Service database using the OCI console or REST API. Configure the database as follows:
    • The new target database can have a different name than the source database.
    • The new database can be a newer version than the source database.
    • Provide a password for the sys user. Take note of the password.
    Note the database OCID after the database is created.
  2. In the OCI console, create a compute instance in the same VCN where the target database will be configured.
    This compute instance can be any shape, with at least two OCPUs and 16GB of RAM, running the Oracle Linux 7.9 operating system. This virtual machine will be used to run the Oracle Zero Downtime Migration software.
  3. Follow the Oracle Zero Downtime Migration installation documentation in the Review Documentation section to download and install Oracle Zero Downtime Migration 21.4 software on the OCI compute instance.
    Run Oracle Zero Downtime Migration software as the zdmuser.
  4. Log in as the zdmuser to the compute instance running Oracle Zero Downtime Migration software, and generate an ssh key-pair. Enable passwordless ssh from the zdmuser account to all nodes on the source database (root, privilege-sudoer user).
  5. Ensure the Oracle Zero Downtime Migration VM can communicate with the source database hosts using hostname and IP address. Verify the following:
    • Modify the VCN DNS resolver, or the /etc/hosts file in the Oracle Zero Downtime Migration VM if necessary.
    • Verify there is a security rule that allows the Oracle Zero Downtime Migration VM to connect to the source database on the default listener port 1521 and ssh port 22.
    • Ensure the Oracle Zero Downtime Migration VM can reach the target database hosts on the default listener port 1521 and ssh port 22.
  6. On the Oracle ZFS Storage Appliance, or network attached storage device, create a network file system share to be used as a placeholder for the database data dumps while the migration progresses.
  7. Mount the network file system share on all nodes of the source database.
    Ensure all users have read, write, exec (rwx) permissions. Take note of the mount point.
  8. In the OCI console, create an OCI File Storage.
    Note the mount target, export, and IP address of the Virtual Cloud Network (VCN).
  9. Use the IP address and export from Step 8 to mount this file storage via network file system on all nodes of the target database VM cluster.
    Ensure the VCN includes a security policy to allow the network file system protocol on the target database subnet. Note the mount point.
  10. In the OCI console, create an OCI Object Storage bucket if one does not already exist.
    Note the Swift URL, object storage namespace, and bucket name.
  11. In the OCI console, create an API key for the OCI user who owns the target database and also has permissions to upload data to the OCI Object Storage bucket created in step 10.
    Note the user OCID, tenancy OCID, fingerprint, and OCI region. Save the corresponding private and public keys on PEM files. This API key will be used by Oracle Zero Downtime Migration to connect to OCI to obtain target database information during database migration and to upload data dumps to OCI Object Storage.
  12. Copy the PEM files from the previous step to the Oracle Zero Downtime Migration VM.
  13. Log in as the sys user to the source database to ensure the parameter Streams_Pool_Size is set to at least 2G, for example:
    SQL>show parameter streams_pool_size;
    SQL>alter system set streams_pool_size=2G scope=both SID=’*’;                  
  14. Use Oracle Zero Downtime Migration's logical migration response file template included with Zero Downtime Migration to create a response file for the migration. Key parameters are:
    • TARGETDATABASE_OCID: OCID of the target database from step 1.
    • MIGRATION_METHOD: OFFLINE_LOGICAL
    • DATA_TRANSFER_MEDIUM: OSS
    • TARGETDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_CONNECTIONDETAILS_HOST: IP/hostname of the first node on the source database.
    • SOURCEDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCEDATABASE_CONNECTIONDETAILS_SERVICENAME: Service name of the source pluggable database (PDB) or non-container database (CDB). Use lsnrctl to find.
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_TENANTID: Tenancy OCID from step 11.
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_USERID: User OCID from step 11.
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_FINGERPRINT: Fingerprint from step 11.
    • OCIAUTHENTICATIONDETAILS_PRIVATEKEYFILE: File path to private key PEM file on the Oracle Zero Downtime Migration server from step 12.
    • OCIAUTHENTICATIONDETAILS_REGIONID: OCI region ID for the OCI user from step 11.
    • TARGETDATABASE_CONNECTIONDETAILS_HOST: IP/hostname of the first VM on the target database system.
    • TARGETDATABASE_CONNECTIONDETAILS_PORT: 1521
    • TARGETDATABASE_CONNECTIONDETAILS_SERVICENAME: Service name for the target pluggable database in the target database. Use lsnrctl to find.
    • SOURCECONTAINERDATABASE_ADMINUSERNAME: system
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_HOST: IP/hostname of the first node on the source database.
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_SERVICENAME: Service name for the source container database on the source server. Use lsnrctl to find).
    • DATAPUMPSETTINGS_JOBMODE: SCHEMA
    • DATAPUMPSETTINGS_FIXINVALIDOBJECTS: TRUE
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_PATH: Network file system mount point from step 6.
    • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_PATH: Network file system mount point from step 8.
    • DATAPUMPSETTINGS_CREATEAUTHTOKEN: TRUE
    • DATAPUMPSETTINGS_DATAPUMPPARAMETERS_IMPORTPARALLELISMDEGREE: Comment this line with a number sign (#) if the target is an Oracle Base Database Service running Oracle Standard Edition 2. Otherwise, enter a number greater than two, or use the Oracle Zero Downtime Migration default (CPU count).
    • DATAPUMPSETTINGS_DATAPUMPPARAMETERS_EXPORTPARALLELISMDEGREE: Comment this line with a number sign (#) if the source database is running Oracle Standard Edition 2. Otherwise, enter a number greater than two, or use the Oracle Zero Downtime Migration default (CPU count).
    • DATAPUMPSETTINGS_DATABUCKET_NAMESPACE: OCI Object Storage namespace from step 10.
    • DATAPUMPSETTINGS_DATABUCKET_BUCKETNAME: OCI Object Storage bucket name from step 10.
    • TABLESPACEDETAILS_AUTOCREATE: TRUE
    • TABLESPACEDETAILS_USEBIGFILE: TRUE
    • TABLESPACEDETAILS_EXTENTSIZEMB: 512
    • EXCLUDEOBJECTS-1: owner:PDBADMIN
  15. Run an Oracle Zero Downtime Migration dry run migration job (-eval), to validate all prerequisites for migration are met. This runs the Cloud Pre-Migration Advisor Tool (CPAT) to validate the source database is suitable for migration to the target database using Oracle Zero Downtime Migration logical migration. Address issues reported by CPAT before continuing. For example:
    
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_first_x86_server/Oracle_Database_Appliance_node \
    -srcauth zdmauth \
    -srcarg1 user:root_or_sudoer_user \
    -srcarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name_from_step_4 \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_14 \
    -eval
    This command asks for two passwords. The first password is the system password for the source database. The second password is the system password for the target database.
    Note the Oracle Zero Downtime Migration job ID.
    After a successful dry run migration, proceed to the next step.
  16. After a dry run migration is successful, run the Oracle Zero Downtime Migration job. For example:
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_first_x86_server/Oracle_Database_Appliance_node \
    -srcauth zdmauth \
    -srcarg1 user:root_or_sudoer_user \
    -srcarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name_from_step_4 \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_14
    This command asks for two passwords. The first password is the system password for the source database. The second password is the system password for the target database.
    Note the Oracle Zero Downtime Migration job ID.