Chat now with support
Chat with Support

SharePlex 11.4 - 관리 안내서

이 안내서 정보 이 안내서에 사용된 규칙 SharePlex 개요 SharePlex 실행 SharePlex의 여러 인스턴스 실행 sp_ctrl에서 명령 실행 SharePlex 매개변수 설정 데이터 복제 구성 컨테이너 데이터베이스와의 복제 구성 명명된 큐 구성 파티셔닝된 복제 구성 변경 내역 타겟에 대한 복제 구성 복제 전략 구성 DDL 복제 구성 오류 처리 구성 데이터 변환 구성 보안 기능 구성 SharePlex 사용자를 보안 그룹에 할당 프로덕션 시스템에서 복제 시작 SharePlex 모니터링 복제 문제 방지 및 해결 동기화 중단 데이터 복원 Capture 프로세스 조정 Post 프로세스 조정 Oracle 장애 조치 후 복제 복구 활성 복제 환경 변경 Oracle 애플리케이션 패치 또는 업그레이드 적용 소스 또는 타겟에서 Oracle 데이터 백업 문제 해결 팁 부록 A: 피어-투-피어 다이어그램 부록 B: SharePlex 환경 변수

PDB 간 복제

캡처 및 전달 구성

SharePlex는 하나의 PDB에서 다음 위치로 데이터를 복제할 수 있습니다.

  • 동일한 CDB의 다른 PDB
  • 다른 CDB의 PDB
  • 일반(비PDB) 타겟

SharePlex는 일반 소스 데이터베이스의 데이터를 타겟 Oracle CDB의 PDB로 복제할 수 있습니다.

하나의 구성 파일에서 동일한 CDB 또는 다른 CDB의 타겟 PDB 수에 관계없이 복제할 수 있습니다.

PDB에서 캡처하려면 다음을 수행합니다.

  • 구성 파일에서 PDB의 TNS 별칭을 데이터 소스로 지정합니다. 예를 들어 TNS 별칭이 pdb1인 경우 데이터 소스 사양은 다음과 같습니다.

    Datasource: o.pdb1

  • 동일한 CDB에 있는 PDB(Pluggable Databases)에서 원하는 만큼 복제할 수 있습니다. 각 PDB에 대해 별도의 구성 파일을 만듭니다. 각 PDB는 서로 다른 데이터 소스이므로 모든 구성이 동시에 활성화될 수 있습니다.
  • 시스템에 있는 두 개 이상의 PDB에서 복제하는 경우 명명된 Export 큐를 사용하여 데이터 스트림을 각각 분리합니다. 이를 통해 다른 구성에 영향을 주지 않고 한 구성에 대해 영향을 주는 SharePlex 명령(예: purge config 또는 abort config)을 실행할 수 있습니다. 자세한 내용은 1페이지의 명명된 Export 큐 구성

PDB에 복제하려면 다음을 수행합니다.

다음 예와 같이 라우팅 맵에서 타겟 PDB의 TNS 별칭을 지정합니다. 여기서, pdb2는 타겟입니다.

sys02@o.pdb2

PDB 구성 예

예 1: 이 예에서는 두 개의 구성 파일을 보여줍니다. 하나는 pdb1에서 복제하고 다른 하나는 pdb2에서 복제하며, 둘 다 pdb3에 데이터를 복제합니다.

Datasource: o.pdb1
hr.emp    hr2.emp2    sys02@o.pdb3
Datasource: o.pdb2 	 
sales.cust    sales2.cust2    sys02@o.pdb3

예 2: 이 예에서는 pdb1에서 pdb2pdb3으로 복제되는 하나의 구성 파일을 보여줍니다. 두 타겟은 서로 다른 시스템에 있습니다.

명명된 큐 구성

이 장에는 명명된 큐의 고급 SharePlex 구성 옵션을 사용하기 위한 지침이 포함되어 있습니다. 이러한 옵션은 특정 처리 및 라우팅 요구 사항을 충족하기 위해 데이터를 분할하고 병렬화할 수 있는 추가적인 유연성을 제공합니다. 계속하기 전에 데이터 복제를 위해 SharePlex 구성의 개념과 프로세스를 이해했는지 확인하십시오.

내용

명명된 Export 큐 구성

