SAP ASE(Sybase ASE)를 AWS SCT에 대한 소스로 사용 - AWS Schema Conversion Tool

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

SAP ASE(Sybase ASE)를 AWS SCT에 대한 소스로 사용

AWS SCT를 사용하여 스키마, 데이터베이스 코드 객체 및 애플리케이션 코드를 SAP(Sybase) Adaptive Server Enterprise(ASE)에서 다음 대상으로 변환할 수 있습니다.

  • Amazon RDS for MySQL

  • Amazon Aurora MySQL-Compatible Edition

  • Amazon RDS for MariaDB

  • Amazon RDS for PostgreSQL

  • Amazon Aurora PostgreSQL-Compatible Edition

자세한 내용은 다음 단원을 참조하세요.

SAP ASE를 소스 데이터베이스로 사용할 수 있는 권한

SAP ASE 데이터베이스를 소스로 사용하려면 데이터베이스 사용자를 생성하고 권한을 부여해야 합니다. 이 작업을 수행하려면 다음 단계를 수행합니다.

데이터베이스 사용자 생성 및 구성
  1. 소스 데이터베이스에 연결합니다.

  2. 다음 명령을 사용하여 데이터베이스 사용자를 생성합니다. 새 사용자의 암호를 입력합니다.

    USE master CREATE LOGIN min_privs WITH PASSWORD <password> sp_adduser min_privs grant select on dbo.spt_values to min_privs grant select on asehostname to min_privs
  3. 마이그레이션하려는 모든 데이터베이스에 대해 다음 권한을 부여합니다.

    USE <database_name> sp_adduser min_privs grant select on dbo.sysusers to min_privs grant select on dbo.sysobjects to min_privs grant select on dbo.sysindexes to min_privs grant select on dbo.syscolumns to min_privs grant select on dbo.sysreferences to min_privs grant select on dbo.syscomments to min_privs grant select on dbo.syspartitions to min_privs grant select on dbo.syspartitionkeys to min_privs grant select on dbo.sysconstraints to min_privs grant select on dbo.systypes to min_privs grant select on dbo.sysqueryplans to min_privs

SAP ASE(Sybase) 소스에 연결

다음 절차에 따라 AWS Schema Conversion Tool을 사용하여 SAP ASE 소스 데이터베이스에 연결합니다.

SAP ASE 소스 데이터베이스에 연결하려면
  1. AWS Schema Conversion Tool에서 소스 추가를 선택합니다.

  2. SAP ASE를 선택하고 다음을 선택합니다.

    소스 추가 대화 상자가 나타납니다.

  3. 연결 이름에 데이터베이스의 이름을 입력합니다. AWS SCT는 왼쪽 패널의 트리에 이 이름을 표시합니다.

  4. AWS Secrets Manager의 데이터베이스 보안 인증 정보를 사용하거나 수동으로 입력합니다.

    • Secrets Manager의 데이터베이스 보안 인증 정보를 사용하려면 다음 지침을 따릅니다.

      1. AWS Secret에서 보안 암호의 이름을 선택합니다.

      2. Populate를 선택하여 Secrets Manager에서 데이터베이스 연결 대화 상자에 있는 모든 값을 자동으로 채웁니다.

      Secrets Manager의 데이터베이스 보안 인증 사용에 대한 자세한 내용은 AWS Secrets Manager 사용 섹션을 참조하세요.

    • SAP ASE 소스 데이터베이스 연결 정보를 수동으로 입력하려면 다음 지침을 사용합니다.

      파라미터 작업
      [Server name]

      소스 데이터베이스 서버의 도메인 이름 시스템(DNS) 이름 또는 IP 주소를 입력합니다.

      [Server port]

      소스 데이터베이스 서버에 연결하는 데 사용되는 포트를 입력합니다.

      데이터베이스

      SAP ASE 데이터베이스의 이름을 입력합니다.

      User namePassword

      소스 데이터베이스 서버에 연결하는 데 필요한 데이터베이스 보안 인증 정보를 입력합니다.

      참고

      프로젝트에서 데이터베이스에 연결하도록 선택한 경우에만 AWS SCT에서 암호를 사용하여 소스 데이터베이스에 연결합니다. 소스 데이터베이스의 암호가 노출될 위험을 방지하기 위해 AWS SCT는 기본적으로 암호를 저장하지 않습니다. AWS SCT 프로젝트를 닫았다 다시 열 경우 필요에 따라 소스 데이터베이스에 연결하기 위한 암호를 입력하라는 메시지가 표시됩니다.

      Use SSL(SSL 사용)

      SSL(Secure Sockets Layer)을 사용하여 데이터베이스에 연결하려면 이 옵션을 선택합니다. SSL 탭에서 다음 추가 정보를 적절히 제공합니다.

      • Verify server certificate: 트러스트 스토어를 사용하여 서버 인증서를 확인하려면 이 옵션을 선택합니다.

      • 트러스트 스토어: 인증서가 있는 트러스트 스토어의 위치입니다.

      Store password

      AWS SCT는 SSL 인증서와 데이터베이스 암호를 저장할 안전한 볼트를 생성합니다. 이 옵션을 활성화하면 데이터베이스 암호를 저장하고 암호 입력 없이 빠르게 데이터베이스에 연결할 수 있습니다.

      SAP ASE driver path

      소스 데이터베이스에 연결할 때 사용할 드라이버의 경로를 입력합니다. 자세한 내용은 필수 데이터베이스 드라이버 다운로드 섹션을 참조하세요.

      드라이버 경로를 전역 프로젝트 설정에 저장할 경우 드라이버 경로가 연결 대화 상자에 표시되지 않습니다. 자세한 내용은 전역 설정에 드라이버 경로 저장 섹션을 참조하세요.

  5. Test Connection을 선택하여 AWS SCT가 소스 데이터베이스에 연결할 수 있는지 확인합니다.

  6. 연결을 선택하여 소스 데이터베이스에 연결합니다.

