Oracle용 CDC Service는 하나 이상의 원본 Oracle 데이터베이스에서 선택한 테이블의 변경 내용을 SQL Server 인스턴스에 있는 SQL Server CDC 데이터베이스로 캡처합니다. 다음 다이어그램에서는 Oracle용 CDC Service를 구성하는 구성 요소를 보여 줍니다.
이 그림에서는 사용되는 4개의 플랫폼을 보여 줍니다. 대부분의 경우 이러한 플랫폼은 겹칠 수 있지만 이 다이어그램은 표준 사용 사례를 나타냅니다. 예를 들어 Oracle 및 SQL Server 데이터베이스는 각각 별도의 컴퓨터에서 실행되며 Oracle CDC Service 플랫폼 또는 CDC Service가 디자인된 플랫폼과 공유되지 않는 것이 좋습니다. 이 그림에 설명된 플랫폼은 다음과 같습니다.
Oracle CDC Service: Oracle CDC Service가 설치되고 실행되는 지원되는 모든 Windows 컴퓨터일 수 있습니다. 이 플랫폼은 Microsoft 장애 조치(failover) 클러스터의 클러스터 노드를 나타낼 수도 있습니다(고가용성 구성은 이 문서의 뒷부분에서 설명).
Oracle 데이터베이스: 지원되는 버전의 Oracle 데이터베이스가 실행되는 컴퓨터일 수 있습니다. 여기에는 설치된 Oracle 데이터베이스 버전에서 지원하는 Windows, Linux 또는 기타 운영 체제를 실행하는 컴퓨터가 포함됩니다. 단일 Oracle CDC Service가 여러 원본 Oracle 데이터베이스의 변경 내용을 캡처할 수 있으므로 다이어그램은 이 플랫폼을 복수로 보여 줍니다.
SQL Server: 대상 SQL Server 데이터베이스(SQL Server 2019(15.x)의 지원되는 SKU)가 실행되는 모든 컴퓨터일 수 있습니다. Oracle CDC Service는 변경 테이블 및 서비스 구성을 저장하는 하나의 SQL Server 대상을 지원합니다. 또한 SQL Server 플랫폼은 AlwaysOn 기능을 사용하여 SQL Server 2019(15.x) 또는 SQL Server 2019(15.x)의 클러스터형 인스턴스를 나타낼 수도 있습니다.
Oracle CDC Designer: 원본 Oracle 데이터베이스 및 대상 SQL Server 데이터베이스에 액세스할 수 있는 지원되는 모든 Windows 컴퓨터일 수 있습니다.
다음 표에서는 위에서 설명한 네 개의 플랫폼에서 실행되는 구성 요소에 대해 설명합니다.
| 구성 요소/설명 | 구성 요소는 다음으로 구성됩니다. |
|---|---|
| Oracle CDC Service: 변경 데이터 캡처 작업이 수행되는 Windows 서비스입니다. | Oracle CDC 인스턴스: 단일 원본 Oracle 데이터베이스에 대한 변경 데이터 캡처 작업을 처리하는 Oracle CDC Service의 하위 프로세스입니다(원본 Oracle 데이터베이스당 하나의 Oracle CDC 인스턴스가 있습니다). Oracle 로그 판독기: Oracle 클라이언트를 사용하여 Oracle 트랜잭션 로그를 읽습니다. Oracle 클라이언트: Oracle과의 통신에 사용되는 Oracle 인스턴트 클라이언트입니다. Oracle CDC Service를 설치하기 전에 Oracle에서 가져와서 설치해야 하는 필수 구성 요소입니다. SQL Server 변경 기록기: 캡처된 Oracle 테이블에 대한 커밋된 변경 내용을 SQL Serverchange 테이블에 씁니다. 또한 이 구성 요소는 대상 SQL Server 데이터베이스 내에서 해당 캡처 상태를 유지 관리합니다. SQL ServerODBC 클라이언트: MICROSOFT Native Client for SQL Server 2019(15.x). 이는 Oracle CDC Service를 설치하기 전에 Microsoft에서 가져와서 설치해야 하는 필수 구성 요소입니다. |
| Oracle CDC Service 구성: Windows 서비스를 만들고 구성을 설정하는 Microsoft 관리 콘솔 스냅인입니다. | SQL Server 클라이언트: .NET Framework 버전 4와 함께 제공되는 SQL ADO.NET 클라이언트입니다. |
| Oracle 데이터베이스: 선택 테이블에 대한 변경 내용이 캡처되는 원본 Oracle 데이터베이스입니다. | 로그 마이너: Oracle 트랜잭션 로그를 읽는 Oracle 구성 요소입니다. 트랜잭션 로그: 데이터베이스가 트랜잭션을 롤백하고 오류로부터 복구할 수 있도록 Oracle에서 사용하는 온라인 및 보관된 Oracle 다시 실행 로그입니다(이 경우 Oracle 데이터베이스는 보관 로그 모드에서 작동해야 합니다). |
| SQL Server 인스턴스: CDC 데이터베이스가 호스트되는 SQL Server 인스턴스입니다. 클러스터형 SQL Server 인스턴스(장애 조치(failover) 클러스터) 또는 미러된 데이터베이스(AlwaysOn)일 수 있습니다. | MSXDBCDC 데이터베이스: 이 SQL Server 인스턴스로 작업하는 CDC Services에 대한 정보가 보관되는 데이터베이스입니다. 또한 각 CDC Service에서 처리하는 Oracle CDC 인스턴스에 대한 정보도 유지합니다. 이 데이터베이스는 CDC Service 만들기 프로세스의 일부로 만들어집니다. CDC Database: 원본 Oracle 데이터베이스 중 하나에 대한 변경 내용을 저장하는 SQL Server 데이터베이스입니다. CDC Database는 SQL Server CDC에 대해 사용하도록 설정되므로 SQL Server CDC 테이블과 함수가 있으므로 Oracle에서 시작된 변경 내용을 쉽게 사용할 수 있습니다. |
| Oracle CDC Designer: Oracle CDC 인스턴스를 만드는 데 도움이 되는 Microsoft 관리 콘솔 스냅인입니다. 이를 사용하여 캡처할 테이블 및 열을 선택하고 Oracle 연결 정보를 제공하며 CDC 인스턴스의 수명 주기를 관리합니다. | SQL Server 클라이언트: .NET Framework 버전 4와 함께 제공되는 SQL ADO.NET 클라이언트입니다. Oracle 클라이언트: Oracle과의 통신에 사용되는 Oracle 인스턴트 클라이언트입니다. Oracle CDC Service를 설치하기 전에 Oracle에서 가져와서 설치해야 하는 필수 구성 요소입니다. |
Oracle CDC Service 및 해당 자식 Oracle CDC 인스턴스는 원본 Oracle 데이터베이스 및 대상 SQL Server 인스턴스와만 클라이언트로 통신할 수 있습니다. 네트워크 및 기타 프로토콜에서 적극적으로 수신 대기하지 않습니다. Oracle CDC Service는 CDC 데이터베이스에서 구성 변경 내용을 모니터링하고 업데이트된 구성에 따라 작업을 업데이트합니다.