개요
DTS가 마이그레이션을 지원하는 고급 객체는 함수, 트리거, 스토리지 프로시저 및 이벤트입니다. 고급 객체의 마이그레이션은 작업 시작 전 원본 데이터베이스에 이미 있는 고급 객체만 마이그레이션하는 일회성 작업입니다. 작업이 시작된 후 원본 데이터베이스에 추가된 고급 객체는 타깃 데이터베이스에 동기화되지 않습니다.
설명
현재 고급 객체 마이그레이션이 지원되는 시나리오는 MySQL, TDSQL-C MySQL, MariaDB 및 Percona 간의 데이터 마이그레이션입니다.
적용 범위
고급 객체는 NewDTS로만 마이그레이션할 수 있습니다.
주의 사항
고급 객체를 마이그레이션할 때 DB 테이블의 이름을 변경하지 않는 것이 좋습니다. 그렇지 않으면 고급 객체의 마이그레이션이 실패할 수 있습니다.
고급 객체 마이그레이션 실패는 전체 마이그레이션 작업에 영향을 미치지 않으므로 전체 마이그레이션 작업의 성공이 고급 객체 마이그레이션 성공을 보장하지 않습니다. 진행 세부 정보 페이지에서 고급 객체가 성공적으로 마이그레이션되었는지 확인하시기 바랍니다.
저장 프로시저 및 함수를 마이그레이션할 때, DTS는 원본 데이터베이스의 DEFINER에 해당하는 user1([DEFINER = user1])이 마이그레이션 계정 user2와 일치하는지 확인합니다. 일치하지 않는 경우, DTS는 마이그레이션 후 타깃 데이터베이스에서 user1의 SQL SECURITY 속성을 수정하고 DEFINER에서 INVOKER( [INVOKER = user1])로 변환하고, 동시에 타깃 데이터베이스의 'DEFINER'를 마이그레이션 계정 user2([DEFINER = 마이그레이션 계정 user2])로 설정합니다.
‘원본 데이터베이스 내보내기’ 단계에서 마이그레이션된 저장 프로시저 및 함수; 트리거 및 이벤트, 증분 작업 없음, 작업 종료 시 마이그레이션, 증분 작업이 있는 경우 사용자가 작업 완료를 클릭한 후에 마이그레이션이 시작되므로 완료 클릭 후 작업 전환 시간이 더 길어집니다.
버전 간 마이그레이션의 경우 원본 데이터베이스의 고급 객체에서 설정한 sql_mode가 타깃 데이터베이스에서 지원되지 않는 경우 고급 객체가 타깃 데이터베이스로 마이그레이션된 후 sql_mode가 'NO_AUTO_VALUE_ON_ZERO'로 변경됩니다.
트리거 및 이벤트 마이그레이션 시 마이그레이션 계정에 원본 데이터베이스의 TRIGGER 및 EVENT 권한을 부여해야 합니다.
작업 순서
1. 데이터 마이그레이션 작업의 마이그레이션 옵션 설정 및 객체 마이그레이션 선택 페이지에서 고급 객체 기능을 설정합니다. 고급 객체는 기본적으로 선택되어 있지 않습니다. 마이그레이션 하려면 직접 선택하십시오.
2. 인증 작업에 고급 객체에 대한 확인 항목이 추가됩니다. 자세한 내용은 고급 객체 확인을 참고하십시오.