MySQL을 대상 데이터베이스로 사용하기 위한 권한

MySQL을 대상으로 사용하기 위해 필요한 권한은 다음과 같습니다.

  • CREATE ON *.*

  • ALTER ON *.*

  • DROP ON *.*

  • INDEX ON *.*

  • REFERENCES ON *.*

  • SELECT ON *.*

  • CREATE VIEW ON *.*

  • SHOW VIEW ON *.*

  • TRIGGER ON *.*

  • CREATE ROUTINE ON *.*

  • ALTER ROUTINE ON *.*

  • EXECUTE ON *.*

  • INSERT, UPDATE ON AWS_SAPASE_EXT.*

  • CREATE TEMPORARY TABLES ON AWS_SAPASE_EXT.*

다음 코드 예제를 사용하여 데이터베이스 사용자를 생성하고 권한을 부여할 수 있습니다.

CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT INSERT, UPDATE ON AWS_SAPASE_EXT.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_SAPASE_EXT.* TO 'user_name';

이전 예제에서 user_name을 사용자 이름으로 바꿉니다. 그런 다음 your_password를 안전한 암호로 바꿉니다.

Amazon RDS for MySQL 또는 Aurora MySQL을 대상으로 사용하려면 lower_case_table_names 파라미터를 1로 설정합니다. 이 값은 MySQL 서버가 테이블, 인덱스, 트리거 및 데이터베이스와 같은 객체 이름의 식별자를 대소문자 구분 없이 처리한다는 것을 의미합니다. 대상 인스턴스에서 이진 로깅을 활성화했다면 log_bin_trust_function_creators 파라미터를 1로 설정합니다. 이 경우 저장된 함수를 생성하기 위해 DETERMINISTIC, READS SQL DATA 또는 NO SQL 특성을 사용할 필요가 없습니다. 이들 파라미터를 구성하려면 새 DB 파라미터 그룹을 생성하거나 기존 DB 파라미터 그룹을 수정해야 합니다.

SAP ASE에서 MySQL로 변환 설정

SAP ASE에서 MySQL로의 변환 설정을 편집하려면 설정을 선택한 다음 변환 설정을 선택합니다. 상단 목록에서 SAP ASE를 선택한 다음 SAP ASE – MySQL 또는 SAP ASE – Amazon Aurora (MySQL compatible)를 선택합니다. AWS SCT는 SAP ASE에서 PostgreSQL로의 변환에 사용할 수 있는 모든 설정을 표시합니다.

AWS SCT의 경우, SAP ASE에서 MySQL로의 변환 설정에는 다음에 대한 옵션이 포함됩니다.

  • 변환된 코드에서 작업 항목이 포함된 설명의 수를 제한합니다.

    Add comments in the converted code for the action items of selected severity and higher에서 작업 항목의 심각도를 선택합니다. AWS SCT가 선택된 심각도 이상의 작업 항목에 대한 변환된 코드에 설명을 추가합니다.

    예를 들어, 변환된 코드의 설명 수를 최소화하려면 오류만을 선택합니다. 변환된 코드의 모든 작업 항목에 대한 설명을 포함하려면 모든 메시지를 선택합니다.

  • 변환된 코드에서 소스 데이터베이스 객체의 정확한 이름을 사용합니다.

    기본적으로 AWS SCT는 데이터베이스 객체, 변수 및 파라미터의 이름을 소문자로 변환합니다. 이러한 이름에서 원래의 대/소문자를 유지하려면 Treat source database object names as case sensitive를 선택합니다. 소스 SAP ASE 데이터베이스 서버에서 대소문자를 구분한 객체 이름을 사용하는 경우 이 옵션을 선택합니다.

PostgreSQL을 대상 데이터베이스로 사용하기 위한 권한

PostgreSQL을 대상으로 사용하려면 AWS SCT에 CREATE ON DATABASE 권한이 필요합니다. 각 대상 PostgreSQL 데이터베이스에 대해 이 권한을 부여해야 합니다.

변환된 공개 동의어를 사용하려면 데이터베이스 기본 검색 경로를 "$user", public_synonyms, public으로 변경합니다.

다음 코드 예제를 사용하여 데이터베이스 사용자를 생성하고 권한을 부여할 수 있습니다.

CREATE ROLE user_name LOGIN PASSWORD 'your_password'; GRANT CREATE ON DATABASE db_name TO user_name; ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;

이전 예제에서 user_name을 사용자 이름으로 바꿉니다. 그런 다음 db_name을 대상 데이터베이스의 이름으로 바꿉니다. 마지막으로 your_password를 안전한 암호로 바꿉니다.

PostgreSQL에서는 스키마 소유자 또는 superuser만 스키마를 삭제할 수 있습니다. 소유자는 스키마 소유자가 일부 객체를 소유하지 않은 경우에도 스키마 및 이 스키마에 포함된 모든 객체를 삭제할 수 있습니다.

여러 사용자를 통해 대상 데이터베이스를 변환하고 다른 스키마를 적용할 때 AWS SCT에서 스키마를 삭제할 수 없는 경우 오류 메시지가 표시될 수 있습니다. 이 오류 메시지가 표시되지 않도록 하려면 superuser 역할을 사용하세요.

SAP ASE에서 PostgreSQL로 변환 설정

SAP ASE에서 PostgreSQL로의 변환 설정을 편집하려면 설정을 선택한 다음 변환 설정을 선택합니다. 상단 목록에서 SAP ASE를 선택한 다음 SAP ASE – PostgreSQL 또는 SAP ASE – Amazon Aurora (PostgreSQL compatible)를 선택합니다. AWS SCT는 SAP ASE에서 PostgreSQL로의 변환에 사용할 수 있는 모든 설정을 표시합니다.

AWS SCT의 경우, SAP ASE에서 PostgreSQL로의 변환 설정에는 다음에 대한 옵션이 포함됩니다.

  • 변환된 코드에서 작업 항목이 포함된 설명의 수를 제한합니다.

    Add comments in the converted code for the action items of selected severity and higher에서 작업 항목의 심각도를 선택합니다. AWS SCT가 선택된 심각도 이상의 작업 항목에 대한 변환된 코드에 설명을 추가합니다.

    예를 들어, 변환된 코드의 설명 수를 최소화하려면 오류만을 선택합니다. 변환된 코드의 모든 작업 항목에 대한 설명을 포함하려면 모든 메시지를 선택합니다.

  • 변환된 코드의 스키마 이름에 사용할 템플릿을 정의합니다. Schema name generation template에서 다음 옵션 중 하나를 선택합니다.

    • <source_db> – PostgreSQL에서 SAP ASE 데이터베이스 이름을 스키마 이름으로 사용합니다.

    • <source_schema> – PostgreSQL에서 SAP ASE 스키마 이름을 스키마 이름으로 사용합니다.

    • <source_db>_<schema> – PostgreSQL에서 SAP ASE 데이터베이스와 스키마 이름의 조합을 스키마 이름으로 사용합니다.

  • 변환된 코드에서 소스 데이터베이스 객체의 정확한 이름을 사용합니다.

    기본적으로 AWS SCT는 데이터베이스 객체, 변수 및 파라미터의 이름을 소문자로 변환합니다. 이러한 이름에서 원래의 대/소문자를 유지하려면 Treat source database object names as case sensitive를 선택합니다. 소스 SAP ASE 데이터베이스 서버에서 대소문자를 구분한 객체 이름을 사용하는 경우 이 옵션을 선택합니다.

    대소문자를 구분하는 작업의 경우 AWS SCT는 데이터베이스 객체 이름을 소문자로 변환하지 않아도 됩니다. 이렇게 하려면 Avoid casting to lowercase for case sensitive operations를 선택합니다.

  • SAP ASE의 여러 테이블에서 이름이 같은 인덱스를 사용할 수 있도록 합니다.

    PostgreSQL에서는 스키마에서 사용하는 모든 인덱스 이름이 고유해야 합니다. AWS SCT가 모든 인덱스에 대해 고유한 이름을 생성하도록 하려면 인덱스에 대한 고유 이름 생성을 선택합니다.