Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de una base de datos de Oracle como destino para AWS Database Migration Service
Puede migrar los datos a los destinos de las bases de AWS DMS datos Oracle desde otra base de datos Oracle o desde una de las otras bases de datos compatibles. Puede utilizar la Capa de conexión segura (SSL) para cifrar las conexiones entre el punto de enlace de Oracle y la instancia de replicación. Para obtener más información sobre el uso de SSL con un punto final de Oracle, consulteUso de SSL con AWS Database Migration Service. AWS DMS también admite el uso del cifrado transparente de datos (TDE) de Oracle para cifrar los datos en reposo en la base de datos de destino, ya que el TDE de Oracle no requiere una clave de cifrado ni una contraseña para escribir en la base de datos.
Para obtener información sobre las versiones de Oracle AWS DMS compatibles como destino, consulte. Objetivos para AWS DMS
Al utilizar Oracle como destino, suponemos que los datos deberían migrarse al esquema o usuario que se utiliza para la conexión de destino. Si desea migrar datos a otro esquema, utilice la transformación de esquemas. Por ejemplo, suponga que su punto de enlace de destino se conecta con el usuario RDSMASTER
y desea migrar desde el usuario PERFDATA1
a PERFDATA2
. En este caso, cree una transformación tal y como la siguiente.
{ "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-action": "rename", "rule-target": "schema", "object-locator": { "schema-name": "PERFDATA1" }, "value": "PERFDATA2" }
Al utilizar Oracle como destino, AWS DMS migra todas las tablas e índices a los espacios de tablas e índices predeterminados del destino. Si desea migrar tablas e índices a distintos espacios de tablas de tablas e índices, utilice una transformación de espacio de tabla para hacerlo. Por ejemplo, supongamos que tiene un conjunto de tablas en el esquema INVENTORY
asignado a algunos espacios de tabla en el origen de Oracle. Para la migración, desea asignar todas estas tablas a un único espacio de tabla INVENTORYSPACE
en el destino. En este caso, cree una transformación tal y como la siguiente.
{ "rule-type": "transformation", "rule-id": "3", "rule-name": "3", "rule-action": "rename", "rule-target": "table-tablespace", "object-locator": { "schema-name": "INVENTORY", "table-name": "%", "table-tablespace-name": "%" }, "value": "INVENTORYSPACE" }
Para obtener más información sobre transformaciones, consulte Especificación de reglas de selección de tablas y transformaciones mediante JSON.
Si Oracle es origen y destino, puede conservar las asignaciones de espacio de tabla de índice o de tabla existentes configurando el atributo de conexión adicional de origen de Oracle, enableHomogenousTablespace=true
. Para obtener más información, consulte Configuración del punto final cuando se utiliza Oracle como fuente de AWS DMS.
Para obtener más información sobre cómo trabajar con bases de datos Oracle como destino AWS DMS, consulte las siguientes secciones:
Temas
- Limitaciones de Oracle como objetivo para AWS Database Migration Service
- Privilegios de la cuenta de usuario necesarios para utilizar Oracle como destino
- Configurar una base de datos Oracle como destino para AWS Database Migration Service
- Configuración del punto final cuando se utiliza Oracle como destino para AWS DMS
- Tipos de datos de destino para Oracle
Limitaciones de Oracle como objetivo para AWS Database Migration Service
Las restricciones al utilizar Oracle como destino para la migración de datos son las siguientes:
-
AWS DMS no crea un esquema en la base de datos Oracle de destino. Usted tiene que crear los esquemas que desee en la base de datos de Oracle de destino. El nombre de esquema ya tiene que existir para el destino de Oracle. Las tablas del esquema de origen se importan al usuario o esquema, que se AWS DMS utiliza para conectarse a la instancia de destino. Para migrar varios esquemas, puede crear varias tareas de replicación. También puede migrar los datos a diferentes esquemas de un destino. Para ello, debe utilizar las reglas de transformación del esquema en las asignaciones de AWS DMS tablas.
-
AWS DMS no admite la
Use direct path full load
opción para tablas con INDEXTYPE CONTEXT. Como alternativa, puede utilizar la carga de matriz. -
Con la opción de aplicación optimizada por lotes, la carga en la tabla de cambios netos utiliza una ruta directa, que no admite el tipo XML. Como alternativa, puede utilizar el modo de aplicación transaccional.
-
Las cadenas vacías migradas desde bases de datos de origen pueden ser tratadas de manera diferente por el destino de Oracle (convertidas en cadenas de espacio, por ejemplo). Esto puede provocar que la AWS DMS validación notifique una discrepancia.
-
Puede expresar el número total de columnas por tabla admitidas en el modo de aplicación optimizada por lotes mediante la siguiente fórmula:
2 *
columns_in_original_table
+columns_in_primary_key
<= 999Por ejemplo, si la tabla original tiene 25 columnas y su clave principal consta de 5 columnas, el número total de columnas es 55. Si una tabla supera el número de columnas admitido, todos los cambios se aplican en el one-by-one modo.
-
AWS DMS no es compatible con Autonomous DB en Oracle Cloud Infrastructure (OCI).
Privilegios de la cuenta de usuario necesarios para utilizar Oracle como destino
Para utilizar un destino de Oracle en una AWS Database Migration Service tarea, conceda los siguientes privilegios en la base de datos de Oracle. Puede concederlos a la cuenta de usuario especificada en las definiciones de la base de datos Oracle para AWS DMS.
-
SELECT ANY TRANSACTION
-
SELECT on V$NLS_PARAMETERS
-
SELECT on V$TIMEZONE_NAMES
-
SELECT on ALL_INDEXES
-
SELECT on ALL_OBJECTS
-
SELECT on DBA_OBJECTS
-
SELECT on ALL_TABLES
-
SELECT on ALL_USERS
-
SELECT on ALL_CATALOG
-
SELECT on ALL_CONSTRAINTS
-
SELECT on ALL_CONS_COLUMNS
-
SELECT on ALL_TAB_COLS
-
SELECT on ALL_IND_COLUMNS
-
DROP ANY TABLE
-
SELECT ANY TABLE
-
INSERT ANY TABLE
-
UPDATE ANY TABLE
-
CREATE ANY VIEW
-
DROP ANY VIEW
-
CREATE ANY PROCEDURE
-
ALTER ANY PROCEDURE
-
DROP ANY PROCEDURE
-
CREATE ANY SEQUENCE
-
ALTER ANY SEQUENCE
-
DROP ANY SEQUENCE
-
ELIMINAR CUALQUIER TABLA
Para los requisitos siguientes, conceda estos privilegios adicionales:
-
Para utilizar una lista de tablas específica, otorgue SELECT y ALTER en cualquier tabla replicada.
-
Para permitir a un usuario crear una tabla en un espacio de tabla predeterminado, conceda el privilegio GRANT UNLIMITED TABLESPACE.
-
Para el inicio de sesión, conceda el privilegio CREATE SESSION.
-
Si utiliza una ruta directa (que es la predeterminada para carga completa),
GRANT LOCK ANY TABLE to
.dms_user
; -
Si el esquema es diferente al utilizar el modo de preparación de tablas “DROP and CREATE”,
GRANT CREATE ANY INDEX to
.dms_user
; -
En algunos escenarios de carga completa, puede elegir la opción “DROP and CREATE table” o “TRUNCATE before loading”, donde un esquema de tabla de destino es distinto al del usuario DMS. En este caso, conceda el privilegio DROP ANY TABLE.
-
Para almacenar los cambios en tablas de cambios o en una tabla de auditoría donde el esquema de la tabla de destino sea diferente al del usuario DMS, conceda los privilegios CREATE ANY TABLE y CREATE ANY INDEX.
Los privilegios de lectura necesarios para la AWS Database Migration Service base de datos de destino
La cuenta AWS DMS de usuario debe tener permisos de lectura para las siguientes tablas de DBA:
-
SELECT on DBA_USERS
-
SELECT on DBA_TAB_PRIVS
-
SELECT on DBA_OBJECTS
-
SELECT on DBA_SYNONYMS
-
SELECT on DBA_SEQUENCES
-
SELECT on DBA_TYPES
-
SELECT on DBA_INDEXES
-
SELECT on DBA_TABLES
-
SELECT en DBA_TRIGGERS
-
SELECT on SYS.DBA_REGISTRY
Si alguno de los privilegios necesarios no se puede conceder a V$xxx, concédalos a V_$xxx.
Evaluaciones previas a la migración
Para utilizar las evaluaciones previas a la migración incluidas en Evaluaciones de Oracle Oracle como destino, debe añadir los siguientes permisos al usuario de la base de datos en la dms_user
base de datos de destino:
GRANT SELECT ON V_$INSTANCE TO dms_user;
Configurar una base de datos Oracle como destino para AWS Database Migration Service
Antes de utilizar una base de datos Oracle como destino de migración de datos, debe proporcionar una cuenta de usuario de Oracle a AWS DMS. La cuenta de usuario debe disponer de privilegios de lectura y escritura en la base de datos de Oracle, según se especifica en Privilegios de la cuenta de usuario necesarios para utilizar Oracle como destino.
Configuración del punto final cuando se utiliza Oracle como destino para AWS DMS
Puede utilizar la configuración de punto de conexión para configurar la base de datos de destino de Oracle de forma similar al uso de atributos de conexión adicionales. Los ajustes se especifican al crear el punto final de destino mediante la AWS DMS consola o mediante el create-endpoint
AWS CLIcomando de la sintaxis --oracle-settings '{"
JSON.EndpointSetting"
:
"value"
, ...
}'
La siguiente tabla muestra la configuración de punto de conexión que puede utilizar con Oracle como destino.
Nombre | Descripción |
---|---|
|
Establezca este atributo en un carácter de escape. Este carácter de escape le permite hacer que un único carácter comodín se comporte como un carácter normal en las expresiones de asignación de tablas. Para obtener más información, consulte Comodines en la asignación de tablas. Valor predeterminado: nulo Valores válidos: cualquier carácter que no sea un carácter comodín Ejemplo: |
|
Cuando se establece en Valor predeterminado: Valores válidos: Ejemplo: |
|
Cuando se establece en Una restricción en la especificación de esta configuración de carga paralela es que la tabla de destino no puede tener restricciones ni índices. Para obtener más información sobre esta restricción, consulte Habilitación de restricciones después de una carga de ruta directa paralela Valor predeterminado: Valores válidos: Ejemplo: |
|
Cuando se establece en Valor predeterminado: Valores válidos: Ejemplo: |
|
Especifica si la longitud de una columna de caracteres está expresada en bytes o en caracteres. Para indicar que la longitud de la columna de caracteres está en caracteres, establezca este atributo en Valor predeterminado: no establecido en Valores válidos: Ejemplo: |
|
AWS DMS añade un espacio adicional para replicar una cadena vacía al migrar a un destino de Oracle. En general, Oracle no tiene una notación para una cadena vacía. Al insertar una cadena vacía en varchar2, las cadenas vacías se cargan como NULL. Si desea insertar los datos como NULL en Oracle, establezca este atributo en FALSO. Valor predeterminado: Valores válidos: Ejemplo: |
Tipos de datos de destino para Oracle
Una base de datos Oracle de destino con la que se utiliza AWS DMS es compatible con la mayoría de los tipos de datos de Oracle. La siguiente tabla muestra los tipos de datos de destino de Oracle que se admiten cuando se utilizan AWS DMS y el mapeo predeterminado a partir de AWS DMS los tipos de datos. Para obtener más información sobre cómo ver el tipo de datos que se asigna desde el origen, consulte la sección para el origen que esté utilizando.
AWS DMS tipo de datos |
Tipos de datos de Oracle |
---|---|
BOOLEAN |
NUMBER (1) |
BYTES |
RAW (longitud) |
FECHA |
DATETIME |
HORA |
TIMESTAMP (0) |
DATETIME |
TIMESTAMP (escala) |
INT1 |
NUMBER (3) |
INT2 |
NUMBER (5) |
INT4 |
NUMBER (10) |
INT8 |
NUMBER (19) |
NUMERIC |
NUMBER (p,s) |
REAL4 |
FLOAT |
REAL8 |
FLOAT |
STRING |
Con indicación de fecha: DATE Con indicación de tiempo: TIMESTAMP Con indicación de marca de tiempo: TIMESTAMP Con indicación de timestamp_with_timezone: TIMESTAMP WITH TIMEZONE Con indicación de timestamp_with_local_timezone: TIMESTAMP WITH LOCAL TIMEZONE Con indicación de interval_year_to_month: INTERVAL YEAR TO MONTH Con indicación de interval_day_to_second: INTERVAL DAY TO SECOND Si longitud > 4000: CLOB En el resto de casos: VARCHAR2 (longitud) |
UINT1 |
NUMBER (3) |
UINT2 |
NUMBER (5) |
UINT4 |
NUMBER (10) |
UINT8 |
NUMBER (19) |
WSTRING |
Si longitud > 2000: NCLOB En el resto de casos: NVARCHAR2 (longitud) |
BLOB |
BLOB Para usar este tipo de datos con AWS DMS, debe habilitar el uso de BLOB para una tarea específica. Los tipos de datos BLOB se admiten únicamente en las tablas que incluyen una clave principal |
CLOB |
CLOB Para usar este tipo de datos con AWS DMS, debe habilitar el uso de CLOBs para una tarea específica. En la captura de datos de cambios (CDC), los tipos de datos CLOB solo se admiten en tablas que incluyen una clave principal. STRING Un tipo de datos VARCHAR2 de Oracle en la fuente con un tamaño declarado superior a 4000 bytes se asigna a través del AWS DMS CLOB a una cadena del destino de Oracle. |
NCLOB |
NCLOB Para usar este tipo de datos con AWS DMS, debe habilitar el uso de NCLOB para una tarea específica. En la CDC, los tipos de datos NCLOB se admiten únicamente en las tablas que incluyen una clave principal. WSTRING Un tipo de datos VARCHAR2 de Oracle en el origen con un tamaño declarado superior a 4000 bytes se asigna a través del AWS DMS NCLOB a un WSTRING en el destino de Oracle. |
XMLTYPE |
El tipo de datos de destino XMLTYPE solo es pertinente en tareas de replicación de Oracle a Oracle. Cuando la base de datos de origen sea Oracle, los tipos de datos de origen se replican tal cual en el destino de Oracle. Por ejemplo, un tipo de datos XMLTYPE en el origen se crea como un tipo de datos XMLTYPE en el destino. |