명명된 Export 큐는 자체 Export 프로세스에 연결된 선택적이고 사용자 정의된 Export 큐입니다. SharePlex는 기본 Export 큐-프로세스 쌍 외에도 명명된 각 Export 큐 및 관련 Export 프로세스를 생성합니다. SharePlex가 명명된 Export 큐-프로세스 쌍을 생성하면 타겟에 해당 데이터 스트림을 포함하는 전용 Import 프로세스, Post 큐 및 Post 프로세스도 생성됩니다.

구성 파일을 생성하는 경우 SharePlex에 하나 이상의 명명된 Export 큐를 생성하도록 지시합니다. 명명된 Export 큐를 통해 처리하도록 구성되지 않은 데이터는 기본 Export 큐를 통해 처리됩니다.

지원되는 소스 및 타겟

  • PostgreSQL에서 PostgreSQL, Oracle, SQL Server 및 Kafka로

  • Oracle에서 모든 타겟으로

명명된 Export 큐의 이점

명명된 Export 큐를 사용하여 다음 항목의 복제를 격리합니다.

  • 개별 구성: 기본적으로 SharePlex는 타겟 시스템당 하나의 Export 큐-프로세스 쌍을 통해 모든 활성 구성의 데이터를 전송하지만 명명된 Export 큐를 사용하면 해당 복제 스트림 각각을 자체 Export 큐 및 Export 프로세스로 분리할 수 있습니다. 이러한 방식으로 한 구성에 대해 실행된 purge config 또는 abort config 명령이 다른 구성에 영향을 미치지 않도록 합니다.
  • 선택한 데이터베이스 객체: 명명된 Export 큐를 사용하여 LOB가 포함된 테이블과 같은 특정 객체를 격리할 수 있습니다. 명명된 각 Export 큐에는 타겟에 대한 자체 Import 프로세스, Post 큐, Post 프로세스가 있으므로 소스에서 타겟까지의 전체 경로에서 데이터를 격리할 수 있습니다. 명명된 Post 큐의 이점에 대한 자세한 내용은 명명된 Post 큐 구성을 참조하십시오.

추가 이점:

  • 하나의 데이터 스트림에 대한 Export 또는 Import 프로세스를 중지하고 다른 데이터 스트림은 계속 처리하도록 허용할 수 있습니다.
  • SharePlex 매개변수를 각 Export 큐-프로세스 쌍에 대해 서로 다르게 설정할 수 있습니다. 이를 통해 각 Export 프로세스를 통해 복제되는 객체를 기반으로 Export 프로세스의 성능을 조정할 수 있습니다.

명명된 Export 큐 사용 시 고려 사항

  • 각 큐 이름이 고유한지 확인합니다.
  • 명명된 Export 큐를 기본 Export 큐와 결합할 수 있습니다. 표준 라우팅 맵(명명된 큐 사양이 없는 targetsys@Database_spec )이 있는 구성의 테이블은 기본 Export 큐를 통해 복제됩니다.

  • 서로 참조 무결성이 있는 모든 테이블은 동일한 Export 큐에 있어야 합니다.
  • SharePlex에는 허용되는 최대 큐 수가 있습니다. 자세한 내용은 구성 파일의 라우팅 사양를 참조하십시오.

명명된 Export 큐 구성: Oracle에서 모든 타겟으로

명명된 Export 큐를 포함하는 라우팅 맵을 정의하려면 다음 구문을 사용합니다.

source_host:export_queuename*target_host[@database]

라우팅 맵에 명명된 Export 큐가 있는 구성
Datasource: o.SID
src_owner.table tgt_owner.table

source_host:export_queue*target_host[@database_specification]

라우팅 구성 요소 설명
source_host 소스 시스템의 이름입니다.
export_queue

Export 큐의 이름입니다. 큐 이름은 모든 플랫폼에서 대소문자를 구분합니다. 한 단어만 사용합니다. 밑줄이 허용되며 예를 들면 다음과 같습니다.

sys1:export_q1*sys2@o.myora

target_host 타겟 시스템의 이름입니다.
데이터베이스 사양

데이터 소스인 경우 다음 중 하나입니다.

o.oracle_SID

r.database_name

 

타겟이 데이터베이스인 경우 다음 중 하나입니다.

o.oracle_SID

o.tns_alias

o.PDBname

r.database_name

c.oracle_SID

참고:

