Uso de una base de datos SAP ASE como origen para AWS DMS - AWS Database Migration Service

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 SAP ASE como origen para AWS DMS

Puede migrar datos desde una base de datos SAP Adaptive Server Enterprise (ASE), anteriormente denominada Sybase, con AWS DMS. Con una base de datos SAP ASE como origen, podrá migrar datos a cualquiera de las otras bases de datos de destino de AWS DMS.

Para obtener información sobre las versiones de SAP ASE que AWS DMS admite como origen, consulte Fuentes de AWS DMS.

Para obtener información adicional acerca de cómo trabajar con las bases de datos SAP ASE y AWS DMS, consulte las secciones siguientes.

Requisitos previos para utilizar una base de datos SAP ASE como origen para AWS DMS

Para que una base de datos SAP ASE sea un origen para AWS DMS, haga lo siguiente:

  • Habilite la replicación de SAP ASE para las tablas mediante el comando sp_setreptable. Para obtener más información, consulte Sybase Infocenter Archive.

  • Inhabilite RepAgent en la base de datos de SAP ASE. Para obtener más información, consulte Detener y desactivar el hilo de RepAgent en la base de datos principal.

  • Para replicar a la versión 15.7 de SAP ASE en una instancia de Windows EC2 configurada para caracteres no latinos (por ejemplo, chino), instale SAP ASE 15.7 SP121 en el equipo de destino.

nota

Para la replicación continua de la captura de datos de cambio (CDC), DMS ejecuta dbcc logtransfer y dbcc log para leer los datos del registro de transacciones.

Restricciones en el uso de SAP ASE como origen para AWS DMS

Al utilizar una base de datos SAP ASE como origen para AWS DMS se aplican las siguientes restricciones:

  • Solo puede ejecutar una tarea de AWS DMS con replicación continua o CDC para cada base de datos SAP ASE. Puede ejecutar varias tareas de solo carga completa en paralelo.

  • No se puede cambiar el nombre de una tabla. Por ejemplo, el siguiente comando produce un error.

    sp_rename 'Sales.SalesRegion', 'SalesReg;
  • No se puede cambiar el nombre de una columna. Por ejemplo, el siguiente comando produce un error.

    sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';
  • Los valores situados al final de las cadenas de tipo de datos binarios se truncan cuando se replican para la base de datos de destino. Por ejemplo, 0x0000000000000000000000000100000100000000 en la tabla de origen se convierte en 0x00000000000000000000000001000001, en la tabla de destino.

  • Si la base de datos predeterminada está configurada para no permitir valores NULL, AWS DMS crea la tabla de destino con columnas que no permiten los valores NULL. Por lo tanto, si una tarea de replicación de carga completa o CDC contiene valores vacíos, AWS DMS genera un error. Puede evitar que se produzcan estos errores permitiendo valores NULL en la base de datos de origen ejecutando los siguientes comandos.

    sp_dboption database_name, 'allow nulls by default', 'true' go use database_name CHECKPOINT go
  • No se admite el comando de índice reorg rebuild.

  • AWS DMS no admite clústeres ni utiliza MSA (disponibilidad multisitio) o Warm Standby como origen.

  • Cuando se utiliza la expresión del encabezado de transformación AR_H_TIMESTAMP en las reglas de asignación, no se capturarán los milisegundos de una columna agregada.

  • Si se ejecutan operaciones de fusión durante CDC, se producirá un error irrecuperable. Para volver a sincronizar el objetivo, ejecute una carga completa.

  • Los eventos desencadenantes de la reversión no se admiten en las tablas que utilizan un esquema de bloqueo de filas de datos.

  • AWS DMS no puede reanudar una tarea de replicación después de eliminar una tabla del ámbito de la tarea desde una base de datos SAP de origen. Si la tarea de replicación de DMS se detuvo y se realizó alguna operación de DML (INSERTAR, ACTUALIZAR, ELIMINAR) y, a continuación, eliminar la tabla, debe reiniciar la tarea de replicación.

Permisos necesarios para usar SAP ASE como origen para AWS DMS

Para utilizar una base de datos SAP ASE como origen en una tarea de AWS DMS, debe adjudicar permisos. Otorgue a la cuenta de usuario especificada en las definiciones de base de datos de AWS DMS los siguientes permisos en la base de datos SAP ASE:

  • sa_role

  • replication_role

  • sybase_ts_role

  • De forma predeterminada, cuando necesita tener permiso para ejecutar el procedimiento almacenado sp_setreptable, AWS DMS habilita la opción de replicación de SAP ASE. Si desea ejecutar sp_setreptable en una tabla directamente desde el punto de conexión de la base de datos y no a través de AWS DMS ella misma, puede utilizar el atributo de conexión adicional enableReplication. Para obtener más información, consulte Configuración de punto de conexión cuando se utiliza SAP ASE como origen para AWS DMS.

Quitar el punto de truncado

Al iniciarse una tarea, AWS DMS establece una entrada $replication_truncation_point en la vista del sistema syslogshold, lo que indica que se está realizando un proceso de replicación. Aunque AWS DMS está en funcionamiento, ofrece el punto de truncado de la replicación periódicamente, según la cantidad de datos que ya se han copiado en el destino.

