Migrando una Base de Datos Oracle On-premise(PDB) a Oracle Cloud Usando Remote Cloning

Por Joel Pérez Oracle ACE director, Skant Gupta Oracle ACE & César Aguilar
Publicado en Mayo 2018

Revisado por Diana Patino



Antes de comenzar, tal vez quieras conocer otros métodos para migrar una Base de Datos Oracle On-Premise a Oracle Cloud:
Usando Data Pump Full Transportable
Usando Data Pump Transportable Tablespace
Desde una on-premise (Non-CDB), usando Remote Cloning
Usando RMAN Cross-Platform Transportable PDB

 


Este método puede ser usado si se cumple con tres características: la plataforma on-premise  debe ser“little endian”, la base de datos on-premise debe ser versión 12.1.0.2 o superior y la base de datos on-premise y la del Database Cloud Service deben ser compatibles en el “character sets” y el “national character sets”.

El método remote cloning puede ser usado para copiar una PDB de nuestra base de datos Oracle 12c on-premise para una PDB en Oracle 12c del Oracle Database Cloud Service.

Para migrar una PDB para el Database Cloud Service usando el método remote cloning, se debe realice las siguientes tareas:

1.- En el servidor de base de datos on-premise, invoque el SQL*Plus y cierre la PDB on-premise, ábrala nuevamenteabraen modo READ ONLY.

2.- Cree la base de datos en el Database Cloud Service.

3.- En el nodo del Database Cloud Service, invoque el SQL*Plus y cree un dblink que habilite una conexión con la base de datos on-premise.

4.- En el nodo del Database Cloud Service, ejecute el comando CREATE PLUGGABLE DATABASE para clonar la PDB on-premise.

5.- En el nodo del Database Cloud Service, abra la nueva PDB ejecutando el comando ALTER PLUGGABLE DATABASE OPEN.

6.- Opcionalmente, en la base de datos on-premise invoque el SQL*Plus y coloque la PDB on-premise de regreso en modo READ WRITE.



Ejemplo: Base de Datos on-premise (PDB) hacia la Nube Usando Remote Cloning


Este ejemplo proporciona una demostración paso a paso de las tareas requeridas para migrar una PDB on-premise para una PDB en el Oracle Database Cloud Service usando remote cloning.

El ejemplo es para clonar una PDB on-premise para un DBaaS CBD remoto como una nueva PDB.

La PDB on-premise es un servidor Linux.


En el servidor de base de datos on-premise:

1. Invoque el SQL*Plus, cierre la PDB on-premise y luego vuelva a abrirla en modo READ ONLY.

a) Invoque el SQL*Plus e ingrese a la base de datos on-premise con el usuario SYS.

[oracle@cloud ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sun Jun 4 11:47:11 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the 
Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL>
   


b) Cierre la PDB on-premise PREM_PDB

SQL> ALTER PLUGGABLE DATABASE pdb_prem CLOSE;

Pluggable database altered.

SQL>
   


c) Abra la PDB on-premise PREM_PDB en modo read-only.

SQL> ALTER PLUGGABLE DATABASE pdb_prem OPEN READ ONLY;

Pluggable database altered.

SQL>
   



2.- Creando la nueva Base de Datos Cloud Service

a) Ingrese a la cuenta del Oracle Cloud, diríjase a la página "Oracle Database Cloud Service" y cree un nuevo servicio.

  • En Service Name, ingrese Cloud-Mig12c.
  • En Service Level, seleccionar Oracle Database Cloud Service.
  • En Metering Frequency, seleccionar la frecuencia apropiada para el ambiente.
  • En Software Release, seleccionar Oracle Database 12c Release1.
  • En Software Edition, seleccionar Enterprise Edition.
  • En Database Type, seleccionar Single Instance.

Presione click en Next para continuar.


Figure1. Creando un nuevo servicio (Cloud-Mig12c)


b) En la pantalla de Service Details, realice lo siguiente:

  • Para el DB Name (SID), ingrese PRODDB.
  • Ingrese el Administrative Password deseado y confirme la contraseña (esta será la contraseña del sys).
  • En Usable Database Storage (GB), ingrese 25.
  • Para el Compute Shape, seleccionar OC3 -1 OCPU, 7.5GB RAM (este es el mínimo requerido).
  • Para SSH Public Key, ingrese rsa-key-20170111.pub

Presione click en Next para continuar.


Figura 2. Especificando los detalles del servicio


c) Finalmente, revise la configuración y dede click en Create para crear la base de datos en la nube.


Figure 3. Creando la instancia de base de datos cloud.


Después de unos pocos minutos, visualizará que la instancia de base de datos en la nube ha sido creada satisfactoriamente.


Figure 4. La base de datos primaria ha sido creada


d) Presione Click en service name (Cloud-Mig12c) para abrir la página principal de la base de datos.


Figure 5. Página principal de la base de datos cloud


e) Antes de intentar conectarse a la instancia de la base de datos primaria en la nube, se debe habilitar el dblistener en la sección Access Rules, haciendo lo siguiente:

e.1. Abra el servicio de la base de datos y seleccione Access Rules del menú.


Figure 6. Seleccionando la opción Access Rules


