syncreplica

업데이트 패킷을 내보내거나 가져옵니다.
관련 개념
복제본 동기화
유실한 데이터베이스 복제본 복구
이름 지정 규칙 해결
관련 참조
describe
chmaster
mkorder
mkreplica
MultiSite 제어판
shipping.conf
shipping_server

적용

제품 명령 유형
MultiSite multiutil 하위 명령
플랫폼
UNIX®
Windows®

개요

  • 업데이트 패킷 내보내기:
    sync/replica

    –exp/ort
    [ –cl/an clan-name ] [ –site site-name ] –fam/ily family-name
    –u/ser username [–p/assword ]  password [–max/size max-packet-size
    [–lim/it num-packets ] ]
    {     { –sh/ip| –fsh/ip }
    –wor/kdir directory [ –sc/lass storage-class ]
    [–pex/pire date ]
    [–not/ify email ]
    | –out { packet-file-pname | staging-area-pname } }
    replica ...

  • 업데이트 패킷 가져오기:
    sync/replica

    –imp/ort
    [ –cl/an clan-name ] [ –site site-name ] –fam/ily family-name
    –u/ser username [–p/assword ] password
    { –rec/eive[ –sc/lass storage-class ]
    | { packet-file-pname | staging-area-pname } ... }
    [ -plug/epoch ]

설명

하나 이상의 동위 복제본과의 복제본 동기화는 다음의 3단계 프로세스입니다.

  1. 한 사이트에서 syncreplica –export 명령은 해당 사이트에 있는 복제본(및 가능하면 다른 복제본 포함)에서 발생한 변경사항을 포함하는 업데이트 패킷을 작성합니다.
  2. 패킷이 하나 이상의 다른 사이트로 전송됩니다.
  3. 다른 사이트에서 syncreplica –import 명령은 업데이트 패킷의 변경사항을 동일한 데이터베이스의 복제본에 적용합니다. 이 단계는 패킷을 수신하는 모든 사이트에서 발생합니다.

업데이트 패킷의 컨텐츠:

  • 대상 복제본에 대해 생성된 최종 업데이트 이후 현재 복제본에서 발생한 모든 변경사항. (대상 복제본으로 이미 전송된 변경사항은 패킷에서 제외됩니다).
  • 다른 복제본에서 발생했고, 현재 복제본이 해당 복제본의 이전 업데이트 패킷에서 수신했지만 대상 복제본으로 아직 전달되지 않은 변경사항.

모든 경우에 syncreplica –export는 지정된 모든 대상에서 사용하기 위한 단일 논리 업데이트 패킷을 작성합니다. 이 패킷을 사용하여 특정 복제본만 업데이트할 수 있습니다.

내보내기 단계에 대한 참고

MultiSite는 복제본의 효율적인 업데이트를 위해 디자인되었습니다. syncreplica –export는 이전에 전송된 오퍼레이션을 제외하려고 시도합니다. (그러나 동일한 복제본으로 오퍼레이션을 여러 번 전송할 때의 위험은 없습니다. 첫 번째 오퍼레이션을 가져오고 후속 동일 오퍼레이션은 무시됩니다.)

syncreplica –export는 사용자가 –workdir 옵션으로 지정하는 디렉토리에 임시 파일을 저장합니다. 이 디렉토리는 미리 존재하지 않아야 하며 내보내기 패킷이 작성된 후에 삭제됩니다.

가져오기 단계에 대한 참고

업데이트 패킷은 패킷을 수신한 동기화 서버와 연관된 적당한 복제본에 적용됩니다. 특정 복제본이나 기억장치 위치를 지정할 필요는 없습니다.

가져오기 프로세스가 올바른 순서로 업데이트 패킷을 적용합니다. 따라서 명령행에 임의의 순서로 패킷을 지정할 수 있습니다.

데이터베이스 복제본은 가져오기 단계 동안 정상 데이터베이스 오퍼레이션을 위해 잠기지 않지만 다른 모든 MultiSite 오퍼레이션에 대해서는 잠깁니다.

패킷 건너뛰기

syncreplica –import는 다음 상황에서 업데이트 패킷을 처리하지 않습니다.

  • 업데이트 패킷에 아직 이 복제본으로 가져오지 않은 다른 변경사항에 의존하는 변경사항이 있습니다. 이는 대개 이 복제본으로 향하는 업데이트 패킷이 전송되지 않았거나 전송 중에 손실되었음을 의미합니다.
  • 다중 파트 논리 패킷의 초기 실제 패킷을 처리하는 중에 문제점이 발생했습니다.

