AWS DMS에서 SAP ASE 데이터베이스를 소스로 사용 - AWS 데이터베이스 마이그레이션 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS DMS에서 SAP ASE 데이터베이스를 소스로 사용

AWS DMS를 사용하여 SAP Adaptive Server Enterprise(ASE) 데이터베이스(구 Sybase)의 데이터를 마이그레이션할 수 있습니다. SAP ASE 데이터베이스를 소스로 사용하여 지원되는 다른 AWS DMS 대상 데이터베이스로 데이터를 마이그레이션할 수 있습니다.

AWS DMS가 소스로 지원하는 SAP ASE 버전에 대한 자세한 내용은 에 대한 소스 AWS DMS 섹션을 참조하세요.

SAP ASE 데이터베이스 및 AWS DMS 사용에 대한 자세한 내용은 다음 섹션을 참조하십시오.

SAP ASE 데이터베이스를 AWS DMS에서 소스로 사용하기 위한 사전 요구 사항

SAP ASE 데이터베이스가 AWS DMS에서 원본으로 사용되려면 다음 작업을 수행해야 합니다.

  • sp_setreptable 명령을 사용하여 테이블에서 SAP ASE 복제를 활성화합니다. 자세한 내용은 Sybase Infocenter Archive를 참조하세요.

  • SAP ASE 데이터베이스에서 RepAgent를 비활성화합니다. 자세한 내용은 Stop and disable the RepAgent thread in the primary database를 참조하세요.

  • 비라틴 문자(예: 중국어)에 대해 구성된 Windows EC2 인스턴스에 SAP ASE 버전 15.7을 복제하려면 대상 컴퓨터에 SAP ASE 15.7 SP121을 설치해야 합니다.

참고

지속적 변경 데이터 캡처(CDC) 복제의 경우, DMS는 dbcc logtransferdbcc log를 실행하여 트랜잭션 로그에서 데이터를 읽습니다.

SAP ASE를 AWS DMS에서 소스로 사용 시 적용되는 제한 사항

SAP ASE 데이터베이스를 AWS DMS에서 원본으로 사용 시 다음 제한 사항이 적용됩니다.

  • 각 SAP ASE 데이터베이스마다 지속적 복제 또는 CDC를 사용하는 AWS DMS 작업은 하나만 실행할 수 있습니다. 여러 개의 전체 로드 전용 작업을 병렬로 실행할 수 있습니다.

  • 테이블의 이름을 바꿀 수 없습니다. 예를 들어 다음 명령은 실패합니다.

    sp_rename 'Sales.SalesRegion', 'SalesReg;
  • 열의 이름을 바꿀 수 없습니다. 예를 들어 다음 명령은 실패합니다.

    sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';
  • 이진 데이터 형식 문자열 끝에 있는 0 값은 대상 데이터베이스에 복제될 때 잘립니다. 예를 들어, 원본 테이블의 0x0000000000000000000000000100000100000000은 대상 테이블에서 0x00000000000000000000000001000001이 됩니다.

  • 데이터베이스 기본값이 NULL 값을 허용하지 않도록 설정된 경우 AWS DMS에서는 NULL 값을 허용하지 않는 열이 포함된 대상 테이블을 생성합니다. 결과적으로 전체 로드 또는 CDC 복제 작업에 빈 값이 포함되어 있으면 AWS DMS에서 오류가 발생합니다. 다음 명령을 사용하여 원본 데이터베이스에서 NULL 값을 허용함으로써 이러한 오류를 방지할 수 있습니다.

    sp_dboption database_name, 'allow nulls by default', 'true' go use database_name CHECKPOINT go
  • reorg rebuild 인덱스 명령은 지원되지 않습니다.

  • AWS DMS는 클러스터 또는 MSA(Multi-Site Availability)/Warm Standby를 소스로 사용하는 것을 지원하지 않습니다.

  • 매핑 규칙에 AR_H_TIMESTAMP 변환 헤더 표현식을 사용하는 경우, 추가된 열에서는 밀리초가 캡처되지 않습니다.

  • CDC 중에 병합 작업을 실행하면 복구할 수 없는 오류가 발생합니다. 대상을 다시 동기화하려면 전체 로드를 실행하세요.

  • 데이터 행 잠금 체계를 사용하는 테이블에는 롤백 트리거 이벤트가 지원되지 않습니다.

  • AWS DMS는 작업 범위 내의 테이블을 소스 SAP 데이터베이스에서 삭제한 후에 복제 작업을 재개할 수 없습니다. DMS 복제 작업을 중지하고 DML 작업(INSERT, UPDATE, DELETE)을 수행한 후 테이블을 삭제한 경우, 복제 작업을 다시 시작해야 합니다.

AWS DMS에서 SAP ASE를 소스로 사용하는 데 필요한 권한