e.2. Para la regla ora_p2_dblistener, seleccione Enable del menú Actions.


Figura 7. Habilitando la regla ora_p2_dblistener




Conexión a la Base de Datos Cloud


Abra una instancia de PuTTY y conéctese al nodo usando la llave pública SSH.


Figure 8. Conexión al nodo usando PuTTY



3.- En el nodo del Database Cloud Service, invoque el SQL*Plus y cree un dblink para habilitar la conexión con la base de datos on-premise.

a) En el servidor de base de datos on-premise, invoque el SQL*Plus e ingrese a la base de datos con el usuario SYS.

[oracle@Cloud-Mig12c ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sun Jun 4 06:33:14 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit ProductionWith the Partitioning, 
Oracle Label Security, OLAP, Advanced Analytics and Real Application Testing options

SQL>
   

b) Cree un dblink en el DBaaS PRODDB CDB para conéctarse con la PDB on-premise PREM_PDB.

SQL> CREATE DATABASE LINK link_prem CONNECT TO system IDENTIFIED BY sys USING 'PDB_PREM';

Database link created.

SQL>
   




4.- En el nodo del Database Cloud Service, ejecute el comando CREATE PLUGGABLE DATABASE para clonar la PDB on-premise.

a) Cree un directorio para los datafiles de PDB clonada.

[oracle@Cloud-Mig12c ~]$ mkdir -p /u02/app/oracle/oradata/PRODDB/PDB_PREM

[oracle@Cloud-Mig12c ~]$
   

b) Cree la nueva PDB PDB2 en el DBaaS CDB.

SQL> CREATE PLUGGABLE DATABASE pdb2 FROM PDB_PREM@link_prem CREATE_FILE_DEST = 
'/u02/app/oracle/oradata/PRODDB/PDB_PREM' TEMPFILE REUSE;
Pluggable database created. SQL>




5.- En el nodo del Database Cloud Service, abra la nueva PDB ejecutando el comando ALTER PLUGGABLE DATABASE OPEN

a) Conéctese a la nueva PDB usando el service name configurado en el archivo tnsnames.ora

[oracle@Cloud-Mig12c ~]$ sqlplus sys@pdb2 as sysdba



SQL*Plus: Release 12.1.0.2.0 Production on Sun Jun 4 12:45:44 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter password:

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the 
Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> SHOW con_name

CON_NAME

------------------------------

PDB2

SQL>
   


b) Ahora podemos abrir la nueva PDB en el DBaaS CDB.

SQL> ALTER PLUGGABLE DATABASE pdb2 OPEN;

Pluggable database altered.

SQL> CONNECT SYSTEM@PDB2

Enter password:

Connected.

SQL>
   




6.- Opcionalmente, en el servidor de base de datos on-premise, invoque el SQL*Plus y coloque la PDB de regreso a modo READ WRITE.

a) En el servidor de base de datos on-premise, invoque el SQL*Plus e ingrese a la base de datos on-premise con el usuario SYS.

[oracle@cloud ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sun Jun 4 11:47:11 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the 
Partitioning, OLAP, Advanced Analytics and Real Application Testing options


SQL>
   


b) Cierre la on-premise PDB PREM_PDB.

SQL> ALTER PLUGGABLE DATABASE pdb_prem CLOSE;

Pluggable database altered.

SQL>
   


c) Abra la on-premise PDB PREM_PDB en modo read-write.

SQL> ALTER PLUGGABLE DATABASE pdb_prem OPEN;

Pluggable database altered.

SQL>
   




Joel Pérez es un experto DBA (Oracle ACE Director, Maximum Availability OCM, OCM Cloud & OCM12c/11g) con más de 17 años de experiencia real en el mundo de la tecnología Oracle, especializado en diseño e implementación de soluciones de: Nube, Alta disponibilidad, Recuperación contra desastres, Upgrades, Replicación y toda área relacionada con bases de datos Oracle. Orador habitual en eventos internacionales de materia Oracle. Escritor de artículos para OTN español, portugués e Inglés. Joel se desempeña actualmente como: Database Cloud Solution Architect & International Business Manager para la compañía http://en.enmotech.com/ Yunhe Enmo (Beijing) Technology Co. Ltd. Beijing, China. LinkedIn: https://www.linkedin.com/in/sirdbaasjoelperez/ & Joel Pérez’s Blog: http://blog.enmotech.com/

Skant Gupta es un Oracle Certified Professional Cloud, 12c & 11g RAC Certified, se desempeña como Senior DBA en Etisalat, Dubai. Más de 5 años en diversas tecnologías de Oracle, focalizado principalmente en bases de datos, soluciones de alta disponibilidad, weblogic y GoldenGate. Podrá seguirlo en su blog: http://oracle-help.com

César Aguilar es un DBA Oracle Certified Professional Cloud, OCE RAC 11g, OCP12c, OCP/OCA 11g, Oracle Database12c Certified Implementation Specialist, con experiencia en RAC, Data Guard y otras soluciones de alta disponibilidad. Actualmente se encuentra radicado en Ecuador y trabaja para la compañía Refundation Consulting Group “http://www.refundation.com” como Senior DBA

Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en cumplimiento de las normas y prácticas para el uso de los productos Oracle.