지금 지원 담당자와 채팅
지원 담당자와 채팅

SharePlex 11.4 - 참조 안내서

이 안내서 정보 이 안내서에 사용된 규칙 Oracle용 SharePlex 명령 SharePlex 매개변수 PostgreSQL용 SharePlex 명령 PostgreSQL용 SharePlex 매개변수 일반 SharePlex 유틸리티 Oracle Cloud 인프라스트럭처 SharePlex 환경 변수

PostgreSQL의 Add Partition

수평으로 파티셔닝된 복제를 구성할 때 add partition 명령을 사용하여 파티션 scheme에 행 파티션을 추가할 수 있습니다. 생성할 각 행 파티션에 대해 add partition 명령을 실행합니다.

이 명령은 다음의 필수 구성 요소를 포함하여 파티션을 생성하는 데 필요한 모든 정보를 캡처합니다.

  • 파티션 scheme 이름. 새 파티션 scheme을 생성하려면 해당 scheme에 대한 첫 번째 행 파티션을 생성하는 add partition 명령에 이름을 지정합니다. SharePlex는 파티션 scheme을 자동으로 생성합니다. 그런 다음, 해당 파티션 scheme에 행 파티션을 더 추가할 때 해당 이름을 지정합니다.
  • 행 파티션에 지정된 행에 대한 라우팅

명령이 이미 복제 중인 테이블에 영향을 미치는 경우 구성 파일을 다시 활성화합니다. SharePlex는 구성 변경이 있는 테이블만 잠급니다.

수평으로 파티셔닝된 복제를 구성하는 방법에 대한 자세한 내용은 SharePlex 관리 안내서를 참조하십시오.

사용

지원되는 소스:

PostgreSQL(온프레미스), Amazon RDS for PostgreSQL, Amazon Aurora for PostgreSQL, Azure Database for PostgreSQL Flexible Server, Google Cloud SQL for PostgreSQL

지원되는 타겟: PostgreSQL, Oracle, SQL Server, Kafka, Amazon RDS for PostgreSQL, Amazon Aurora for PostgreSQL, Azure Database for PostgreSQL Flexible Server, Google Cloud SQL for PostgreSQL
문제 위치: 소스 시스템
관련 명령: Modify partition, Drop partition, Drop partition scheme, View Partitions

구문

기본 명령 명령 옵션

add partition toscheme_name

set

