데이터 매핑 프로젝트에서 수행된 변경 사항을 기록하기 위한 데이터베이스 추적 기능
데이터베이스 관리자 및 기타 데이터 전문가들은 특히 자동화된 스크립트나 다른 작업을 통해 업데이트가 이루어지는 경우, 중요한 데이터베이스의 변경 사항을 기록하고 싶어하는 경우가 많습니다. 데이터베이스 추적 기능은 관리자가 중요한 변경 사항이나 이상 현상을 추적하고, 오류 발생 시 복구를 지원합니다. Altova MapForce는 데이터 매핑 프로젝트가 실행되는 동안 데이터베이스에 적용되는 변경 사항을 기록하기 위해, 모든 주요 관계형 데이터베이스에 대한 데이터베이스 추적 기능을 제공합니다.
추적 기능이 활성화되면, 데이터베이스에 데이터가 삽입되거나 수정되는 작업, 또는 오류와 같은 이벤트들이 XML 파일에 기록됩니다. 이 파일을 나중에 분석하거나, 자동화된 방식으로 추가적인 처리를 수행할 수 있습니다.
데이터베이스 추적 기능은 데이터베이스 구성 요소, 테이블, 저장 프로시저 또는 데이터베이스 필드 수준에서 활성화할 수 있습니다. 모든 메시지를 추적하거나 오류만 추적하도록 설정할 수도 있으며, 필요에 따라 추적 기능을 완전히 비활성화할 수도 있습니다.

MapForce는 대상 데이터베이스에 매핑 작업을 수행하는 동안 발생하는 오류를 추적하는 기능 외에도, 오류가 발생했을 때 해당 데이터베이스 데이터의 일부를 되돌리는 데이터베이스 트랜잭션 처리 기능을 제공합니다. 이를 통해 오류가 발생한 부분을 복구한 후, 필요에 따라 매핑 작업의 나머지 부분을 계속 진행할 수 있습니다.
데이터베이스 트랜잭션 처리를 활성화하면 데이터베이스 컴포넌트에서 수행되는 모든 변경 사항이 트랜잭션 내에 포함됩니다. 오류가 발생하면 이 트랜잭션이 롤백됩니다. 사용자는 오류 발생 시 매핑의 나머지 부분을 계속 진행하거나, 매핑 실행을 중단하도록 선택할 수 있습니다. 트랜잭션은 데이터베이스 컴포넌트 수준과 테이블 작업 수준에서 모두 활성화할 수 있습니다.
데이터베이스 추적의 예시를 살펴보겠습니다.
MapForce 예제 폴더에는 "Altova_Hierarchical_DB"라는 매핑 파일이 포함되어 있으며, 이 파일은 XML 문서의 계층적 데이터를 데이터베이스의 테이블로 변환하는 역할을 합니다.

데이터베이스 상단에 있는 파란색 막대를 마우스 오른쪽 버튼으로 클릭하면 속성 대화 상자가 열리며, 이 대화 상자에는 추적 기능을 활성화하고 추적 로그 파일의 위치를 지정하는 옵션이 포함되어 있습니다. 추적 기능은 비활성화하거나, 오류 발생 시에만 활성화하거나, 모든 작업에 대해 활성화할 수 있습니다. 또한, 이 곳에서 데이터베이스 추적 로그 파일의 이름과 경로를 지정할 수 있습니다.

매핑 작업을 수행하려면 매핑 창 아래에 있는 "출력" 버튼을 클릭하면 두 개의 파일이 생성됩니다.
먼저, 아래에 SQL 스크립트의 미리보기 내용이 표시됩니다. 데이터베이스는 "출력" 메뉴에서 "SQL 스크립트 실행" 옵션을 선택하기 전까지는 변경되지 않습니다. 두 번째 파일은 XML 추적 로그의 미리보기 내용입니다.


위에서 언급된 것처럼, 스크립트의 실제 실행 결과를 바탕으로 추적 로그가 나중에 업데이트될 예정입니다.
데이터베이스 추적 사용자 정의하기
때로는 특정 작업만 추적하고 싶을 수 있습니다. MapForce를 사용하면 테이블, 필드 또는 저장 프로시저 수준에서 추적 설정을 사용자 정의할 수 있습니다. 여기에서 보여주는 매핑에서, 우리는 오류를 추적하는 것 외에도 "Person" 테이블에 추가된 모든 이름(성 및 이름)을 기록하고 싶을 수 있습니다.
이를 달성하기 위해, 데이터베이스의 최상위 추적 설정을 "오류"로 설정할 수 있습니다. 그런 다음, "Person" 테이블의 추적 설정을 "항상"으로 설정하고, 숨기거나 포함할 필드를 선택할 수 있습니다

SQL 스크립트를 실행하면 미리보기 창에 각 SQL 명령의 결과가 표시됩니다. 아래 스크린샷에서 강조 표시된 부분은 특정 이름을 강조한 것입니다.

추적 로그에는 "Person" 테이블에 추가된 모든 이름 목록이 포함되어 있습니다

데이터베이스 매핑에 추가된 출력 추적 기능은 MapForce Server를 통해 자동 모드로 매핑을 실행하거나 FlowForce Server의 제어 하에 있을 때에도 수행됩니다. FlowForce Server 작업을 통해 출력 로그 XML 파일을 자동으로 처리하여 맞춤형 보고서를 생성할 수도 있습니다.
저희 예시의 결과를 더욱 확실하게 검증하기 위해, DatabaseSpy라는 특수한 도구를 사용하여 데이터베이스를 열어볼 수 있습니다 다중 데이터베이스 쿼리, 설계 및 데이터베이스 비교 도구, 그리고 테이블 내용을 직접 확인해 보세요:

향후 게시글에서는 오류가 발생했을 때 데이터베이스의 영향을 받은 부분을 되돌리는 데이터베이스 트랜잭션 처리에 대해 자세히 알아보겠습니다. 그동안, 이 예제를 따라하거나, 자체 데이터베이스에 대한 데이터 매핑을 활용하여 데이터베이스 추적 기능을 직접 사용해 보시려면, MapForce 무료 평가판을 다운로드하십시오.