이러한 경우에 syncreplica –import는 설명 메시지를 표시합니다.

업데이트 실패 및 패킷 재생

일부 경우에는 syncreplica –import가 복제본에 오퍼레이션을 적용하기 시작하지만 오류 메시지와 함께 실패합니다. 예를 들어 다른 프로세스가 데이터베이스를 잠갔기 때문에 가져오기에 실패합니다. 데이터베이스가 잠금 해제된 후 syncreplica –import를 실행하여 전체 업데이트 패킷을 다시 처리할 수 있습니다.

이미 성공적으로 처리된 업데이트 패킷을 가져올 때의 위험은 없습니다. 동일한 변경사항이 두 번 작성되지 않습니다.

업데이트 패킷의 삭제

syncreplica –import의 단일 호출이 동기화 서버와 연관된 모든 대상 복제본에 성공적으로 패킷을 적용하는 경우 업데이트 패킷은 명령이 작업을 완료할 때 삭제됩니다. 패킷이 여러 syncreplica –import 명령으로 처리되는 경우 삭제되지 않습니다.

후크 시작

Rational® ClearQuest® 후크는 패킷 가져오기 중에 작성되는 변경사항에 반응하여 시작하지 않습니다.

이름 지정 충돌 처리

syncreplica는 다른 복제본에서 작성된 오브젝트 사이의 이름 지정 충돌을 해결합니다.

지연된 업데이트

syncreplicaRational ClearQuest 사용자에게 복제본에 대한 업데이트를 알려주지 않습니다. 모든 활성 사용자가 몇 초 이내에 Rational ClearQuest의 정상 데이터베이스 폴링 루틴을 통해 업데이트를 봅니다.

패킷 전달 실패를 위한 오류 처리

패킷을 전달할 수 없는 경우, 패킷은 저장 후 전달 기능을 통해 시작 복제본을 위한 동기화 서버로 전송됩니다. 메일 메시지가 저장 후 전달 관리자에게 전송됩니다. 이는 패킷을 전달하려는 반복된 시도가 모두 실패했고 할당된 시간이 만기된 후에 발생합니다. 또한 대상 호스트를 알 수 없거나 데이터 파일이 존재하지 않을 때도 발생할 수 있습니다. 저장 후 전달 구성 설정이 만기 기간, 관리자의 이메일 주소 및 알림 프로그램을 지정합니다.

제한

수퍼 유저 권한이 있어야 합니다.

옵션 및 인수: 내보내기 단계

클랜, 사이트 및 패밀리 지정

기본값
클랜: 이 사이트에서 복제된 첫 번째 클랜입니다. 이 호스트에 둘 이상의 dbset 연결이 등록된 경우 –clan이 필요합니다.

사이트: 현재 사이트. 이 호스트에 둘 이상의 사이트가 있는 경우 –site가 필요합니다.

패밀리: 기본값 없음. 사용자가 패밀리를 지정해야 합니다.

–cl/an clan-name
복제본 클랜의 이름입니다.
–site site-name
복제본 사이트의 이름입니다.
–fam/ily family-name
사용자 데이터베이스 패밀리: 사용자 데이터베이스가 작성될 때 부여된 데이터베이스 이름입니다.

스키마 저장소 패밀리: 패밀리 이름은 MASTR입니다.

사용자 이름 및 비밀번호 지정

기본값
사용자 이름 및 비밀번호를 지정해야 합니다.
–u/ser user
수퍼 유저 권한을 갖는 사용자의 이름입니다.
–p/assword password
지정된 사용자와 연관된 비밀번호입니다.

업데이트 패킷 크기 지정

기본값
–maxsize를 지정하지 않으면 사용되는 운송 방법은 다음 방법으로 기본 패킷 크기를 판별합니다.
  • –ship 또는 –fship으로 작성되는 패킷은 shipping.conf 파일(UNIX) 또는 MultiSite 제어판(Windows)에서 지정되는 최대 패킷 크기보다 크지 않습니다.
  • –out으로 작성된 패킷은 2GB 이하입니다.
–max/size max-packet-size [ –lim/it num-packets ]
단일 문자가 뒤따르는 숫자로 표현되는 실제 패킷에 대한 최대 크기. 예:
500k
500킬로바이트
20m
20메가바이트
1.5g
1.5기가바이트