다음 구성 파일은 동일한 타겟 시스템에 있는 두 가지 데이터베이스에 복제되는 두 가지 데이터 소스를 보여줍니다. 각 데이터 소스는 명명된 Export 큐를 통해 라우팅됩니다.

Datasource:o.oraA    
scott.emp scott.emp sysA:QueueA*sysB@o.oraC
scott.sales scott.sales sysA:QueueA*sysB@o.oraC

 

Datasource:o.oraB    
scott.prod scott.prod sysA:QueueB*sysB@o.oraD
scott.cust scott.cust sysA:QueueB*sysB@o.oraD

 

다음은 명명된 Export 큐를 사용하여 LOB가 포함된 테이블을 나머지 테이블과 분리하는 방법을 보여줍니다.

Datasource:o.oraA    
scott.cust scott.cust sysA:QueueA*sysB@o.oraC
scott.sales scott.sales sysA:QueueA*sysB@o.oraC
scott.prod scott.prod sysA:QueueA*sysB@o.oraC
scott.emp_LOB scott.emp_LOB sysA:QueueB*sysB@o.oraC

 

또는 LOB 테이블에 대해 명명된 Export 큐를 정의하고 나머지 테이블이 기본 Export 큐를 통해 처리되도록 허용할 수도 있습니다.

Datasource:o.oraA    
scott.cust scott.cust sysB@o.oraC
scott.sales scott.sales sysB@o.oraC
scott.prod scott.prod sysB@o.oraC
scott.emp_LOB scott.emp_LOB sysA:lobQ*sysB@o.oraC

PostgreSQL에 대한 명명된 Export 큐 구성

명명된 Export 큐를 포함하는 라우팅 맵을 정의하려면 다음 구문을 사용합니다.

source_host:export_queuename*target_host[@database]

지원되는 타겟

PostgreSQL, Oracle, SQL Server 및 Kafka

라우팅 맵에 명명된 Export 큐가 있는 구성
Datasource:r.dbname
src_schema.table tgt_schema.table

source_host:export_queue*target_host[@database_specification]

라우팅 구성 요소 설명
source_host 소스 시스템의 이름입니다.
export_queue

Export 큐의 이름입니다. 큐 이름은 모든 플랫폼에서 대소문자를 구분합니다. 한 단어만 사용합니다. 밑줄이 허용되며 예를 들면 다음과 같습니다.

sys1:export_q1*sys2@r.dbname

target_host 타겟 시스템의 이름입니다.
데이터베이스 사양

r.database_name

참고: 라우팅 맵 구문의 구성 요소 사이에 공백이 없도록 합니다.

다음 구성 파일은 동일한 타겟 시스템에 있는 두 가지 데이터베이스에 복제되는 두 가지 데이터 소스를 보여줍니다. 각 데이터 소스는 명명된 Export 큐를 통해 라우팅됩니다.

Datasource:r.dbnameA    
scott.emp scott.emp sysA:QueueA*sysB@r.dbnameC
scott.sales scott.sales sysA:QueueA*sysB@r.dbnameC

 

Datasource:r.dbnameB    
scott.prod scott.prod sysA:QueueB*sysB@r.dbnameD
scott.cust scott.cust sysA:QueueB*sysB@r.dbnameD

 

다음은 명명된 Export 큐를 사용하여 LOB가 포함된 테이블을 나머지 테이블과 분리하는 방법을 보여줍니다.

Datasource:r.dbnameA    
scott.cust scott.cust sysA:QueueA*sysB@r.dbnameC
scott.sales scott.sales sysA:QueueA*sysB@r.dbnameC
scott.prod scott.prod sysA:QueueA*sysB@r.dbnameC
scott.emp_LOB scott.emp_LOB sysA:QueueB*sysB@r.dbnameC

 

또는 LOB 테이블에 대해 명명된 Export 큐를 정의하고 나머지 테이블이 기본 Export 큐를 통해 처리되도록 허용할 수도 있습니다.

Datasource:r.dbnameA    
scott.cust scott.cust sysB@r.dbnameC
scott.sales scott.sales sysB@r.dbnameC
scott.prod scott.prod sysB@r.dbnameC
scott.emp_LOB scott.emp_LOB sysA:lobQ*sysB@r.dbnameC

명명된 Export 큐를 식별하는 방법