{condition = column_condition |

route = routing_map

[and name =partition_name]

[and tablename =target_table]

[and description =description]

구문 설명
구성 요소 설명
to scheme_name

toscheme_name에 행 파티션이 추가됨을 나타내는 필수 키워드입니다.

scheme_name은 파티션 scheme의 이름입니다. 파티션 scheme은 사용자가 실행하는 첫 번째 add partition 명령에 의해 생성되며, 파티셔닝할 첫 번째 행 집합도 지정합니다.

수평 파티셔닝을 많이 사용하는 경우 파티션 scheme에 대한 명명 규칙을 설정하는 것이 도움이 될 수 있습니다.

set

행 파티션 정의를 시작하는 필수 키워드입니다.

condition = column_condition

컬럼 조건에 따라 행 파티션을 생성합니다. 조건은 따옴표로 묶어야 합니다. ((region_id = West) and region_id is not null)과 같은 표준 WHERE 조건부 구문을 사용합니다.

route = routing_map

이 파티션의 경로입니다. 이는 다음 중 하나일 수 있습니다.

컬럼 조건에 따른 파티션:

표준 SharePlex 라우팅 맵을 지정합니다(예: sysB@r.dbname, sysB:q1@r.dbname 또는 sysB@r.testdb+sysC@r.testdb(복합 라우팅 맵)).

이름이 다른 여러 타겟 테이블로 파티션을 라우팅하려면 다음을 수행합니다.

  • 각각의 다른 타겟 이름에 대해 별도의 add partition 명령을 실행합니다. 이름을 지정하려면 tablename 옵션을 사용합니다.
  • 구성 파일에서 이러한 타겟 테이블 중 하나를 이 파티션 scheme을 사용하는 항목의 타겟 테이블로 지정합니다. SharePlex는 구성이 활성화되면 다른 이름을 감지합니다.
  • SP_ORD_FIRST_FIND 매개변수를 0으로 설정하여 SharePlex가 파티션 scheme의 모든 컬럼 조건을 확인하도록 합니다. 기본적으로 SharePlex는 주어진 행 변경 사항이 파티션 scheme에서 하나의 컬럼 조건만 충족한다고 가정합니다.
name = name

(권장) 이 파티션의 짧은 이름입니다. 이 옵션은 컬럼 조건을 기반으로 하는 파티션에만 유용합니다. 짧은 이름을 사용하면 나중에 파티션을 수정하거나 삭제해야 하는 경우 긴 컬럼 조건을 입력할 필요가 없습니다.

tablename = owner.table

(선택 사항) 타겟 테이블이 여러 개 있고 하나 이상의 이름이 다른 경우 이 옵션을 사용합니다. 각 이름에 대해 별도의 add partition 명령을 실행합니다.

테이블 이름은 정규화되어야 합니다. 대소문자를 구분하는 경우 이름을 따옴표로 묶어 지정해야 합니다.

예:

add partition to scheme1 set name = p1 and condition = "C1 > 200" and route = sysb:p1@r.dbname and tablename = myschema.mytable

description = description (선택 사항) 이 파티션에 대한 설명입니다.
컬럼 조건에 따른 행 파티션

여러 Post 큐를 통해 다양한 행 집합 라우팅:

sp_ctrl> add partition to scheme1 set name = q1 and condition = "C1 >= 200" and route = sysb:q1@r.dbname

sp_ctrl> add partition to scheme1 set name = q2 and condition = "C1 < 200" and route = sysb:q2@r.dbname

여러 행 집합을 소스의 다양한 타겟 시스템과 다양한 테이블 이름으로 라우팅합니다.

sp_ctrl> add partition to scheme1 set name = east and condition = "area = east" and route = sys1e@r.dbname and tablename = schema1.targ

sp_ctrl> add partition to scheme1 set name = west and condition = "area = west" and route = sys2w@r.dbname and tablename = schema2.targ

PostgreSQL의 Cancel 명령

cancel 명령을 사용하여 실행 중인 comparerepair 명령 작업을 취소할 수 있습니다.

작업을 취소하려면 해당 작업 ID를 제공해야 합니다. 작업 ID는 작업을 시작하는 명령을 실행할 때 compare와 repair 작업에서 다시 보고됩니다.

sp_ctrl>repair using 1elliot

repairing 7 of 7 objects

repair started; job id 408

또는 job status 명령을 실행하여 가장 최근에 스트리밍된 작업의 작업 ID를 가져올 수 있습니다.

sp_ctrl>job status

Job ID: 408

PID: 11527

Host: prodsys

Started: 22-FEB-15 18:08:09

Job Type: Repair

Status: Processing - 0 objects completed

사용

지원되는 소스: PostgreSQL
지원되는 타겟: PostgreSQL
인증 수준: 운영자(2)
문제 위치: 소스 시스템
관련 명령: compare, repair

구문

기본 명령 원격 옵션
cancel job_id

[ on host |

on host:portnumber |

on login/password@host |

on login/password@host:portnumber ]

구문 설명
구성 요소 설명
jobID

취소할 작업의 ID입니다.

:

sp_ctrl>cancel 407

원격 옵션

이러한 옵션을 사용하면 원격 시스템에서 명령을 실행하고 로그인 이름, 비밀번호, 포트 번호 또는 이러한 항목의 조합을 포함하는 명령을 스크립트할 수 있습니다.

옵션 설명
on host

원격 시스템(현재 sp_ctrl 세션이 실행 중인 시스템이 아닌 것)에서 명령을 실행합니다. 원격 시스템에 대한 로그인 자격 증명을 묻는 메시지가 표시됩니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예: sp_ctrl(sysB)>status on SysA

on host:portnumber

원격 로그인 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예: sp_ctrl(sysB)>status on SysA:8304

on login/password@host

원격 로그인, 비밀번호 및 호스트 이름을 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예:sp_ctrl(sysB)>status on john/spot5489@SysA

on login/password@host:portnumber

원격 로그인, 비밀번호, 호스트 이름 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예: sp_ctrl(sysB)>status on john/spot5489@SysA:8304

PostgreSQL의 Clear History 명령

clear history 명령을 사용하여 이전 compare와 repair 명령 작업에서 정보와 로그를 제거할 수 있습니다.

이러한 작업은 소스 및 타겟 시스템에 로그 파일을 생성합니다. 기본적으로 작업 정보와 로그 파일은 작업이 SP_SYS_JOB_HISTORY_RETENTION 매개변수로 설정된 값보다 오래되면 정리됩니다. Clear History 명령을 사용하여 특정 작업이나 테이블 또는 특정 기간의 모든 작업에 대한 요청 시 작업 정보와 로그를 삭제할 수 있습니다.

사용

지원되는 소스: PostgreSQL
지원되는 타겟: PostgreSQL
인증 수준: 운영자(2)
문제 위치: 소스 시스템
관련 명령: compare, repair

구문

기본 명령 명령 옵션 원격 옵션

clear history

{ all |

source_owner.source_table |

age days |

jobID }

[for r.dbid]

[ on host |

on host:portnumber |

on login/password@host |

on login/password@host:portnumber ]

구문 설명
구성 요소 설명
all

모든 작업과 로그 내역이 제거됩니다.

:

sp_ctrl(sysA)> clear history all

source_owner.source_table

특정 테이블에 대한 내역이 제거됩니다. SP_SYS_JOB_HISTORY_RETENTION 매개변수에 따라 내역이 삭제됩니다.

:

sp_ctrl(sysA)> clear history clear history user2.employee

age days

지정된 일수보다 오래된 작업 내역이 제거됩니다.

:

sp_ctrl(sysA)> clear history age 10

jobID

지정된 작업 ID(작업 상태 명령을 사용하여 얻은)에 대한 작업이 제거됩니다. SP_SYS_JOB_HISTORY_RETENTION 매개변수에 따라 내역이 삭제됩니다.

예:

sp_ctrl(sysA)> clear history jobID

for r.dbid

선택 사항. 활성 구성이 없거나 둘 이상의 활성 구성이 있는 경우 Clear History 명령을 사용하는 데 사용할 수 있습니다. 두 경우 모두 for 옵션을 사용하여 소스 SID를 지정해야 합니다.

:

sp_ctrl(sysA)>clear history all for r.dbid

원격 옵션

이러한 옵션을 사용하면 원격 시스템에서 명령을 실행하고 로그인 이름, 비밀번호, 포트 번호 또는 이러한 항목의 조합을 포함하는 명령을 스크립트할 수 있습니다.

옵션 설명
on host

원격 시스템(현재 sp_ctrl 세션이 실행 중인 시스템이 아닌 것)에서 명령을 실행합니다. 원격 시스템에 대한 로그인 자격 증명을 묻는 메시지가 표시됩니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예: sp_ctrl(sysB)>status on SysA

on host:portnumber

원격 로그인 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예: sp_ctrl(sysB)>status on SysA:8304

on login/password@host

원격 로그인, 비밀번호 및 호스트 이름을 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예:sp_ctrl(sysB)>status on john/spot5489@SysA

on login/password@host:portnumber

원격 로그인, 비밀번호, 호스트 이름 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예: sp_ctrl(sysB)>status on john/spot5489@SysA:8304

PostgreSQL의 Clear Status 명령

clear status 명령을 사용하여 상태 데이터베이스에서 오래된 경고 메시지를 제거할 수 있습니다.

이 명령을 사용하려면 다음을 수행합니다.

  1. show statusdb detail 명령을 실행하여 지울 수 있는 메시지를 확인할 수 있습니다. 지울 수 있는 메시지의 Clear 컬럼에는 Yes가 있습니다.
  2. 모든 메시지를 지우고 싶지 않다면 지우려는 각 메시지의 상태 ID를 기록해 둡니다.
  3. 각 상태 ID에 대해 clear status 명령을 실행하거나 all 인수를 사용하여 지울 수 있는 모든 메시지를 한 번에 제거합니다.

SharePlex는 지워진 메시지를 식별하는 메시지를 이벤트 로그에 넣습니다.

이 명령은 기본 시스템의 상태 데이터베이스에서 메시지를 지웁니다. 다른 시스템의 상태 데이터베이스에서 메시지를 지우려면 [onhost] 옵션을 사용합니다.

참고: 일부 메시지는 지울 수 없습니다.

사용

지원되는 소스: PostgreSQL
지원되는 타겟: PostgreSQL
인증 수준: 운영자(2)
실행 대상: 소스 또는 타겟 시스템
관련 명령: show statusdb

구문

기본 명령 원격 옵션
clear status {statusID| all}

[ on host |

on host:portnumber |

on login/password@host |

on login/password@host:portnumber ]

구문 설명
구성 요소 설명
statusID

제거하려는 개별 메시지(show statusdb 명령을 사용하여 가져옴)의 SharePlex 할당 ID입니다.

:

sp_ctrl(sysA)>clear status 20

all

이 인수는 지울 수 있는 모든 메시지를 제거합니다.

:

sp_ctrl(sysA)>clear status all

원격 옵션

이러한 옵션을 사용하면 원격 시스템에서 명령을 실행하고 로그인 이름, 비밀번호, 포트 번호 또는 이러한 항목의 조합을 포함하는 명령을 스크립트할 수 있습니다.

옵션 설명
on host

원격 시스템(현재 sp_ctrl 세션이 실행 중인 시스템이 아닌 것)에서 명령을 실행합니다. 원격 시스템에 대한 로그인 자격 증명을 묻는 메시지가 표시됩니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예: sp_ctrl(sysB)>status on SysA

on host:portnumber

원격 로그인 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예: sp_ctrl(sysB)>status on SysA:8304

on login/password@host

원격 로그인, 비밀번호 및 호스트 이름을 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예:sp_ctrl(sysB)>status on john/spot5489@SysA

on login/password@host:portnumber

원격 로그인, 비밀번호, 호스트 이름 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.

예: sp_ctrl(sysB)>status on john/spot5489@SysA:8304

The document was helpful.

평가 결과 선택

I easily found the information I needed.

평가 결과 선택