Learn About Migrating a PDB to a Multi-Tenant Database Architecture in the Cloud
When your on-premises platform is little endian, you can use the plug/unplug method to migrate databases to a multi-tenant environment in the cloud. This method requires that the source and target databases have compatible database character sets and national character sets.
Before You Begin
Architecture
This architecture shows the components used when migrating a database with the plug/unplug method. Use this architecture when planning to migrate a pluggable database (PDB) from a container database (CDB) on-premises to a compatible CDB in Oracle Cloud.

Description of the illustration migrate-pdb-db.png
To migrate an Oracle Database 19c PDB to the same version in Oracle Cloud Infrastructure, perform these tasks:
- Connect to the on-premises source database.
- Close the source PDB by invoking SQL*Plus.
- Unplug the PDB and generate a PDB manifest file that contains the list of data files that will be plugged into the container database (CDB) in the cloud.
- Copy the PDB manifest file to the multi-tenant database architecture (CDB) in the cloud using the secure copy (scp) utility.
- Plug the PDB into the multi-tenant database architecture and open the PDB by invoking SQL*Plus.
- Validate the migration.
This architecture supports the following components:
- Databases
The source database is Oracle Database 19c and the target database is an Oracle Cloud Infrastructure virtual machine instance. You can provision the target from the Console, or you can use Terraform code to deploy the topology. The Terraform code includes input variables, which you can use to tune the architecture to suit your topology requirements.
- Bastion host
The bastion host is a compute instance that serves as a secure, controlled entry point to the topology from outside the cloud. The bastion host is provisioned typically in a demilitarized zone (DMZ). It enables you to protect sensitive resources by placing them in private networks that can't be accessed directly from outside the cloud. The topology has a single, known entry point that you can monitor and audit regularly. So, you can avoid exposing the more sensitive components of the topology without compromising access to them.
- 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).
- Availability domain
Availability domains are standalone, independent data centers within a region. The physical resources in each availability domain are isolated from the resources in the other availability domains, which provides fault tolerance. Availability domains don’t share infrastructure such as power or cooling, or the internal availability domain network. So, a failure at one availability domain is unlikely to affect the other availability domains in the region.
- SQL*Net
SQL*Net is used to access and move the PDB from the source to the target CDB. The source and target databases must have SQL*Net access to port 1521 and to each other.
- Security list
For each subnet, you can create security rules that specify the source, destination, and type of traffic that must be allowed in and out of the subnet.
- Route table
Virtual route tables contain rules to route traffic from subnets to destinations outside a VCN, typically through gateways.
A private connection between on-premises and the cloud. Connectivity includes the following components:
- VPN Connect
VPN Connect provides site-to-site IPSec VPN connectivity between your on-premises network and VCNs in Oracle Cloud Infrastructure. The IPSec protocol suite encrypts IP traffic before the packets are transferred from the source to the destination and decrypts the traffic when it arrives.
- 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.
- Dynamic routing gateway (DRG)
The DRG is a virtual router that provides a path for private network traffic 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.
Terraform code to deploy the target cloud topology is available on GitHub. Install Terraform on the on-premises source database host system, then execute the code from the source database host system to build the Oracle Cloud Infrastructure components in the cloud. You can use the code to provision the required networking resources, a compute instance for the bastion server, and a virtual machine database (VM DB) system.
About Required Services, Products, and Roles
This solution requires the following services, products, and roles:
- Oracle Database 19c or higher deployed on-premises
- Oracle Linux 7 or higher
- SQL*Plus
- Oracle Object Storage in Oracle Cloud Infrastructure
- Container database in Oracle Cloud Infrastructure
These are the roles needed for each service.
Service Name: Role | Required to... |
---|---|
Oracle Cloud Infrastructure: Admin | Create the target virtual machine DB System, CDB, and set up resources in Oracle Cloud. |
Oracle Cloud Infrastructure Object Storage: Admin | Create a bucket to store the data files from the on-premises PDB. |
SQL*Plus: sysdba | Access the database using SQL*Plus. |
See Learn how to get Oracle Cloud services for Oracle Solutions to get the cloud services you need.