sp_ctrl을 통해 명명된 Export 큐를 볼 수 있습니다.

  • qstatus 명령을 사용하여 시스템의 모든 큐를 볼 수 있습니다.
  • show 명령을 사용하여 해당 큐와 함께 모든 Export 프로세스를 볼 수 있습니다.

이러한 명령에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.

명명된 Post 큐 구성

명명된 Post 큐는 구성 파일에 있는 라우팅 맵의 선택적 구성 요소입니다. 명명된 Post 큐는 기본 Post 큐 및 Post 프로세스와 동시에 작동하는 자체 Post 프로세스가 있는 사용자 정의 Post 큐입니다. 하나 이상의 명명된 Post 큐-프로세스 쌍을 정의하여 병렬 Post 복제 스트림 세트를 설정할 수 있습니다.

지원되는 소스 및 타겟

  • PostgreSQL에서 PostgreSQL, Oracle, SQL Server 및 Kafka로

  • Oracle에서 모든 타겟으로

명명된 Post 큐의 이점

명명된 Post 큐를 사용하여 서로 다른 테이블의 데이터를 두 개 이상의 별도 Post 스트림으로 격리할 수 있습니다. 명명된 Post 큐를 사용하면 처리 병목 현상을 초래하는 다음과 같은 객체를 격리하여 게시 성능을 향상시킬 수 있습니다.

  • 큰 테이블
  • LOB 컬럼이 있는 객체. LOB를 포함하는 객체에는 명명된 Post 큐가 권장됩니다.
  • 대규모 트랜잭션이 포함된 객체
  • 작업을 격리할 모든 객체

추가 명명된 Post 큐를 통해 나머지 객체를 처리하거나, 기본 Post 큐를 사용합니다. 표준 라우팅 맵(호스트@타겟)이 있는 구성 파일의 객체는 기본 Post 큐를 통해 복제됩니다.

수평 파티셔닝을 사용하여 추가된 병렬 처리 측정값으로 매우 큰 테이블의 행을 별도의 명명된 Post 큐로 나눌 수 있습니다.

SharePlex 매개변수를 각 큐-프로세스 쌍에 대해 서로 다르게 설정할 수 있습니다. 이를 통해 각 Post 프로세스를 통해 복제되는 객체를 기반으로 Post 프로세스의 성능을 조정할 수 있습니다.

명명된 Post 큐 사용 시 고려 사항

  • analyze config 명령은 테이블의 종속성과 개별 트랜잭션 활동을 기반으로 테이블을 명명된 큐로 구성하는 방법을 결정하는 데 도움이 됩니다. 일반적인 데이터베이스 활동을 캡처하는 일정 기간 동안 명령을 실행한 후 명령 출력을 확인합니다.
  • 각 Post 큐에 고유한 이름을 할당합니다.
  • 객체가 관계형 종속성에 의해 연결된 경우 동일한 이름의 Post 큐를 통해 해당 객체를 모두 처리합니다. 상호 의존적인 객체가 동일한 Post 큐를 통해 복제되지 않는 경우 상위 및 하위 작업이 순서 없이 적용될 수 있으며 데이터베이스 오류가 발생할 수 있습니다. 동일한 큐를 통해 상호 의존적인 객체를 처리하는 대신, 타겟에 대한 참조 제약 조건을 비활성화할 수 있습니다. 제약 조건이 소스 시스템에서 충족된 후 타겟에 복제되므로 이는 허용될 수 있습니다.
  • 여러 Post를 사용하는 경우 타겟 객체가 해당 소스 객체와 동일한 순서로 변경되지 않을 수 있으며, 이로 인해 특정 시점에 타겟 데이터베이스가 소스 데이터베이스와 일치하지 않을 수 있습니다.
  • 활성 구성의 객체에 대해 명명된 Post 큐를 구현하는 경우(즉, 라우팅 변경) SharePlex는 해당 객체를 잠그고 내부 방향을 업데이트합니다.
  • SharePlex에는 허용되는 최대 큐 수가 있습니다. 자세한 내용은 구성 파일의 라우팅 사양를 참조하십시오.

명명된 Post 큐 구성: Oracle에서 모든 타겟으로

명명된 Export 큐를 사용하는 경우 SharePlex는 기본적으로 각각에 대해 명명된 Post 큐-프로세스 쌍을 생성합니다. 명명된 Export 큐를 사용하지 않는 경우 다음 구문을 사용하여 라우팅 맵에 :queue 구성 요소를 추가하여 구성 파일에 명명된 Post 큐를 정의합니다.

