Puede replicar datos de Oracle con Data Replication.
Para configurar la réplica para los datos de Oracle , primero configure la base de datos Oracle como origen y, a continuación, cree una conexión.
Versiones soportadas
Oracle 19c R1 (19.1)+
Restricción
Sólo puede replicar algunos tipos de datos Oracle . Consulte Tipos de datos Oracle soportados.
Configuración de Oracle como origen
Antes de iniciar una réplica con una conexión Oracle , debe asegurarse de que se cumplen los requisitos de base de datos, cuentas de usuario y esquema.
Configure una base de datos Oracle . Cuando configure una conexión Oracle , se le solicitará el nombre de la base de datos Oracle desde la que desea que Data Replication replique los datos. Antes de crear la conexión, asegúrese de que existe esta base de datos Oracle y de que crea y configura un usuario de base de datos que tiene acceso a ella. La Data Replication da soporte a las tablas de correlación que se encuentran en varios esquemas dentro de la misma base de datos. Asegúrese de que Oracle XStream esté habilitado mediante el parámetro
enable_goldengate_replication
.Parte de la configuración de Oracle XStream debe estar preparada por adelantado antes de crear una conexión Oracle .
Habilite
enable_goldengate_replication
. Debe establecer el parámetro del sistemaenable_goldengate_replication
en la base de datos de origen para habilitar la capacidad de réplica de XStream en Oracle. Puede utilizar la sentencia siguiente:ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH
Todas las instancias de Oracle RAC deben tener el mismo valor. Consulte la documentaciónOracle para comprender el impacto de habilitar este parámetro en su base de datos.
Cree una cuenta de usuario para la base de datos Oracle.
Cuando replica datos de bases de datos Oracle , Data Replication procesa los registros de base de datos. Puede configurar Data Replication para la captura local, donde los registros se procesan en la misma base de datos que los esquemas que está replicando. De forma alternativa, puede configurar Data Replication para utilizar una conexión Oracle XStream independiente para procesar registros en una base de datos diferente. Si utiliza la captura local, necesita una única conexión Oracle . Si utiliza una base de datos Oracle XStream independiente para el proceso de registro, necesitará dos conexiones Oracle : una para conectarse a la base de datos que contiene el esquema que está replicando y otra para conectarse a la base de datos donde Oracle XStream procesa los registros. Esta base de datos de proceso de registro puede ser una base de datos en sentido descendente de Oracle .
Revise los privilegios necesarios para los usuarios de Oracle . Antes de configurar las conexiones de Oracle , revise la lista de privilegios que necesitan los usuarios de Oracle . Es necesario que otorgue estos privilegios a los usuarios ejecutando scripts SQL.
Los siguientes scripts de ejemplo pueden ayudar a proporcionar los privilegios adecuados al usuario de base de datos Oracle y al usuario de base de datos de proceso de registro.
Script de ejemplo createuser-ora-nodba.sql
Copie este script y sustituya los valores entre corchetes. Ejecute este script para crear un usuario de base de datos Oracle para replicar datos de Oracle.
/* _______________________________________________________ {COPYRIGHT-TOP} _____
** Licensed Materials - Property of IBM
** IBM Data Replication Cartridge for IBM Cloud Pak for Data
** 5900ASF
**
** (c) Copyright IBM Corp. 2001, 2022 All rights reserved.
**
** The following sample of source code ("Sample") is owned by International
** Business Machines Corporation or one of its subsidiaries ("IBM") and is
** copyrighted and licensed, not sold. You may use, copy, modify, and
** distribute the Sample in any form without payment to IBM.
**
** The Sample code is provided to you on an "AS IS" basis, without warranty of
** any kind. IBM HEREBY EXPRESSLY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR
** IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do
** not allow for the exclusion or limitation of implied warranties, so the above
** limitations or exclusions may not apply to you. IBM shall not be liable for
** any damages you suffer as a result of using, copying, modifying or
** distributing the Sample, even if IBM has been advised of the possibility of
** such damages.
* ________________________________________________________ {COPYRIGHT-END} _____*/
--This script does not grant dba to the data replication user.
-- create user
CREATE user <user> identified by <password>
default tablespace <tablespace_name> temporary tablespace <temporary_tablespace_name>;
-- Grant basic roles
grant connect to <user>;
grant resource to <user>;
grant select_catalog_role to <user>;
grant unlimited tablespace to <user>;
-- Table DDL permissions
grant create any table to <user>;
grant alter any table to <user>;
grant drop any table to <user>;
grant lock any table to <user>;
-- Table DML permissions
grant select any table to <user>;
grant flashback any table to <user>;
grant insert any table to <user>;
grant update any table to <user>;
grant delete any table to <user>;
-- Index and view DDL permissions
grant create any index to <user>;
grant alter any index to <user>;
grant drop any index to <user>;
grant create any view to <user>;
grant drop any view to <user>;
-- Procedure permissions
grant create any procedure to <user>;
grant execute any procedure to <user>;
-- Permission to perform select on the v_$ tables
grant select any dictionary to <user>;
-- General system views
grant select on sys.v_$database to <user>;
grant select on sys.v_$controlfile to <user>;
grant select on sys.v_$version to <user>;
grant select on sys.nls_database_parameters to <user>;
-- Archive and redo logs
grant select on sys.v_$log to <user>;
grant select on sys.v_$logfile to <user>;
grant select on sys.v_$archived_log to <user>;
grant select on sys.v_$log_history to <user>;
-- Sessions and transactions
grant alter session to <user>;
grant select on sys.v_$session to <user>;
grant select on sys.gv_$session to <user>;
grant select on sys.v_$transaction to <user>;
grant select on sys.v_$mystat to <user>;
-- Tables, indexes, columns and related views
grant select on sys.all_coll_types to <user>;
grant select on sys.all_type_attrs to <user>;
grant select on sys.dba_tables to <user>;
grant select on sys.dba_tab_comments to <user>;
grant select on sys.dba_tab_columns to <user>;
grant select on sys.dba_col_comments to <user>;
grant select on sys.dba_indexes to <user>;
grant select on sys.dba_ind_columns to <user>;
grant select on sys.all_constraints to <user>;
grant select on sys.dba_constraints to <user>;
grant select on sys.all_cons_columns to <user>;
grant select on sys.dba_cons_columns to <user>;
grant select on sys.tab$ to <user>;
grant select on sys.ind$ to <user>;
grant select on sys.lob$ to <user>;
grant select on sys.col$ to <user>;
grant select on sys.icol$ to <user>;
grant select on sys.coltype$ to <user>;
grant select on sys.attrcol$ to <user>;
grant select on sys.ccol$ to <user>;
grant select on sys.cdef$ to <user>;
-- Miscellaneous other objects
grant select on sys.obj$ to <user>;
grant select on sys.dba_mviews to <user>;
grant select on sys.dba_objects to <user>;
grant select on sys.dba_sequences to <user>;
grant select on sys.hist_head$ to <user>;
grant select on sys.resource_cost to <user>;
-- Storage
grant select on sys.dba_tablespaces to <user>;
grant select on sys.dba_rollback_segs to <user>;
-- Permissions
grant select on sys.dba_users to <user>;
grant select on sys.dba_sys_privs to <user>;
grant select on sys.dba_tab_privs to <user>;
grant select on sys.dba_profiles to <user>;
grant select on sys.dba_roles to <user>;
grant select on sys.user$ to <user>;
grant select on user_role_privs to <user>;
exit;
Script de ejemplo createuser-ora-xstream.sql
Copie este script y sustituya los valores entre corchetes. Ejecute el script de ejemplo createuser-ora-nodba.sql
antes de ejecutar createuser-ora-xstream.sql
. Si configura Data Replication para utilizar una captura local donde los registros se procesan en la misma base de datos que los esquemas que replica, ejecute createuser-ora-nodba.sql
y createuser-ora-xstream.sql
en la misma base de datos y utilice el mismo valor para <user>
. Si prefiere tener registros de proceso de Oracle XStream en una base de datos separada de los esquemas que replica, especifique opcionalmente un usuario diferente y ejecute el script en la base de datos.
/* _______________________________________________________ {COPYRIGHT-TOP} _____
** Licensed Materials - Property of IBM
** IBM Data Replication Cartridge for IBM Cloud Pak for Data
** 5900ASF
**
** (c) Copyright IBM Corp. 2001, 2022 All rights reserved.
**
** The following sample of source code ("Sample") is owned by International
** Business Machines Corporation or one of its subsidiaries ("IBM") and is
** copyrighted and licensed, not sold. You may use, copy, modify, and
** distribute the Sample in any form without payment to IBM.
**
** The Sample code is provided to you on an "AS IS" basis, without warranty of
** any kind. IBM HEREBY EXPRESSLY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR
** IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do
** not allow for the exclusion or limitation of implied warranties, so the above
** limitations or exclusions may not apply to you. IBM shall not be liable for
** any damages you suffer as a result of using, copying, modifying or
** distributing the Sample, even if IBM has been advised of the possibility of
** such damages.
* ________________________________________________________ {COPYRIGHT-END} _____*/
-- This script is a continuation of createuser-ora-nodba.sql script with
-- additional changes needed for data replication user as well as XStream Log
-- Processing Database user. Process all needed privileges from the script
-- createuser-ora-nodba.sql prior to continuing with this script.
-- XStream privileges on data replication User
-- Expected to be used for DBMS_CAPTURE_ADM.BUILD
-- to define XStream Capture initialization points
grant execute on DBMS_CAPTURE_ADM to <user>;
-- Optional privilege that is expected to be used on
-- the target engine required for Recursion Prevention
-- in Bidirectional replication.
grant execute on DBMS_XSTREAM_ADM to <user>;
-- Enable enable_goldengate_replication
-- You need to set the enable_goldengate_replication system parameter on your source
-- database to enable XStream replication capability in Oracle.
ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH;
-- to enable the enable_goldengate_replication system parameter.
-- All instances in Oracle RAC must have the same setting. Refer to Oracle documentation
-- for further understanding on the impact of enabling this parameter on your database.
-- Setting up Oracle XStream user account.
-- Most work in data replication is done using the Oracle user account.
-- When data replication needs to interact with Oracle XStream it will use the Oracle XStream account.
-- An Oracle XStream account needs sufficient privileges to comply with Oracle XStream user requirements.
-- In a Pluggable database environment, the Oracle user account has all the granted access to the
-- Pluggable database when replication is configured for a pluggable database, whereas the XStream
-- user account has to be defined in the root container database as per Oracle XStream requirements.
-- All Oracle XStream related objects are defined and managed in the container database in this case.
CALL DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
grantee => <Log Processing Database User>,
privilege_type => 'CAPTURE');
exit;
Configure la base de datos de proceso de registro. Cuando crea un activo de Data Replication , se le solicita el nombre de la base de datos de proceso de registro de Oracle que desea que utilice Data Replication . Esta base de datos sirve una base de datos de salida XStream a la que Data Replication se conecta y se conecta para procesar registros de cambios lógicos proporcionados por la API XStream de Oracle . Para la captura local de Oracle XStream y el servidor de salida, esta es la misma base de datos que antes. Para bases de datos conectables, la base de datos de proceso de registro es la base de datos de contenedor raíz. Para la captura en sentido descendente, la base de datos de proceso de registro es la base de datos en sentido descendente. La base de datos de proceso de registro también requiere enable_goldengate_replication.
Opcional: Configure una base de datos de proceso de registro en sentido descendente. Se necesitan varios pasos para configurar la captura en sentido descendente en tiempo real o la captura en sentido descendente de registro de archivado. Revise la documentación de Oracle XStream para configurar los enlaces de base de datos y la transferencia de archivos de registro.
Configure la cuenta de usuario de Oracle XStream. La mayor parte del trabajo en Data Replication se realiza utilizando la cuenta de usuario de Oracle . Cuando Data Replication necesita interactuar con Oracle XStream, utiliza la cuenta de Oracle XStream. Una cuenta de XStream de Oracle necesita privilegios suficientes para cumplir con los requisitos de usuario de XStream de Oracle . En un entorno de base de datos conectable, la cuenta de usuario de Oracle tiene todo el acceso otorgado a la base de datos conectable cuando la réplica está configurada para una base de datos conectable. Sin embargo, la cuenta de usuario de XStream debe estar definida en la base de datos del contenedor raíz de acuerdo con los requisitos de Oracle XStream. Todos los componentes relacionados con Oracle XStream se definen y gestionan en la base de datos del contenedor raíz en este caso. Puede utilizar DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE para otorgar privilegios de cuenta de usuario de XStream. Las credenciales de base de datos de salida de Oracle XStream distinguen entre mayúsculas y minúsculas. Para más información, consulte la documentaciónOracle.
Cree un esquema o elija un esquema existente para las tablas de metadatos de la base de datos. Debe especificar este esquema cuando configure Data Replication.
Conexión a Oracle en un proyecto
Para Conectividad privada, para conectarse a una base de datos que no se exterioriza a Internet (por ejemplo, detrás de un cortafuegos), debe configurar una conexión segura.
Para conectarse a Oracle en un proyecto en Cloud Pak for Data as a Service, consulte Conexión aOracle.
Inicio de Data Replication
Para crear un activo de Data Replication :
- Pulse la pestaña Activos en el proyecto.
- Pulse Nuevo activo > Replicar datos.
- Especifique un nombre.
- Pulse Conexiones.
- En la página Opciones de origen, seleccione un Oracle existente de la lista de conexiones o haga clic en Añadir conexión para crear una nueva conexión.
- Las conexiones Oracle requieren parámetros adicionales. Tiene dos opciones de Oracle XStream: a. Seleccione Captura local para procesar los registros en la misma base de datos que la conexión de origen. a. Elija una conexión XStream de Oracle separada para procesar registros en una base de datos separada. i. Si no selecciona Captura en sentido descendente en tiempo real, las opciones incluyen PDB/CDB y captura en sentido descendente de registro archivado. i. Si selecciona Captura en tiempo real en sentido descendente, se utiliza una conexión Oracle XStream independiente para procesar registros en una base de datos diferente.
- Pulse Seleccionar datos, seleccione un esquema y, opcionalmente, una tabla del esquema.
- En la página Opciones de destino, seleccione la conexión Oracle de la lista.
- En la página Revisar, revise el resumen y, a continuación, haga clic en Crear.
Tema principal: Conexiones de Data Replication soportadas