Using an SAP ASE Database as a Source for AWS DMS - AWS Database Migration Service

Using an SAP ASE Database as a Source for AWS DMS

You can migrate data from an SAP Adaptive Server Enterprise (ASE) database—formerly known as Sybase—using AWS DMS. With an SAP ASE database as a source, you can migrate data to any of the other supported AWS DMS target databases. AWS DMS. supports SAP ASE versions 12.5.3 or higher, 15, 15.5, 15.7, 16 and later as sources.

For additional details on working with SAP ASE databases and AWS DMS, see the following sections.

Prerequisites for Using an SAP ASE Database as a Source for AWS DMS

For an SAP ASE database to be a source for AWS DMS, do the following:

  • Enable SAP ASE replication for tables by using the sp_setreptable command.

  • Disable RepAgent on the SAP ASE database.

  • To replicate to SAP ASE version 15.7 on an Amazon EC2 instance on Microsoft Windows configured for non-Latin characters (for example, Chinese), install SAP ASE 15.7 SP121 on the target computer.

  • Specify the SAP ASE character set using the charset extra connection attribute. Set this attribute to the SAP ASE name that corresponds to the international character set as shown in the table following. For example, to specify UTF-8, use this setting: charset=utf8;

    Character Set

    SAP ASE Name

    ASCII 8

    acsii_8

    Big 5HK

    big5hk

    CP 437

    cp437

    CP 850

    cp850

    CP 852

    cp852

    CP 855

    cp852

    CP 855

    cp855

    CP 857

    cp857

    CP 858

    cp858

    CP 860

    cp860

    CP 864

    cp864

    CP 866

    cp866

    CP 869

    cp869

    CP 874

    cp874

    CP 932

    cp932

    CP 936

    cp936

    CP 950

    cp950

    CP 1250

    cp1250

    CP 1251

    cp1251

    CP 1252

    cp1252

    CP 1253

    cp1253

    CP 1254

    cp1254

    CP 1255

    cp1255

    CP 1256

    cp1256

    CP 1257

    cp1257

    CP 1258

    cp1258

    DEC Kanji

    deckanji

    EUC-CNS

    euccns

    EUC-GB

    eucgb

    EUC-JIS

    eucjis

    EUC-KSC

    eucksc

    GB 18030

    gb18030

    GREEK8

    greek8

    ISO 8859-1

    iso_1

    ISO 8859-2

    iso88592

    ISO 8859-5

    iso88595

    ISO 8859-6

    iso88596

    ISO 8859-7

    iso88597

    ISO 8859-8

    iso88598

    ISO 8859-9

    iso88599

    ISO 8859-15

    iso15

    Kazakhstan Cyrillic

    kz1048

    Koi8

    koi8

    ROMAN8

    roman8

    ROMAN9

    iso88599

    Shift-JIS

    sjis

    TIS 620

    tis620

    TURKISH8

    turkish8

    UTF-8

    utf8

    For any further questions about supported character sets in a SAP ASE database, see Adaptive Server supported character sets

Limitations on Using SAP ASE as a Source for AWS DMS

The following limitations apply when using an SAP ASE database as a source for AWS DMS:

  • Only one AWS DMS task can be run for each SAP ASE database.

  • You can't rename a table. For example, the following command fails:

    sp_rename 'Sales.SalesRegion', 'SalesReg;
  • You can't rename a column. For example, the following command fails:

    sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';
  • Zero values located at the end of binary data type strings are truncated when replicated to the target database. For example, 0x0000000000000000000000000100000100000000 in the source table becomes 0x00000000000000000000000001000001 in the target table.

  • If the database default is set not to allow NULL values, AWS DMS creates the target table with columns that don't allow NULL values. Consequently, if a full load or change data capture (CDC) replication task contains empty values, AWS DMS throws an error. You can prevent these errors by allowing NULL values in the source database by using the following commands.

    sp_dboption database_name, 'allow nulls by default', 'true' go use database_name CHECKPOINT go
  • The reorg rebuild index command isn't supported.

  • Clusters aren't supported.

Permissions Required for Using SAP ASE as a Source for AWS DMS

To use an SAP ASE database as a source in an AWS DMS task, grant the user account specified in the AWS DMS database definitions the following permissions in the SAP ASE database.

  • sa_role

  • replication_role

  • sybase_ts_role

  • If you enable the Automatically enable Sybase replication option (in the Advanced tab) when you create the SAP ASE source endpoint, also give permission to AWS DMS to run the stored procedure sp_setreptable.

Removing the Truncation Point

When a task starts, AWS DMS establishes a $replication_truncation_point entry in the syslogshold system view, indicating that a replication process is in progress. While AWS DMS is working, it advances the replication truncation point at regular intervals, according to the amount of data that has already been copied to the target.

After the $replication_truncation_point entry is established, keep the AWS DMS task running to prevent the database log from becoming excessively large. If you want to stop the AWS DMS task permanently, remove the replication truncation point by issuing the following command:

dbcc settrunc('ltm','ignore')

After the truncation point is removed, you can't resume the AWS DMS task. The log continues to be truncated automatically at the checkpoints (if automatic truncation is set).

Source Data Types for SAP ASE

For a list of the SAP ASE source data types that are supported when using AWS DMS and the default mapping from AWS DMS data types, see the following table. AWS DMS doesn't support SAP ASE source tables with columns of the user-defined type (UDT) data type. Replicated columns with this data type are created as NULL.

For information on how to view the data type that is mapped in the target, see the Targets for Data Migration section for your target endpoint.

For additional information about AWS DMS data types, see Data Types for AWS Database Migration Service.

SAP ASE Data Types

AWS DMS Data Types

BIGINT

INT8

BINARY

BYTES

BIT

BOOLEAN

CHAR

STRING

DATE

DATE

DATETIME

DATETIME

DECIMAL

NUMERIC

DOUBLE

REAL8

FLOAT

REAL8

IMAGE

BLOB

INT

INT4

MONEY

NUMERIC

NCHAR

WSTRING

NUMERIC

NUMERIC

NVARCHAR

WSTRING

REAL

REAL4

SMALLDATETIME

DATETIME

SMALLINT

INT2

SMALLMONEY

NUMERIC

TEXT

CLOB

TIME

TIME

TINYINT

UINT1

UNICHAR

UNICODE CHARACTER

UNITEXT

NCLOB

UNIVARCHAR

UNICODE

VARBINARY

BYTES

VARCHAR

STRING