Share via


사용자 역할

Important

Change Data Capture for Oracle by Attunity는 이제 더 이상 사용되지 않습니다. 자세한 내용은 공지를 참조하세요.

이 섹션에서는 Change Data Capture Service for Oracle by Attunity에 대한 사용자 역할을 설명합니다. 여기서 설명하는 역할은 SQL Server 데이터베이스 역할, Windows 역할 또는 Oracle 데이터베이스 역할입니다.

Windows 사용자 역할

다음에서는 Oracle CDC Service에서 사용하는 Windows 사용자 역할에 대해 설명합니다.

컴퓨터 관리자: Oracle CDC Service

컴퓨터 관리자는 컴퓨터에서 CDC Service를 만들고 유지 관리하는 작업을 담당하는 Windows 사용자입니다. 이 사용자는 로컬 컴퓨터 관리자 그룹에 속해야 합니다.

Oracle CDC Service 컴퓨터 관리자가 수행하는 작업은 다음과 같습니다.

  • Oracle CDC Service 소프트웨어 설치

  • Oracle CDC Windows 서비스 만들기

  • 대상 SQL Server 인스턴스에 CDC Service 연결 설정(연결 문자열 및 자격 증명)

  • Oracle 로그 마이닝 자격 증명이 보호되는 CDC Service master 암호 확인

  • CDC Service Windows 서비스 삭제

  • CDC Service for Oracle 소프트웨어 설치

  • CDC Service for Oracle 소프트웨어 유지 관리(예: 업데이트 설치)

  • CDC Service Windows 서비스 시작 및 중지

Microsoft 장애 조치(failover) 클러스터와 같은 고가용성 구성에서 작업하는 경우 컴퓨터 관리자에게 다음과 같은 추가 책임과 권한이 있어야 합니다.

  • 모든 클러스터 노드에서 CDC Service for Oracle 소프트웨어를 설치하고 유지 관리합니다.

  • 다양한 클러스터 노드에서 CDC Service의 Windows 서비스에 대한 일반 클러스터 서비스 리소스를 정의합니다.

  • CDC Service for Oracle이 설치된 컴퓨터에서 관리자 권한이 부여된 컴퓨터 관리자 역할을 수행합니다. 이 관리자는 Oracle CDC Service를 설치하고 CDC Service 구성 콘솔을 사용하여 로컬 컴퓨터에서 Oracle CDC Service를 구성합니다.

서비스 계정: Oracle CDC Service

Oracle CDC Service Windows 서비스 계정은 Oracle CDC Service(서비스 계정)를 실행하는 데 사용되는 Windows 계정입니다.

서비스 계정에 필요한 유일한 필수 권한은 Oracle 클라이언트 및 SQL Server 네이티브 클라이언트 ODBC 공급자를 사용할 수 있는 것입니다. 특정 공급자가 요구하는 경우를 제외하고는 이 계정에서 파일에 액세스할 필요가 없습니다. 예를 들어 Oracle 클라이언트 연결 문자열에서 tnsnames.ora 파일의 Oracle 데이터베이스 인스턴스를 참조하는 경우 해당 파일은 서비스 계정의 읽기 액세스가 가능해야 합니다.

Windows Vista 또는 Windows Server 2008에서 Oracle CDC Service를 만드는 경우 기본 서비스 계정은 NETWORK SERVICE 계정입니다.

Windows 7 및 Windows Server 2008 R2 이상에서 기본 서비스 계정은 NT Service\\<service-name>입니다.

SQL Server가 다른 컴퓨터에서 실행되거나 클러스터된 SQL Server 인스턴스이고 서비스에서 Windows 인증을 사용하여 대상 SQL Server에 연결해야 하는 경우 서비스 계정은 도메인 계정이어야 합니다.

SQL Server 사용자 역할

Oracle CDC Service에서 사용하는 SQL Server 사용자 역할에 대한 설명은 다음과 같습니다.

Oracle CDC Service 관리자

CDC Service 관리자는 대상 SQL Server 인스턴스의 Oracle CDC Service 아티팩트를 완전히 제어할 수 있는 SQL Server 사용자입니다. CDC Service 관리자는 Oracle CDC Designer 콘솔을 사용하여 Oracle CDC 인스턴스를 설계합니다.