SAP ASE 데이터베이스를 AWS DMS 작업에서 소스로 사용하려면 권한을 부여해야 합니다. AWS DMS 데이터베이스 정의에 지정된 사용자 계정에 SAP ASE 데이터베이스의 다음 권한을 부여합니다.

  • sa_role

  • replication_role

  • sybase_ts_role

  • 기본적으로 sp_setreptable 저장 프로시저를 실행할 권한이 필요한 경우, AWS DMS는 SAP ASE 복제 옵션을 활성화합니다. AWS DMS 자체를 통하지 않고 데이터베이스 엔드포인트에서 직접 sp_setreptable을 테이블에서 실행하려는 경우, enableReplication 추가 연결 속성을 사용할 수 있습니다. 자세한 내용은 SAP ASE를 AWS DMS 소스로 사용 시 엔드포인트 설정 섹션을 참조하세요.

잘림 지점 제거

작업이 시작되면, AWS DMS는 syslogshold 시스템 보기에 $replication_truncation_point 항목을 설정하여 복제가 진행되고 있음을 나타냅니다. AWS DMS가 작동하는 동안 대상에 이미 복사된 데이터 양에 따라 정기적으로 복제 잘림 지점을 진행합니다.

$replication_truncation_point 항목이 설정되고 나면 AWS DMS 작업을 항상 실행 상태로 유지하여 데이터베이스 로그가 과도하게 커지지 않게 해야 합니다. AWS DMS 작업을 영구적으로 중지하고 싶을 경우 다음 명령을 발행하여 복제 잘림 지점을 제거하십시오.

dbcc settrunc('ltm','ignore')

잘림 지점이 제거되고 나면 AWS DMS 작업을 다시 시작할 수 있습니다. 로그는 체크포인트에서 계속 자동으로 잘립니다(자동 잘림이 설정된 경우).

SAP ASE를 AWS DMS 소스로 사용 시 엔드포인트 설정

추가 연결 속성을 사용하는 것과 비슷하게 엔드포인트 설정을 사용하여 SAP ASE 소스 데이터베이스를 구성할 수 있습니다. AWS DMS 콘솔을 사용하거나 AWS CLI에서 create-endpoint 명령을 --sybase-settings '{"EndpointSetting": "value", ...}' JSON 구문과 함께 사용하여 소스 엔드포인트를 생성할 때 설정을 지정합니다.

SAP ASE를 소스로 하여 사용할 수 있는 엔드포인트 설정은 다음 표에 나와 있습니다.

이름 설명
Charset

이 속성을 국제 문자 집합에 해당하는 SAP ASE 이름으로 설정합니다.

기본값: iso_1

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

유효 값:

  • 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

SAP ASE 데이터베이스에서 지원되는 문자 집합에 대한 추가 질문은 Adaptive Server Enterprise: Supported character sets를 참조하세요.

EnableReplication

AWS DMS를 통하지 않고 데이터베이스 끝의 테이블에서 sp_setreptable을 활성화하려면 이 속성을 설정합니다.

기본값: true

유효한 값: true 또는 false

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

EncryptPassword

소스 데이터베이스에서 "net password encryption reqd"를 활성화한 경우, 이 속성을 설정합니다.

기본값: 0

유효한 값: 0, 1 또는 2

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

이러한 파라미터 값에 대한 자세한 내용은 Adaptive Server Enterprise: Using the EncryptPassword Connection string property를 참조하세요.

Provider

ASE 15.7 이상 버전에 전송 계층 보안(TLS) 1.2를 사용하려면 이 속성을 설정하세요. AWS에는 TLS 버전 1.2 이상이 필요하며, 버전 1.3이 권장됩니다.

기본값: Adaptive Server Enterprise

유효한 값: Adaptive Server Enterprise 16.03.06

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

SAP ASE용 소스 데이터 형식

AWS DMS를 사용하는 경우 지원되는 SAP ASE 원본 데이터 형식과 AWS DMS 데이터 형식으로부터의 기본 매핑의 목록은 다음 표를 참조하십시오. AWS DMS는 사용자 정의 형식(UDT) 데이터 형식 열이 있는 SAP ASE 원본 테이블은 지원하지 않습니다. 이 데이터 형식을 사용하는 복제된 열은 NULL로 생성됩니다.

대상에서 매핑된 데이터 형식을 확인하는 방법에 대한 정보는 대상 엔드포인트의 마이그레이션에 적합한 대상 섹션을 참조하십시오.

AWS DMS 데이터 형식에 대한 추가 정보는 AWS Database Migration Service에서 사용되는 데이터 형식 단원을 참조하십시오.

SAP ASE 데이터 형식

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

BOOLEAN

TEXT

CLOB

UNITEXT

NCLOB

IMAGE

BLOB