recoverpacket

에포크(epoch) 번호 매트릭스를 재설정하여 손실된 패킷의 변경사항을 재전송합니다.
관련 참조
chepoch
lsepoch
restorereplica

적용

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

개요

recoverpacket

[ –cl/an clan-name ] [ –site site-name ] –fam/ily family-name
–u/ser username [–p/assword ] password [ –sin/ce date-time ] replica ...

설명

recoverpacket 명령은 전송하는 복제본에 있는 에포크 행을 재설정하여 특정 시간 전에 복제본으로 전송된 최종 동기화를 반영합니다. 각 내보내기 시점에 저장된 에포크 행의 목록을 스캔하여 지정된 시간 이전의 항목을 찾습니다. 항목을 찾으면 연관된 행을 사용하여 지정된 수신 복제본에 대한 에포크 행을 재설정합니다. 내보낸 다음 패킷은 손실된 패킷의 변경사항을 포함합니다.

자동으로 에포크 번호 다시 설정

업데이트 패킷을 다른 복제본으로 전송할 때 전송 및 가져오기 단계의 성공을 가정합니다. 그러므로 전송 복제본의 에포크 번호 매트릭스가 변경사항이 수신 복제본에서 작성됨을 반영하기 위해 업데이트됩니다. 그러나 패킷이 수신 복제본에 도달하기 전에 손실되는 경우, 수신 복제본이 최신이라는 전송 복제본의 가정은 올바르지 않습니다.

전송 복제본에 있는 에포크 번호가 패킷이 전송되기 전에 가졌던 값으로 리턴되어야 합니다. 전송 복제본의 에포크 번호 매트릭스에 이런 정정을 수행하면 수신 복제본으로 전송하는 다음 업데이트 패킷에 동일한 변경사항이 포함됩니다.

수신 복제본의 관리자가 dumpoplog 명령을 실행하여 마지막으로 성공한 가져오기의 시간을 판별합니다. 전송 복제본의 관리자는 recoverpacket 명령에서 이 시간을 사용합니다.

주: 두 복제본이 동일한 시간대에 있지 않거나 패킷을 생성하는 것과 동시에 패킷을 전송하지 않는 경우(예를 들어 자정에 패킷을 생성하고 오전 6시에 전송하는 경우), 시간 차이를 조정해야 합니다.

수동으로 에포크 번호 다시 설정

지정된 시간만큼 오래된 저장된 에포크 행이 없는 경우 recoverpacket 명령이 실패합니다. 이 경우 수신 복제본의 관리자가 lsepoch 명령을 사용하여 올바른 에포크 번호를 판별하고, 전송 복제본의 관리자가 전송 복제본에 대해 chepoch를 실행하여 에포크 행을 다시 설정해야 합니다.

제한

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

옵션 및 인수

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

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

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

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

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

스키마 저장소 패밀리: 작업 스키마 저장소에 대한 정보를 복구하려는 경우 MASTR 패밀리를 사용하십시오. 패킷이 손실된 경우 MASTR 및 사용자 데이터베이스 패밀리 모두에 대해 recoverpacket을 실행한 후 syncreplica를 다시 실행하십시오.

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

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

시간 지정

기본값
시간을 지정하지 않은 경우 recoverpacket은 현재 시간을 사용합니다(따라서 가장 최근 업데이트 패킷의 변경사항이 재전송되도록 에포크 행을 다시 설정합니다).
–since date-time
수신 복제본에서 성공적인 마지막 패킷 처리 시간을 지정합니다. 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
replica ...
에포크 행이 다시 설정되는 복제본의 사이트 이름입니다.

예제

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

boston_hub 복제본에서, 2002년 1월 22일 이후 전송된 변경사항이 다음 업데이트 패킷에 포함되도록 sanfran_hub 복제본에 대한 에포크 행을 다시 설정하십시오.

multiutil recoverpacket -clan telecomm -site boston_hub -family DEV -user
susan -p passwd -since 22-January-2002 sanfran_hub

Multiutil: Using epoch information from 22-Jan-2002.10:06:52.
Multiutil: Epoch estimates for replica `sanfran_hub' successfully reset.

SANFRAN_HUB: 3


피드백