host:queue@target

라우팅 맵에 명명된 Post 큐가 있는 구성
Datasource: o.SID
src_owner.table tgt_owner.table

host:queue[@database_specification]

라우팅 구성 요소 설명
host 타겟 시스템의 이름입니다.

Post 큐의 고유 이름입니다. 큐 이름은 모든 플랫폼에서 대소문자를 구분합니다. 한 단어만 사용합니다. 밑줄이 허용되며 예를 들면 다음과 같습니다.

sys2:post_q1@o.myora

database_specification

데이터 소스인 경우 다음 중 하나입니다.

o.oracle_SID

타겟이 데이터베이스인 경우 다음 중 하나입니다.

  • o.oracle_SID

    o.tns_alias

    o.PDBname

    r.database_name

    c.oracle_SID

참고:

다음 구성은 테이블 scott.emp에서 데이터를 라우팅하는 Queue1이라는 하나의 Post 큐와 테이블 scott.cust에서 데이터를 라우팅하는 Queue2라는 또 다른 Post 큐를 생성합니다.

Datasource:o.oraA    
scott.emp scott.emp sysB:Queue1@o.oraC
scott.cust scott.cust

sysB:Queue2@o.oraC

 

다음은 중간 시스템을 사용하여 패스스루 구성에서 데이터를 라우팅할 때 명명된 Post 큐를 지정하는 방법을 보여줍니다. 자세한 내용은 데이터를 공유하거나 배포하도록 복제 구성를 참조하십시오.

Datasource:o.oraA    
scott.emp scott.emp sysB*sysC:Queue1@o.oraC

PostgreSQL에 대한 명명된 Post 큐 구성

명명된 Export 큐를 사용하는 경우 SharePlex는 기본적으로 각각에 대해 명명된 Post 큐-프로세스 쌍을 생성합니다. 명명된 Export 큐를 사용하지 않는 경우 다음 구문을 사용하여 라우팅 맵에 :queue 구성 요소를 추가하여 구성 파일에 명명된 Post 큐를 정의합니다.

host:queue@target

지원되는 타겟

PostgreSQL, Oracle, SQL Server 및 Kafka

라우팅 맵에 명명된 Post 큐가 있는 구성
Datasource:r.dbname
src_schema.table tgt_schema.table

host:queue[@database_specification]

라우팅 구성 요소 설명
host 타겟 시스템의 이름입니다.

Post 큐의 고유 이름입니다. 큐 이름은 모든 플랫폼에서 대소문자를 구분합니다. 한 단어만 사용합니다. 밑줄이 허용되며 예를 들면 다음과 같습니다.

sys2:post_q1@r.dbname

database_specification

r.database_name

참고: 라우팅 맵 구문의 구성 요소 사이에 공백이 없도록 합니다.

다음 구성은 테이블 scott.emp에서 데이터를 라우팅하는 Queue1이라는 하나의 Post 큐와 테이블 scott.cust에서 데이터를 라우팅하는 Queue2라는 또 다른 Post 큐를 생성합니다.

Datasource:r.dbname    
scott.emp scott.emp sysB:Queue1@r.dbname
scott.cust scott.cust

sysB:Queue2@r.dbname

 

다음은 중간 시스템을 사용하여 패스스루 구성에서 데이터를 라우팅할 때 명명된 Post 큐를 지정하는 방법을 보여줍니다.

Datasource:r.dbname    
scott.emp scott.emp sysB*sysC:Queue1@r.dbname

명명된 Post 큐를 식별하는 방법

명명된 Post 큐는 데이터 소스(데이터의 소스)와 다음 중 하나로 식별됩니다.

  • 연결된 명명된 Export 큐의 이름(Import가 명명된 Export 큐에 연결된 경우)
  • 사용자가 할당한 게시-큐 이름(Import가 기본 Export 큐에 연결된 경우)

sp_ctrl을 통해 다음과 같이 명명된 Post 큐를 볼 수 있습니다.

  • qstatus 명령을 사용하여 시스템의 모든 큐를 볼 수 있습니다.
  • show 명령을 사용하여 해당 큐와 함께 모든 Post 프로세스를 볼 수 있습니다.

이러한 명령에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating