Nota:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la capa gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Clonar una base de datos conectable en línea de forma remota entre sistemas de base de datos en Oracle Base Database Service mediante el enlace de base de datos
Introducción
Puede crear clonaciones de sus bases de datos conectables (PDB) en la misma base de datos (base de datos de contenedor) en un sistema de base de datos. Esta operación se conoce como clonación local. Esto se puede lograr fácilmente mediante la consola. También puede clonar una PDB en una base de datos diferente (base de datos de contenedor) de un sistema de base de datos diferente. Esta operación se conoce como clonación remota.
La clonación remota requiere dos sistemas de base de datos, ya que cada sistema de base de datos solo admite una base de datos (base de datos de contenedor). La clonación remota de PDB aún no está disponible en la consola. Puede crear una clonación remota mediante la API RemoteclonePluggabledatabase mediante un enlace de base de datos y con herramientas basadas en API, incluidas la CLI, los SDK y Terraform de OCI.
En este tutorial se guía con los pasos para clonar de forma remota una PDB mediante un enlace de base de datos en Oracle Base Database Service.
Objetivos
Clonación en línea remota de una PDB en un sistema de base de datos diferente en Oracle Base Database Service mediante un enlace de base de datos.
Requisitos
- Conocimientos de Oracle Base Database Service.
- Dos servicios de base de datos Oracle base, ya sea en la misma VCN o en diferentes VCN.
- Intercambio de VCN si estos sistemas de base de datos están en un intercambio de VCN de VCN diferente.
- A continuación, se muestran los nombres de entorno utilizados en este tutorial para facilitar la comprensión.
- Nombre de sistema de base de datos origen: SOURCE
- Nombre de sistema de base de datos de destino: TARGET
- Nombre de la PDB de origen: SOURCE_PDB1
- Clonar nombre de PDB: CLONE_PDB1
Tarea 1: Preparación del entorno de origen
-
Cree un usuario con fines de clonación en la CDB de origen mediante el siguiente comando.
CREATE USER c##clone IDENTIFIED BY <PASSWORD> CONTAINER=ALL; GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO c##clone CONTAINER=ALL;
-
Compruebe el contenido del objeto en la PDB de origen: en este ejemplo estamos considerando la tabla
TEST.PERSONS
como referencia.-
Nombre de esquema: TEST
-
Nombre de tabla: PERSONS
-
Tarea 2: Preparación del entorno de destino
-
Asegúrese de que
local_undo_enabled
esté definido en true en la CDB de destino. -
Asegúrese de que la CDB de destino esté en modo
archivelog
.Nota: Cuando la CDB de destino está en modo ARCHIVELOG y LOCAL UNDO MODE, la PDB de origen puede estar abierta en modo de lectura/escritura y operativa durante el proceso de clonación. Esta técnica se conoce como clonación en caliente.
-
Actualice la dirección del nombre del servicio de CDB de origen en el archivo
tnsnames.ora
ubicado en el directorio$ORACLE_HOME/network/admin/
del nodo del sistema de base de datos de destino.<addressname> = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = <hostname>)(Port = <port>)) ) (CONNECT_DATA = (SERVICE_NAME = <service_name>) ) )
Este es un ejemplo completo:
SOURCE_CDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = source.**************.*****.oraclevcn.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = SOURCE_iad1zr.**************.*****.oraclevcn.com) ) )
-
Cree un enlace de base de datos en la CDB de destino que apunte a la CDB de origen.
CREATE PUBLIC DATABASE LINK clone_pdb_dblink CONNECT TO c##clone identified by <PASSWORD> using '<ADDRESSNAME>'; CREATE PUBLIC DATABASE LINK clone_pdb_dblink CONNECT TO c##clone identified by ************** using 'SOURCE_CDB';
-
Compruebe si la conectividad mediante el enlace de base de datos funciona correctamente en la CDB de destino. Como no estamos utilizando el enlace de base de datos con el mismo nombre que la base de datos a la que se conecta, debemos definir además
global_names parameter
en false. De lo contrario, encontrará el error ORA-02085.alter session set global_names=false; select * from dual@clone_pdb_dblink;
Tarea 3: clonación de una PDB remota
-
Ha llegado el momento de clonar la PDB de origen en la CDB de destino conectándose a la CDB de destino. Proporcione el
TDE_WALLET_PASSWORD
del entorno de destino.alter session set global_names=false; create pluggable database <CLONE_PDB_NAME> from <SOURCE_PDB_NAME>@<DB_LINK_NAME> keystore identified by <TDE_WALLET_PASSWORD>; create pluggable database CLONE_PDB1 from SOURCE_PDB1@clone_pdb_dblink keystore identified by <TDE_WALLET_PASSWORD>;
-
Abra la PDB clonada en modo de lectura/ escritura. Después de crear la PDB, está en modo montado. Debe abrir la nueva PDB clonada en modo de lectura/escritura para que Oracle Database complete la integración de la nueva PDB en la CDB de destino.
alter pluggable database CLONE_PDB1 open read write;
-
Verifique si todos los datos de objeto se clonan en la clonación de la PDB:
Podemos ver que los datos se han copiado correctamente de la PDB de origen a la PDB de clonación en el sistema de base de datos de destino.
Enlaces relacionados
Agradecimientos
- Autor: Leona Dsouza, ingeniera sénior de la nube
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre los productos, visite Oracle Help Center.
Clone a Pluggable Database online remotely between DB Systems in Oracle Base Database Service using database link
F87175-01
September 2023
Copyright © 2023, Oracle and/or its affiliates.