Una vez que se ha establecido la entrada $replication_truncation_point, mantenga la tarea de AWS DMS en ejecución para evitar que el log de la base de datos se haga demasiado grande. Si desea detener la tarea de AWS DMS de forma permanente, quite el punto de truncado de la replicación mediante el siguiente comando:

dbcc settrunc('ltm','ignore')

Una vez se quite el punto de truncado, no puede reanudar la tarea de AWS DMS. La sesión se seguirá truncando de forma automática en los puntos de control (si se ha establecido el truncado automático).

Configuración de punto de conexión cuando se utiliza SAP ASE como origen para AWS DMS

Puede utilizar la configuración de punto de conexión para configurar la base de datos de origen de SAP ASE de forma similar al uso de atributos de conexión adicionales. Se especifican los ajustes cuando se crea el punto de conexión de origen mediante la consola de AWS DMS o mediante el comando create-endpoint en la AWS CLI, con la sintaxis JSON --sybase-settings '{"EndpointSetting": "value", ...}'.

La siguiente tabla muestra la configuración de punto de conexión que puede utilizar con SAP ASE como origen.

Nombre Descripción
Charset

Establezca este atributo en el nombre SAP ASE correspondiente al conjunto de caracteres internacionales.

Valor predeterminado: iso_1

Ejemplo: --sybase-settings '{"Charset": "utf8"}'

Valores válidos:

  • acsii_8

  • big5hk

  • cp437

  • cp850

  • cp852

  • cp852

  • cp855

  • cp857

  • cp858

  • cp860

  • cp864

  • cp866

  • cp869

  • cp874

  • cp932

  • cp936

  • cp950

  • cp1250

  • cp1251

  • cp1252

  • cp1253

  • cp1254

  • cp1255

  • cp1256

  • cp1257

  • cp1258

  • deckanji

  • euccns

  • eucgb

  • eucjis

  • eucksc

  • gb18030

  • greek8

  • iso_1

  • iso88592

  • iso88595

  • iso88596

  • iso88597

  • iso88598

  • iso88599

  • iso15

  • kz1048

  • koi8

  • roman8

  • iso88599

  • sjis

  • tis620

  • turkish8

  • utf8

Si tiene más preguntas acerca de los conjuntos de caracteres admitidos en una base de datos de SAP ASE, consulte Adaptive Server Enterprise: conjuntos de caracteres admitidos.

EnableReplication

Establezca este atributo si desea habilitar sp_setreptable en las tablas desde el extremo de la base de datos y no a través de AWS DMS.

Valor predeterminado: true

Valores válidos: true o false

Ejemplo: --sybase-settings '{"EnableReplication": false}'

EncryptPassword

Establezca este atributo si ha habilitado "net password encryption reqd" en la base de datos de origen.

Valor predeterminado: 0

Valores válidos: 0, 1 o 2

Ejemplo: --sybase-settings '{"EncryptPassword": 1}'

Para obtener más información sobre los valores de estos parámetros, consulte Adaptive Server Enterprise: Uso de la propiedad de cadena de conexión EncryptPassword.

Provider

Establezca este atributo si quiere utilizar la seguridad de la capa de transporte (TLS) 1.2 para las versiones de ASE 15.7 y versiones superiores. Tenga en cuenta que AWS requiere TLS versión 1.2 o más reciente y recomienda la versión 1.3.

Valor predeterminado: Adaptive Server Enterprise

Valores válidos: Adaptive Server Enterprise 16.03.06

Ejemplo: --sybase-settings '{"Provider": "Adaptive Server Enterprise 16.03.06"}'

Tipos de datos de origen para SAP ASE

Para ver una lista de los tipos de datos de origen de SAP ASE que se admiten cuando se utiliza AWS DMS y el mapeo predeterminado de los tipos de datos de AWS DMS, consulte la tabla siguiente. AWS DMS no admite las tablas de origen de SAP ASE con columnas de tipo de datos definido por el usuario (UDT). Las columnas que se replican con este tipo de datos se crean como NULL.

Para obtener más información sobre cómo ver el tipo de datos que se asigna en el destino, consulte la sección Destinos para la migración de datos de su punto de enlace de destino.

Para obtener más información sobre los tipos de datos de AWS DMS, consulte Tipos de datos de AWS Database Migration Service.

Tipos de datos de SAP ASE

Tipos de datos de AWS DMS

BIGINT

INT8

UNSIGNED BIGINT

UINT8

INT

INT4

UNSIGNED INT

UINT4

SMALLINT

INT2

UNSIGNED SMALLINT

UINT2

TINYINT

UINT1

DECIMAL

NUMERIC

NUMERIC

NUMERIC

FLOAT

REAL8

DOUBLE

REAL8

REAL

REAL4

MONEY

NUMERIC

SMALLMONEY

NUMERIC

DATETIME

DATETIME

BIGDATETIME

DATETIME(6)

SMALLDATETIME

DATETIME

DATE

DATE

TIME

TIME

BIGTIME

TIME

CHAR

STRING

UNICHAR

WSTRING

NCHAR

WSTRING

VARCHAR

STRING

UNIVARCHAR

WSTRING

NVARCHAR

WSTRING

BINARY

BYTES

VARBINARY

BYTES

BIT

BOOLEANO

TEXT

CLOB

UNITEXT

NCLOB

IMAGE

BLOB