Oracle 데이터베이스에서 게시 만들기

적용 대상:SQL Server

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server의 Oracle 데이터베이스에서 게시를 만드는 방법을 설명합니다.

항목 내용

시작하기 전에

필수 조건

  • 게시를 만들기 전에 Microsoft SQL Server 배포자에 Oracle 소프트웨어를 설치해야 하며 Oracle 데이터베이스를 구성해야 합니다. 자세한 내용은 Oracle 게시자 구성을 참조하세요.

SQL Server Management Studio 사용

새 게시 마법사를 사용하여 Oracle 데이터베이스에서 스냅샷 또는 트랜잭션 게시를 만듭니다.

Oracle 데이터베이스에서 게시를 처음 만들 때는 SQL Server 배포자에서 Oracle 게시자를 식별해야 합니다(동일한 데이터베이스의 후속 게시에 대해서는 이 작업을 수행할 필요가 없음). 새 게시 마법사 또는 배포자 속성 - <배포>자 대화 상자에서 Oracle 게시자를 식별할 수 있습니다. 이 항목에서는 배포자 속성 - <배포자> 대화 상자를 보여 줍니다.

SQL Server 배포자에서 Oracle 게시자를 식별하려면

  1. SQL Server Management Studio에서 Oracle 게시자가 배포자로 사용할 SQL Server 인스턴스에 연결한 다음 서버 노드를 확장합니다.

  2. 복제 폴더를 마우스 오른쪽 단추로 클릭한 다음 배포자 속성을 클릭합니다.

  3. 배포자 속성 - <배포자> 대화 상자의 게시자 페이지에서 추가를 클릭한 다음 Oracle 게시자 추가를 클릭합니다.

  4. 서버로 커넥트 대화 상자에서 옵션 단추를 클릭합니다.

  5. 로그인 탭에서 다음을 수행합니다.

    1. Oracle 데이터베이스 인스턴스 이름을 입력하거나 서버 인스턴스 콤보 상자에서 자세히 찾아보기를 선택합니다.

    2. Oracle 표준 인증(권장) 또는 Windows 인증을 선택합니다.

      Windows 인증을 선택하는 경우: Windows 자격 증명을 사용하여 연결을 허용하도록 Oracle 서버를 구성해야 합니다(자세한 내용은 Oracle 설명서 참조). 현재 복제본(replica)tion 관리 사용자 스키마에 대해 지정한 것과 동일한 Microsoft Windows 계정으로 로그인해야 합니다.

    3. Oracle 표준 인증을 선택하는 경우 구성 중에 Oracle 게시자에서 만든 복제본(replica)tion 관리 사용자 스키마의 로그인 및 암호를 입력합니다.

  6. 연결 속성 탭에서 게시자 유형으로 게이트웨이 또는 전체를 선택합니다.

    완료 옵션은 스냅샷 및 트랜잭션 게시에 Oracle 게시에 지원되는 전체 기능 집합을 제공하도록 설계되었습니다. 게이트웨이 옵션은 복제본(replica)tion이 시스템 간의 게이트웨이 역할을 하는 경우 성능을 향상시키기 위한 특정 디자인 최적화를 제공합니다. 동일한 테이블을 여러 트랜잭션 게시에 게시하려는 경우 게이트웨이 옵션을 사용할 수 없습니다. 게이트웨이를 선택하는 경우 테이블은 최대 하나의 트랜잭션 게시와 여러 스냅샷 게시에 표시할 수 있습니다.

  7. 커넥트 클릭하여 Oracle 게시자에 대한 연결을 만들고 복제본(replica) 구성합니다. 서버에 대한 커넥트 대화 상자가 닫히면 배포자 속성 - <배포자> 대화 상자로 돌아갑니다.

    참고 항목

    네트워크 구성에 문제가 있는 경우 이 시점에서 오류가 발생합니다. Oracle 데이터베이스에 연결하는 데 문제가 발생하는 경우 Oracle 게시자 문제 해결에서 "SQL Server 배포자가 Oracle 데이터베이스 인스턴스에 연결할 수 없습니다." 섹션을 참조하세요.

  8. 확인을 선택합니다.

Oracle 데이터베이스에서 게시를 만들려면

  1. Oracle 게시자가 배포자로 사용할 SQL Server 인스턴스에 커넥트 서버 노드를 확장합니다.

  2. 복제 폴더를 확장합니다 .

  3. 로컬 게시 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 Oracle 게시를 클릭합니다.

  4. 새 게시 마법사의 Oracle 게시자 페이지에서 Oracle 게시자를 선택합니다. Oracle 게시자가 표시되지 않으면 이전 절차의 단계를 안내하는 Oracle 게시자 추가를 클릭합니다.

  5. 게시 유형 페이지에서 스냅샷 게시 또는 트랜잭션 게시를 선택합니다.

  6. 아티클 페이지에서 게시할 데이터베이스 개체를 선택합니다.

    필요에 따라 테이블을 확장한 다음 하나 이상의 열에 대한 검사 상자를 선택 취소하여 테이블 열을 필터링합니다. 아티클 속성 을 클릭하여 아티클 속성을 보고 수정하며 필요에 따라 대체 데이터 형식 매핑을 지정합니다. 데이터 형식 매핑에 대한 자세한 내용은 Oracle 게시자에 대한 데이터 형식 매핑 지정을 참조하세요.

  7. 테이블 행 필터 페이지에서 선택적으로 필터를 적용하여 하나 이상의 테이블에서 데이터의 하위 집합을 게시합니다.

  8. 스냅샷 에이전트 페이지에서 모든 개체를 만들고 구독 데이터베이스에 필요한 모든 데이터를 추가한 경우에만 즉시 스냅샷 만들기를 취소합니다.

  9. 에이전트 보안 페이지에서 스냅샷 에이전트(모든 게시의 경우) 및 로그 판독기 에이전트(트랜잭션 게시의 경우)에 대한 자격 증명을 지정합니다. 에이전트는 지정한 Microsoft Windows 계정의 컨텍스트를 사용하여 SQL Server 배포자를 실행하고 연결합니다. 에이전트는 복제본(replica)tion 관리 사용자 스키마로 지정한 계정의 컨텍스트를 사용하여 Oracle 데이터베이스에 연결합니다. 자세한 내용은 Oracle 게시자 구성을 참조하세요.

    각 에이전트에 필요한 권한에 대한 자세한 내용은 복제 에이전트 보안 모델복제 보안 모범 사례를 참조하세요.

  10. 마법사 작업 페이지에서 필요에 따라 게시를 스크립딩합니다. 자세한 내용은 복제 스크립팅을 참조 하세요.

  11. 마법사 완료 페이지에서 발행물의 이름을 지정합니다.