CDC Service 관리자는publicdbcreator SQL Server 고정 서버 역할을 부여받아야 합니다.

CDC Service 관리자가 수행하는 태스크는 다음과 같습니다.

  • Oracle CDC 인스턴스(SQL Server 데이터베이스)를 호스트할 수 있도록 SQL Server 인스턴스를 준비합니다. 이 작업에서는 MSXDBCDC라는 특수 데이터베이스가 SQL Server 인스턴스에 만들어집니다.

  • Oracle CDC 인스턴스 SQL Server 데이터베이스를 만듭니다. 이 작업에는 CDC용으로 새로 만든 SQL Server 데이터베이스를 사용하도록 설정하는 작업이 포함되며, 이를 위해 SQL Server 시스템 관리자(sysadmin)가 필요합니다.

  • Oracle CDC 인스턴스 설계 이 태스크에는 원본 Oracle 데이터베이스 및 캡처된 테이블에 대한 정보를 제공하는 작업이 포함되며 이 작업에는 Oracle 데이터베이스 관리자가 필요합니다.

  • 캡처 인스턴스 추가/제거 및 구성 업데이트를 비롯하여 시간 경과에 따른 Oracle CDC 인스턴스 유지 관리

  • Oracle CDC 인스턴스를 사용하거나 사용하지 않도록 설정합니다.

  • Oracle CDC 인스턴스의 상태를 모니터링합니다.

  • Oracle CDC 인스턴스에 영향을 주는 문제 해결

CDC Service 관리자는 적어도 처음에는 Oracle CDC 인스턴스와 연결된 SQL Server CDC 데이터베이스에 대한 db_owner 고정 데이터베이스 역할을 맡습니다. 이 역할은 CDC 데이터베이스에 저장된 변경 데이터에 대한 CDC Service 관리자 액세스 권한을 제공합니다. 일단 만들어지면 CDC 데이터베이스의 db_owner 역할은 SQL Server 인스턴스를 준비하고 다른 Oracle CDC 인스턴스를 만드는 것을 제외하고 위에 나열된 모든 작업을 수행할 수 있는 다른 사용자에게 할당할 수 있습니다.

CDC Service 관리자는 Oracle CDC Windows 서비스를 만들 때 지정된 master 암호를 알 필요가 없습니다.

시스템 관리자

SQL Server 시스템 관리자는 SQL Server 사용자이며, Oracle CDC Service와 연결된 SQL Server 인스턴스에 대한 고정 서버 sysadmin 역할을 부여받아야 합니다.

SQL Server 시스템 관리자를 통해 수행된 Oracle CDC 관련 작업은 하나뿐이며, SQL Server 데이터베이스를 SQL Server CDC용 Oracle CDC 인스턴스에 사용하도록 설정하는 것입니다. 이 작업은 새 Oracle CDC 인스턴스를 만들 때 Oracle CDC Designer 콘솔을 사용하여 수행됩니다.

Oracle CDC Service 사용자

SQL Server Oracle CDC Service 사용자는 이 서비스에서 처리하는 MSXDBCDC 및 모든 ORACLE CDC 인스턴스(CDC 데이터베이스)에 대한 작업을 수행하기 위해 Oracle CDC Service에서 사용하는 SQL Server 로그인입니다.

SQL Server Oracle CDC Service 사용자는 다음 역할을 부여받아야 합니다.

  • 서버에서 처리하는 모든 CDC 데이터베이스에 대한 db_dlladmin, db_datareaderdb_datawriter 고정 데이터베이스 역할의 멤버

  • MSXDBCDC 데이터베이스에 대한 고정 데이터베이스 역할 db_datareaderdb_datawriter 의 멤버

Oracle CDC Service는 단일 SQL Server 로그인을 사용하여 모든 CDC 데이터베이스 및 MSXDBCDC 데이터베이스에서 작동하므로 이 로그인은 이러한 모든 데이터베이스에 매핑되어야 합니다.

Oracle CDC 변경 소비자

Oracle CDC 변경 소비자는 SQL Server Oracle CDC 인스턴스 데이터베이스의 CDC 테이블에 저장된 변경 내용을 사용하는 SQL Server 사용자입니다.

이 사용자는 SQL Server CDC 인프라에서 생성된 CDC 함수를 통해 각 CDC 테이블에 액세스하는 데 필요한 사용자 역할을 결정합니다. 캡처 인스턴스를 지정할 때 사용자 역할을 지정하지 않으면 변경 내용에 대한 액세스는 CDC 데이터베이스의 db_owner 고정 데이터베이스 역할의 멤버로 제한됩니다.

Oracle 사용자 역할

Oracle CDC Service에서 사용하는 Oracle 사용자 역할에 대한 설명은 다음과 같습니다.

데이터베이스 관리자(DBA)

Oracle DBA(데이터베이스 관리자)는 Oracle 데이터베이스 사용자입니다. Oracle DBA가 수행하는 작업은 다음과 같습니다.

  • ARCHIVELOG 모드에서 작동하도록 원본 Oracle 데이터베이스를 설정합니다.

  • 필요한 권한이 있는 로그 마이닝 사용자를 설정합니다.

  • 캡처된 테이블에 대한 보완 로깅 설정

  • 더 이상 사용할 수 없는 보관된 트랜잭션 로그 파일을 복원하여 처리할 수 있도록 지원합니다.

Oracle 데이터베이스 관리자는 실행하기 전에 평가할 수 있도록 실행해야 하는 Oracle SQL 스크립트를 가져올 수 있습니다. Oracle 데이터베이스 관리자는 Oracle CDC Designer 콘솔에서 Oracle SQL 스크립트를 직접 실행할 수도 있습니다.

Oracle 데이터베이스 관리자가 Oracle CDC Designer 콘솔을 사용하도록 선택하는 경우 사용된 컨텍스트(대화 상자)를 제외하고는 관리자의 자격 증명이 유지되지 않습니다.

Oracle 데이터베이스 관리자는 Oracle CDC Service 관리자와 협력하여 SQL Server Oracle CDC 인스턴스를 구성합니다.

로그 마이닝 사용자

Oracle Log Miner 사용자는 Oracle 트랜잭션 로그에 액세스하고 처리하는 데 필요한 권한이 부여된 특수 Oracle 데이터베이스 사용자입니다.

이 사용자의 자격 증명은 비대칭 키 암호화를 사용하여 SQL Server Oracle CDC 인스턴스 데이터베이스에 저장됩니다. Oracle CDC Service에서만 액세스할 수 있으며, SQL Server Oracle CDC 인스턴스 데이터베이스 소유자는 액세스할 수 없습니다.

다음 목록에서는 로그 마이닝 사용자에게 부여해야 하는 필수 권한을 설명합니다.

  • <any-captured-table>에 대한 SELECT 권한

  • SELECT ANY TRANSACTION

  • EXECUTE on DBMS_LOGMNR

  • SELECT on V$LOGMNR_CONTENTS

  • V$ARCHIVED_LOG에 대한 SELECT 권한

  • V$LOG에 대한 SELECT 권한

  • V$LOGFILE에 대한 SELECT 권한

  • SELECT on V$DATABASE

  • SELECT on V$THREAD

  • SELECT on ALL_INDEXES

  • SELECT on ALL_OBJECTS

  • SELECT on DBA_OBJECTS

  • SELECT on ALL_TABLES

이러한 권한을 V$xxx에 부여할 수 없는 경우 V $xxx에 부여해야 합니다.

스키마 사용자

Oracle 스키마 사용자는 캡처할 Oracle 테이블의 스키마에 대한 읽기 액세스 권한이 있는 Oracle 사용자입니다. 이 사용자는 Oracle CDC Designer 콘솔을 사용하여 Oracle 스키마, 캡처할 테이블 및 해당 열, 인덱스, 키의 목록을 검색하는 데 필요합니다.

이 사용자의 자격 증명은 저장되지 않습니다. 필요할 때마다 CDC Designer 콘솔에서 요청되며 나머지 UI 세션 동안 유지됩니다.