Oracle Database에서 게시 만들기
적용 대상: SQL Server
이 주제에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server의 Oracle 데이터베이스에서 게시를 만드는 방법을 설명합니다.
항목 내용
시작하기 전 주의 사항:
다음을 사용하여 Oracle 데이터베이스에서 게시를 만들려면:
시작하기 전에
필수 조건
- 게시를 만들기 전에 Microsoft SQL Server 배포자에 Oracle 소프트웨어를 설치하고 Oracle 데이터베이스를 구성해야 합니다. 자세한 내용은 Oracle 게시자 구성을 참조하세요.
SQL Server Management Studio 사용
새 게시 마법사를 사용하여 Oracle 데이터베이스에서 스냅샷 또는 트랜잭션 게시를 만듭니다.
Oracle 데이터베이스에서 게시를 처음 만들 때는 SQL Server 배포자에서 Oracle 게시자를 식별해야 합니다(동일한 데이터베이스의 후속 게시에 대해서는 이 작업을 수행할 필요가 없음). 새 게시 마법사나 배포자 속성 - <배포자>> 대화 상자에서 Oracle 게시자를 식별할 수 있습니다. 이 주제에서는 배포자 속성 - <배포자>> 대화 상자를 보여 줍니다.
SQL Server 배포자에서 Oracle 게시자를 식별하려면
SQL Server Management Studio에서 Oracle 게시자가 배포자로 사용할 SQL Server 인스턴스에 연결한 다음 해당 서버 노드를 확장합니다.
복제 폴더를 마우스 오른쪽 단추로 클릭한 다음 배포자 속성을 클릭합니다.
배포자 속성 - <배포자> 대화 상자의 게시자 페이지에서 추가를 클릭하고 Oracle 게시자 추가를 클릭합니다.
서버에 연결 대화 상자에서 옵션 단추를 클릭합니다.
로그인 탭에서 다음을 수행합니다.
Oracle 데이터베이스 인스턴스 이름을 입력하거나 서버 인스턴스 콤보 상자에서 더 찾아보기를 선택합니다.
Oracle 표준 인증(권장) 또는 Windows 인증을 선택합니다.
Windows 인증을 선택하면 Windows 자격 증명을 사용한 연결을 허용하도록 Oracle 서버를 구성해야 하며(자세한 내용은 Oracle 설명서 참조), 복제 관리 사용자 스키마에 대해 지정한 Microsoft Windows 계정과 동일한 계정으로 로그인해야 합니다.
Oracle 표준 인증을 선택하면 구성 중에 Oracle 게시자에서 만든 복제 관리자 스키마의 로그인 및 비밀번호를 입력합니다.
연결 속성 탭에서 게시자 유형으로 게이트웨이 또는 전체를 선택합니다.
완료 옵션은 Oracle 게시에 지원되는 전체 기능 집합을 스냅샷 및 트랜잭션 게시에 제공하도록 설계되었습니다. 게이트웨이 옵션은 복제가 시스템 간 게이트웨이 역할을 하는 경우 성능을 향상시킬 수 있도록 특정 디자인 최적화를 제공합니다. 동일한 테이블을 여러 트랜잭션 게시에 게시하려는 경우 게이트웨이 옵션을 사용할 수 없습니다. 테이블은 최대 하나의 트랜잭션 게시에 표시될 수 있으며 게이트웨이를 선택하는 경우 스냅샷 게시를 원하는 수만큼 표시할 수 있습니다.
연결을 클릭하여 Oracle 게시자에 대한 연결을 만들고 이를 복제에 대해 구성합니다. 서버에 연결 대화 상자를 닫고 배포자 속성 - <배포자> 대화 상자로 돌아갑니다.
참고 항목
네트워크 구성에 문제가 있는 경우 이 시점에서 오류가 발생합니다. Oracle 데이터베이스에 연결하는 데 문제가 발생하는 경우 Oracle 게시자 문제 해결에서 "SQL Server 배포자가 Oracle 데이터베이스 인스턴스에 연결할 수 없습니다." 섹션을 참조하세요.
확인을 선택합니다.
Oracle 데이터베이스에서 게시를 만들려면
Oracle 게시자가 배포자로 사용할 SQL Server 인스턴스에 연결한 다음 해당 서버 노드를 확장합니다.
복제 폴더를 확장합니다.
로컬 게시 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 Oracle 게시를 클릭합니다.
새 게시 마법사의 Oracle 게시자 페이지에서 Oracle 게시자를 선택합니다. Oracle 게시자가 표시되지 않으면 이전 절차의 단계를 안내하는 Oracle 게시자 추가를 클릭합니다.
게시 유형 페이지에서 스냅샷 게시 또는 트랜잭션 게시를 선택합니다.
아티클 페이지에서 게시할 데이터베이스 개체를 선택합니다.
선택적으로 테이블을 확장한 다음 하나 이상의 열의 확인란을 선택 취소하여 테이블 열을 필터링합니다. 아티클 속성 을 클릭하여 아티클 속성을 보고 수정하며 필요에 따라 대체 데이터 형식 매핑을 지정합니다. 데이터 형식 매핑에 대한 자세한 내용은 Oracle 게시자에 데이터 형식 매핑 지정을 참조하세요.
테이블 행 필터 페이지에서 선택적으로 필터를 적용하여 하나 이상의 테이블에서 데이터의 하위 집합을 게시합니다.
스냅샷 에이전트 페이지에서 모든 개체를 만들고 구독 데이터베이스에 필요한 모든 데이터를 추가한 경우에만 스냅샷 즉시 만들기를 지웁니다.
에이전트 보안 페이지에서 스냅샷 에이전트(모든 게시용) 및 로그 판독기 에이전트(트랜잭션 게시용)에 자격 증명을 지정합니다. 지정한 Microsoft Windows 계정의 컨텍스트를 사용하여 에이전트를 실행하고 SQL Server 배포자에 연결합니다. 에이전트는 복제 관리자 스키마로 지정한 계정의 컨텍스트를 사용하여 Oracle 데이터베이스에 연결합니다. 자세한 내용은 Oracle 게시자 구성을 참조하세요.
각 에이전트에 필요한 사용 권한에 대한 자세한 내용은 복제 에이전트 보안 모델 및 복제 보안 모범 사례를 참조하세요.
마법사 작업 페이지에서 선택적으로 게시를 스크립팅합니다. 자세한 내용은 복제 스크립팅을 참조하세요.
마법사 완료 페이지에서 게시에 이름을 지정합니다.
Transact-SQL 사용
Oracle Database를 게시자로 구성한 경우 시스템 저장 프로시저를 사용하여 Microsoft SQL Server 게시자와 동일한 방법으로 트랜잭션 또는 스냅샷 게시를 만들 수 있습니다.
Oracle 게시를 만들려면
Oracle 데이터베이스를 게시자로 구성합니다. 자세한 내용은 Oracle 게시자 구성을 참조하세요.
원격 배포자 없는 경우 원격 배포자를 구성합니다. 자세한 내용은 Configure Publishing and Distribution을 참조하세요.
Oracle 게시자가 사용할 원격 배포자에서 sp_adddistpublisher(Transact-SQL)를 실행합니다. @publisher에 Oracle 데이터베이스 인스턴스의 TNS(Transparent Network Substrate) 이름을 지정하고 @publisher_type에 ORACLE 또는 ORACLE GATEWAY 값을 지정합니다. Oracle 게시자에서 원격 SQL Server 배포자에 연결할 때 사용하는
Specify
보안 모드를 다음 중 하나로 합니다.기본값인 Oracle 표준 인증을 사용하려면 @security_mode에 값 0을 지정하고, @login에 구성 중에 Oracle 게시자에서 만든 복제 관리자 스키마의 로그인을 지정하며, @password에 비밀번호를 지정합니다.
Important
가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 스크립트 파일에 자격 증명을 저장하는 경우에는 무단으로 액세스하지 못하도록 파일에 보안을 설정해야 합니다.
Windows 자격 증명을 사용하려면 @security_mode 에 값 1을 지정합니다.
참고 항목
Windows 인증을 사용하려면 Windows 자격 증명을 사용한 연결을 허용하도록 Oracle 서버를 구성해야 하며(자세한 내용은 Oracle 설명서 참조), 복제 관리자 스키마에 지정한 Microsoft Windows 계정과 동일한 계정으로 로그인해야 합니다.
게시 데이터베이스에 대한 로그 판독기 에이전트 작업을 만듭니다.
게시된 데이터베이스에 대한 로그 판독기 에이전트 작업이 존재하는지 확실하지 않으면 배포 데이터베이스의 Oracle 게시자가 사용하는 배포자에서 sp_helplogreader_agent(Transact-SQL)를 실행합니다. @publisher에 Oracle 게시자의 이름을 지정합니다. 결과 집합이 비어 있으면 로그 판독기 에이전트 작업을 만들어야 합니다.
게시 데이터베이스에 로그 판독기 에이전트 작업이 이미 있는 경우 5단계로 진행합니다.
배포 데이터베이스의 Oracle 게시자가 사용한 배포자에서 sp_addlogreader_agent(Transact-SQL)을 실행합니다. 이때 @job_login 및 @job_password에 에이전트가 실행되는 Windows 자격 증명을 지정합니다.
참고 항목
@job_login 매개 변수는 3단계에 제공된 로그인과 일치해야 합니다. 게시자 보안 정보를 제공하지 않습니다. 로그 판독기 에이전트는 3단계에서 제공한 보안 정보를 사용하여 게시자에 연결합니다.
배포 데이터베이스의 배포자에서 sp_addpublication(Transact-SQL)을 실행하여 게시를 생성합니다. 자세한 내용은 게시물 만들기를 참조하세요.
배포 데이터베이스의 배포자에서 sp_addpublication_snapshot(Transact-SQL)을 실행합니다. @publication 에 4단계에서 사용된 게시 이름, @job_name 및 @password에 스냅샷 에이전트가 실행되는 Windows 자격 증명을 지정합니다. 게시자에 연결할 때 Oracle 표준 인증을 사용하려면 @publisher_security_mode 에 값 0 을 지정하고 @publisher_login 및 @publisher_password에 Oracle 로그인 정보를 지정해야 합니다. 이렇게 하면 게시에 대해 스냅샷 에이전트 작업이 만들어집니다.