Transact-SQL 사용

Oracle 데이터베이스가 게시자로 구성되면 시스템 저장 프로시저를 사용하여 Microsoft SQL Server 게시자에서와 동일한 방식으로 트랜잭션 또는 스냅샷 게시를 만들 수 있습니다.

Oracle 게시를 만들려면

  1. Oracle 데이터베이스를 게시자로 구성합니다. 자세한 내용은 Oracle 게시자 구성을 참조하세요.

  2. 원격 배포자 없는 경우 원격 배포자를 구성합니다. 자세한 내용은 Configure Publishing and Distribution을 참조하세요.

  3. Oracle 게시자가 사용할 원격 배포자에서 sp_adddistpublisher(Transact-SQL)를 실행합니다. @publisher Oracle 데이터베이스 인스턴스의 TNS(투명한 네트워크 기판) 이름과 @publisher_type ORACLE 또는 ORACLE GATEWAY값을 지정합니다. Specify Oracle 게시자에서 원격 SQL Server 배포자로 연결할 때 사용되는 보안 모드는 다음 중 하나입니다.

    • 기본값인 Oracle 표준 인증을 사용하려면 @security_mode 값 0, @login 구성 중에 Oracle 게시자에서 만든 복제본(replica)tion 관리 사용자 스키마의 로그인 및 @password 암호를 지정합니다.

      Important

      가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 스크립트 파일에 자격 증명을 저장하는 경우에는 무단으로 액세스하지 못하도록 파일에 보안을 설정해야 합니다.

    • Windows 자격 증명을 사용하려면 @security_mode 에 값 1을 지정합니다.

      참고 항목

      Windows 인증을 사용하려면 Windows 자격 증명을 사용하여 연결을 허용하도록 Oracle 서버를 구성해야 합니다(자세한 내용은 Oracle 설명서 참조). 복제본(replica) 관리 사용자 스키마에 대해 지정한 것과 동일한 Microsoft Windows 계정으로 현재 로그인해야 합니다.

  4. 게시 데이터베이스에 대한 로그 판독기 에이전트 작업을 만듭니다.

    • 게시된 데이터베이스에 대한 로그 판독기 에이전트 작업이 있는지 확실하지 않은 경우 배포 데이터베이스의 Oracle 게시자가 사용하는 배포자에서 sp_helplogreader_agent(Transact-SQL)를 실행합니다. @publisher Oracle 게시자의 이름을 지정합니다. 결과 집합이 비어 있으면 로그 판독기 에이전트 작업을 만들어야 합니다.

    • 게시 데이터베이스에 대한 로그 판독기 에이전트 작업이 이미 있는 경우 5단계로 진행합니다.

    • 배포 데이터베이스에서 Oracle 게시자가 사용하는 배포자에서 sp_addlogreader_agent(Transact-SQL)를 실행합니다. 이때 @job_login@job_password에 에이전트가 실행되는 Windows 자격 증명을 지정합니다.

      참고 항목

      @job_login 매개 변수는 3단계에서 제공한 로그인과 일치해야 합니다. 게시자 보안 정보를 제공하지 않습니다. 로그 판독기 에이전트는 3단계에서 제공한 보안 정보를 사용하여 게시자에 연결합니다.

  5. 배포 데이터베이스의 배포자에서 sp_addpublication(Transact-SQL)를 실행하여 게시를 만듭니다. 자세한 내용은 게시 만들기를 참조하세요.

  6. 배포 데이터베이스의 배포자에서 sp_addpublication_스냅샷(Transact-SQL)를 실행합니다. @publication 에 4단계에서 사용된 게시 이름, @job_name@password에 스냅샷 에이전트가 실행되는 Windows 자격 증명을 지정합니다. 게시자에 연결할 때 Oracle 표준 인증을 사용하려면 @publisher_security_mode 에 값 0 을 지정하고 @publisher_login@publisher_password에 Oracle 로그인 정보를 지정해야 합니다. 이렇게 하면 게시에 대해 스냅샷 에이전트 작업이 만들어집니다.

참고 항목

Oracle 게시자 구성
데이터 및 데이터베이스 개체 게시
Oracle 게시자에 대한 트랜잭션 집합 작업 구성(복제 Transact-SQL 프로그래밍)
Oracle 게시 개요
Oracle 사용 권한을 부여하는 스크립트