–limit 옵션은 syncreplica가 생성하는 패킷 수를 제한합니다. 각 패킷은 max-packet-size보다 크지 않습니다. 기억장치 베이 또는 스테이징 영역을 위한 디스크 공간이 제한될 때 이 옵션을 사용하십시오.

업데이트 패킷의 처리

기본값
없음. syncreplica –export이 작성하는 업데이트 패킷이 다른 사이트로 전송되고 저장되는 방법을 지정해야 합니다. –ship 또는 –fship을 사용하는 경우 –sclass 옵션을 생략하면 syncreplicashipping.conf 파일(UNIX 및 Linux) 또는 MultiSite 제어판(Windows)에서 cq_default 클래스에 지정된 기억장치 베이 위치에 패킷을 배치합니다.
–shi/p –fsh/ip
저장 후 전달 기억장치 베이의 하나 이상의 파일에 업데이트 패킷을 저장합니다. syncreplica는 각 실제 패킷에 대한 개별 운송 주문을 작성하며 패킷이 전달되는 방법과 위치를 표시합니다. 대상은 replica-name 인수로 복제본 데이터베이스에서 연관된 동기화 서버입니다. (동기화 서버 연관은 mkreplica –export로 작성되며 chreplica로 변경될 수 있습니다.)

–fship(운송 강제 실행)을 사용하면 Shipping Server를 호출하여 즉시 업데이트 패킷이 전송됩니다. –ship을 사용하면 이 서버가 호출되지 않습니다.

–wor/kdir directory
사용할 syncreplica를 위한 임시 작업 디렉토리입니다. 이 디렉토리가 미리 존재하지 않아야 하며 syncreplica 내보내기 프로세스가 완료한 후에 삭제됩니다.
–sc/lass class-name
패킷의 기억장치 클래스 및 운송 주문을 지정합니다. syncreplica는 Linux 및 UNIX 시스템의 shipping.conf 파일이나 Windows의 MultiSite 제어판에서 기억장치 클래스를 찾아서 사용할 기억장치 베이의 위치를 판별합니다.
–out packet-file-pname
첫 번째 업데이트 패킷의 이름입니다. 추가 실제 패킷(있는 경우)은 packet-file-pname_2, packet-file-pname_3 등으로 이름 지정되는 파일에 배치됩니다.

업데이트 패킷은 자동으로 전달되지 않습니다. 적당한 방법을 사용하여 전달하십시오. –out을 사용하여 패킷을 작성하고, 저장 후 전달 기능을 사용하여 전달할 수 있습니다.

staging-area-pname
패킷 파일이 저장되는 디렉토리입니다.

패킷 전달 실패 처리

기본값
패킷을 전달할 수 없는 경우, 패킷은 저장 후 전달 기능을 통해 시작 복제본을 위한 동기화 서버로 전송됩니다. 메일 메시지가 저장 후 전달 관리자에게 전송됩니다. 이는 패킷을 전달하려는 반복된 시도가 실패했고 할당된 시간이 만기된 후에 발생합니다. 또한 대상 호스트를 알 수 없거나 데이터 파일이 존재하지 않을 때도 발생할 수 있습니다. 저장 후 전달 구성 설정이 만기 기간, 관리자의 이메일 주소 및 알림 프로그램을 지정합니다.
–pex/pire date-time
저장 후 전달 기능이 패킷 전달 시도를 중지하고 대신 실패 메일 메시지를 생성하는 시간을 지정합니다. 이 옵션은 shipping.conf 파일(UNIX 시스템 또는 Linux) 또는 MultiSite 제어판(Windows)의 기억장치 클래스에 대해 지정된 만기 기간을 대체합니다.

date-time 인수는 다음 형식 중 하나를 가질 수 있습니다.

date.time | date | time
여기서,
date:
= day-of-week | long-date
time:
= h[h]:m[m][:s[s]] [UTC [ [ + | - ]h[h][:m[m] ] ] ]
day-of-week:
= today |yesterday |Sunday | ... |Saturday |Sun | ... |Sat
long-date:
= d[d]month[[yy]yy]
month:
= January |... |December |Jan |... |Dec

지역 시간대에 따라 24시간 형식을 사용하여 시간을 지정하십시오. 시간을 생략하면 기본값은 00:00:00입니다. date를 생략하는 경우 기본값은 today입니다. 세기, 연도 또는 특정 날짜를 생략하는 경우 가장 최근 값이 사용됩니다. 시간이 시간대와 상관없이 동일한 순간으로 해석되기 원하는 경우 UTC를 지정하십시오. 플러스(+) 또는 마이너스(-) 연산자를 사용하여 UTC 시간에 대한 양수 또는 음수 오프셋을 지정하십시오. 시간 또는 분 오프셋 없이 UTC를 지정하는 경우 기본 설정은 GMT(Greenwich Mean Time)입니다. (UTC(Universal Coordinated Time) 1970년 1월 1일 이전의 날짜는 유효하지 않습니다.)

예제
  • 22-November-2002
  • sunday
  • yesterday.16:00
  • 0
  • 8-jun
  • 13:00
  • today
  • 9-Aug.10:00UTC
–not/ify e-mail-address
전달 실패 메시지가 지정된 이메일 주소로 전송됩니다.

이메일 알림을 사용하지 않는 Windows 호스트에서 실패가 발생하는 경우, 메시지는 Windows 이벤트 뷰어에 표시됩니다. 이 메시지는 이 옵션으로 지정된 e-mail-address 값과 이 사용자에게 오퍼레이션의 상태가 알려지도록 요청하는 노트를 포함합니다.

대상 복제본 지정

기본값
없음.
replica ...
대상 복제본의 사이트 이름입니다. 하나 이상의 대상 복제본을 지정할 수 있습니다. 예를 들어 boston_hubboston_hub가 업데이트 패킷을 수신할 것을 표시하는 반면, boston_hub bangaloreboston_hubbangalore 모두가 업데이트 패킷을 수신할 것임을 표시합니다.

옵션 및 인수: 가져오기 단계

클랜, 사이트 및 패밀리 지정

기본값
클랜: 이 사이트에서 복제된 첫 번째 클랜입니다. 이 호스트에 둘 이상의 dbset 연결이 등록된 경우 –clan이 필요합니다.

사이트: 현재 사이트. 이 호스트에 둘 이상의 사이트가 있는 경우 –site가 필요합니다.

패밀리: 기본값 없음. 사용자가 패밀리를 지정해야 합니다.

–cl/an clan-name
복제본 클랜의 이름입니다.
–site site-name
복제본 사이트의 이름입니다.
–fam/ily family-name
사용자 데이터베이스 패밀리: 사용자 데이터베이스가 작성될 때 부여된 데이터베이스 이름입니다.

스키마 저장소 패밀리: 패밀리 이름은 MASTR입니다.

사용자 이름 및 비밀번호 지정

기본값
사용자 이름 및 비밀번호를 지정해야 합니다.
–u/ser user
수퍼 유저 권한을 갖는 사용자의 이름입니다.
–p/assword password
지정된 사용자와 연관된 비밀번호입니다.

업데이트 패킷의 위치 지정

기본값
없음.
–rec/eive [ –sc/lass storage-class ]
이 옵션은 동기화 서버에 syncreplica를 실행하는 경우에만 유용합니다.

현재 호스트의 기억장치 베이를 스캔합니다. 이 호스트와 연관된 복제본을 위한 모든 처리되지 않은 업데이트 패킷이 호스트의 적당한 복제본에 적용됩니다. –sclass를 사용하면 syncreplica는 지정된 기억장치 클래스의 기억장치 베이만 스캔합니다.

syncreplica가 임의의 복제본 작성 패킷을 찾는 경우 저장 후 전달 관리자에게 메일을 보냅니다. (현재 호스트가 Windows 호스트인 경우 이메일 알림을 사용하지 않으면 Windows 이벤트 뷰어에 메시지가 표시되지 않습니다.) 이러한 복제본 작성 패킷을 가져오려면 mkreplica를 사용하십시오.

packet-file-pname | staging-area-pname ...
packet-file-pname을 업데이트 패킷으로 처리합니다. 지정된 각 staging-area-pname에 대해 디렉토리에 있는 이전에 처리되지 않은 모든 업데이트 패킷을 찾고 이들을 적당한 복제본에 적용합니다.

예제

이들 예제에서 행은 읽기 쉽도록 구분되어 있습니다. 실제로는 한 행에 명령을 입력해야 합니다.

내보내기

  • boston_hub 복제본에서 sanfran_hub 복제본에 대한 업데이트 패킷을 생성하십시오. 패킷을 c:\cqms\sanfran_hub_sync.xml에 저장하십시오.

    multiutil syncreplica -export -clan telecomm -site boston_hub
    -family SAMPL -user susan -p passwd -out c:\cqms\sanfran_hub_sync.xml
    sanfran_hub

    Multiutil: Packet file `c:\cqms\sanfran_hub_sync.xml' generated

  • 패킷 파일을 나중에 운송하기 위해 기억장치 베이에 배치하십시오.

    multiutil syncreplica -export -clan telecomm -site boston_hub
    -family DEV -user susan -p passwd -maxsize 500mb -workdir c:\work
    -ship -sclass cq_default sanfran_hub

    Multiutil: Packet file
    `C:\work\sync_BOSTON_HUB_26-March-02_10-55-16.xml' generated
    multiutil: Shipping order
    "C:\temp\cqms\ms_ship\outgoing\sh_o_sync_BOSTON_HUB_26-March-02_
    10-55-16.xml" generated.

  • 앞의 예제와 비슷하지만 패킷을 즉시 운송하십시오.

    multiutil syncreplica -export -clan telecomm -site boston_hub
    -family DEV -user susan -password p -maxsize 500mb -workdir
    c:\work -fship -sclass cq_default sanfran_hub

    Multiutil: Packet file
    `C:\work\sync_BOSTON_HUB_26-March-02_10-56-43.xml' generated
    multiutil: Shipping order "C:\cqms\ms_ship\outgoing\sh_o_sync_
    BOSTON_HUB_26-March-02_10-56-43.xml" generated.
    multiutil: Attempting to forward/deliver generated packets...
    multiutil:   -- Forwarded/delivered packet
    C:\cqms\ms_ship\outgoing\sync_BOSTON_HUB_26-March-02_10-
    ---- NOTE: consult the NT event log for errors.

가져오기

  • cq_storage 기억장치 클래스의 모든 수신 업데이트 패킷을 가져오십시오.

    multiutil syncreplica -import -clan telecomm -site sanfran_hub
    -family DEV
    -user jcole -p passwd -receive -sclass cq_storage

    Multiutil: 4 transactions from boston_hub have been replayed
    into the MASTR database
    Multiutil: 2 transactions from boston_hub have been replayed
    into the DEV database
    Multiutil: Deleting packet C:\temp\cqms\ms_ship\incoming\sync_
    boston_hub_22-January-02_11-10-34.xml

  • sanfran_hub 복제본에 있는 업데이트 패킷 sanfran_hub_sync.xml을 처리하십시오.

    multiutil syncreplica -import -clan telecomm -site sanfran_hub
    -family DEV -user jcole -p passwd c:\cqms\sanfran_hub_sync.xm

    Multiutil: 1 transactions from boston_hub have been replayed
    into the MASTR database
    Multiutil: 2 transactions from boston_hub have been replayed
    into the DEV database
    Multiutil: Deleting packet c:\cqms\sanfran_hub_sync.xml

  • sanfran_hub 복제본이 최신 스키마 버전으로 업그레이드되기 전에 sanfran_hub 복제본의 업데이트 패킷 sanfran_hub_sync.xml을 처리해 보십시오.

    multiutil syncreplica -import -clan telecomm -site sanfran_hub
    -family DEV -user jcole -p passwd c:\cqms\sanfran_hub_sync.xml

    Multiutil: The UPDATE_PACKET packet sent from boston_hub at
    2002-01-22 15:15:50  is destined for schema revision 2, not 1;
    re-execute syncreplica after site admin has upgraded database.
    Multiutil: 2 transactions from boston_hub have been replayed
    into the MASTR database
    Multiutil: Preserving packet c:\cqms\sanfran_hub_sync.xml.

  • 수신 기억장치 베이의 모든 업데이트 패킷을 처리하십시오.

    multiutil syncreplica -import -clan telecomm -site boston_hub
    -family DEV -user susan -p passwd -receive

    Multiutil: 1 transactions from SANFRAN_HUB have been replayed
    into the MASTR database
    Multiutil: 2 transactions from SANFRAN_HUB have been replayed
    into the DEV database
    Multiutil: Deleting packet C:\temp\cqms\ms_ship\incoming\sync_
    SANFRAN_HUB_07-February-02_11-24-49.xml


피드백