데이터 보관자를 사용하여 대상 인스턴스의 데이터가 덮어쓰기되는 것을 방지할 수 있습니다. 사용자 지정 애플리케이션이 있는 경우, 게시되지 않은 애플리케이션 콘텐츠도 수동으로 보관해야 합니다.

데이터 보관자

경우에 따라 복제 대상으로 지정된 인스턴스의 일부 데이터를 보존해야 합니다. 예를 들어, 대상이 MID 서버인 경우 MID 서버 [ecc_agent] 테이블을 덮어쓰지 않아야 합니다. 보존된 데이터는 복제가 시작되기 전에 대상 인스턴스에 저장되고 복제 후 대상 인스턴스에서 복원됩니다.
경고: 소스 인스턴스에서 데이터 보관자를 정의해야 합니다. 대상 인스턴스에서 정의하면 데이터가 보존되지 않습니다.
데이터 보관자는 일반적으로 다음과 같은 시스템 설정 및 테마를 보존합니다.
  • 인스턴스별 인증 설정
  • 책갈피 [sys_ui_bookmark]
  • 최근 선택 [sys_ui_recent_selection]
  • 사용자 기본 설정 [sys_user_preference]
주: 클론은 데이터베이스 뷰의 데이터 보존을 지원하지 않습니다.

사용자 그룹과 같은 대규모 데이터 세트를 전송하는 데 데이터 보관자를 사용하지 마십시오. 사용자, 그룹, 역할과 같은 테이블 데이터를 보존해야 하는 경우 기록을 파일로 익스포트하고 복제 후 임포트하는 것이 좋습니다.

다중 SSO용 데이터 보관자

복수 제공자 SSO(Single Sign-On) 통합을 활성화하면 클론에 필요한 데이터 보관자가 자동으로 생성됩니다.
이름 테이블 조건
인증서 X.509 인증서 [sys_certificate] 안 함
코어 인스턴스 속성 시스템 속성 [sys_properties]
  • [또는] [이름] [다음 중 하나임] [glide.authenticate.external, glide.authenticate.external.logout_redirect]
  • [또는] [이름] [다음으로 시작] [com.snc.integration.saml_esig]
  • [또는] [이름] [다음 중 하나임] [glide.smtp.port, glide.smtp.auth, glide.smtp.encryption]
  • [또는] [이름] [다음으로 시작] [glide.authenticate.multisso]
  • [또는] [이름] [는] [glide.authenticate.sso.redirect.idp]
주: , glide.smtp.portglide.smtp.authglide.smtp.encryption 속성은 더 이상 사용되지 않습니다.
다이제스트 속성 다이제스트 속성 [digest_properties] 안 함
ID 제공자 ID 제공자 [sso_properties] 안 함
SAML2 업데이트1 속성 SAML2 업데이트1 속성 [saml2_update1_properties] 안 함
주: 이러한 데이터 보관자를 수정할 수는 있지만 수정하지 않는 것이 좋습니다. 다중 소스 SSO(Single Sign-On)가 제대로 작동하려면 다이제스트 속성 [digest_properties], ID 제공자 [sso_properties] 및 SAML2 Update1 속성 [saml2_update1_properties] 테이블이 필요합니다. 대상 인스턴스에서 여러 소스의 SSO(Single Sign-On)가 비활성화된 경우 데이터 보관자 3개를 모두 안전하게 제거할 수 있습니다. 이러한 테이블 중 하나 또는 두 개를 보존한 상태에서 클론을 시도하면 시스템에서 오류 메시지와 함께 클론을 종료하므로 동시에 제거합니다.

SAML용 데이터 보관자

SAML SSO 관련 설정을 유지하면 대상 인스턴스가 IdP에 인증 요청을 할 때 잘못된 발급자 및 대상 매개변수를 사용하는 것을 방지할 수 있습니다. SAML 설정을 유지하려면 다음 테이블에 대한 데이터 보관자를 생성하십시오.

  • 시스템 속성 [sys_properties]: SAML 속성을 보존합니다.
  • X.509 인증서 [sys_certificate]: SAML 인증서를 보존합니다.
  • 사용자 [sys_user]: SAML 사용자를 보존합니다.

또한 SAML과 관련된 속성 및 사용자를 보존해야 합니다.

게시되지 않은 애플리케이션의 보존

데이터 보관자를 사용하여 게시되지 않은 애플리케이션을 저장할 수 없습니다. 대신 애플리케이션 개발자는 게시되지 않은 애플리케이션을 보존하는 방법을 선택해야 합니다.

복제 프로세스는 개발 중인 애플리케이션의 버전 차이를 보존하지 않습니다. 대신, 시스템 클론은 소스 인스턴스에 설치된 애플리케이션 버전만 대상 인스턴스에 복사합니다. 대상 인스턴스에 동일한 애플리케이션의 개발 버전이 있는 경우 클론 후 애플리케이션을 편집할 수 있지만 소스 인스턴스에 설치된 버전은 모두 적용됩니다. 애플리케이션이 소스 인스턴스에 없는 경우 클론 프로세스는 대상 인스턴스에서 애플리케이션을 삭제합니다.

데이터 보관자 생성

데이터 보관자는 대상 인스턴스에서 지정된 데이터를 유지 관리합니다.

시작하기 전에

필요한 역할: clone_admin 또는 admin

이 태스크 정보

대상 인스턴스에서 특정 데이터를 보존하는 것이 바람직한 경우도 있습니다. 예를 들어, MID 서버를 사용하는 경우 MID 서버 [ecc_agent] 테이블을 덮어쓰지 않을 수 있습니다. 보존된 데이터는 복제 전에 대상 인스턴스에서 동적으로 생성된 목록에 저장되고 복제가 완료된 후 대상 인스턴스에서 복원됩니다. 소스 인스턴스에서 데이터 보관자를 정의합니다.

데이터 보관자는 주로 인스턴스별 인증 설정과 같은 시스템 설정 및 테마를 보존하기 위한 것입니다. 사용자 그룹과 같은 대규모 데이터 세트를 전송하는 데 데이터 보관자를 사용하지 마십시오. 사용자, 그룹 및 역할과 같은 테이블 데이터를 보존해야 하는 경우 기록을 파일로 익스포트하고 클론이 완료된 후 임포트하는 것이 좋습니다.

다음 테이블의 데이터를 유지할지 여부를 고려하십시오.
  • 책갈피 [sys_ui_bookmark]
  • 최근 선택 [sys_ui_recent_selection]
  • 사용자 기본 설정 [sys_user_preference]

소스 인스턴스에 대상 인스턴스보다 더 많은 기록이 있는 테이블에 데이터 보존자를 설정하면 대상 인스턴스에 보존된 데이터에는 소스 인스턴스의 추가 기록도 포함됩니다.

예를 들어 데이터 보관자가 이미 설치되어 있다고 가정합니다.
  • 소스 인스턴스에서 sys_temp 테이블에는 100개의 기록이 포함되어 있습니다.
  • 대상 인스턴스에서 sys_temp 테이블에는 20개의 기록이 포함되어 있습니다.
클론 후 대상 인스턴스의 sys_temp 테이블에는 100개의 레코드가 포함됩니다.
  • 대상 sys_temp 테이블의 20개 기록이 성공적으로 보존됩니다(데이터 보관자 사양에 따라). 이러한 기록은 소스 sys_temp 테이블에 있는 100개 기록 중 일부였습니다.
  • 소스 sys_temp 테이블은 나머지 80개 기록을 대상 sys_temp 테이블로 가져옵니다.

이 문제를 해결하고 대상 테이블의 레코드만 보존하려면 소스 테이블에서 데이터 보존자를 설정하는 것 외에도 대상 테이블에 대한 제외 테이블 레코드를 생성합니다 .

중요사항: 소스 인스턴스에서 보관자를 구성합니다.

프로시저

  1. 소스 인스턴스에서 다음으로 이동합니다. 시스템 클론 > 데이터 보관.
  2. 새로 만들기를 클릭합니다.
  3. 테이블 레이블을 이름으로 입력합니다(예: [sys_user_preference] 테이블의 사용자 기본 설정).
    데이터 보관자에는 테이블 이름이 있어야 합니다. 그렇지 않으면 제출할 수 없습니다.
  4. 보존할 테이블을 선택합니다.
    데이터 보관자에서 테이블을 선택해야 하며, 그렇지 않으면 테이블을 제출할 수 없습니다.
  5. 보존되는 데이터가 UI 속성인 경우 테마 확인란을 선택합니다.
  6. 조건 작성기를 사용하여 보존할 데이터를 정의합니다.
    조건을 사용하여 클론 중에 보존할 특정 기록을 정의할 수 있습니다. 예를 들어 특정 시스템 속성만 유지하려면 유지하려는 각 속성 이름에 대한 조건을 추가할 수 있습니다.
    주: 정규 표현식 일치 조건 [match regex]은 더 이상 지원되지 않습니다.
    조건이 있는 데이터 보관자
    경고: 어떤 이유로 백업에서 클론이 실패하면 클론 프로세스가 레거시 클론 엔진으로 페일오버됩니다. 레거시 클론 엔진은 확장된 테이블, 관계, 테이블 간 계층 구조 및 닷워킹 쿼리의 데이터를 보존할 수 없습니다. 이러한 경우 시스템 클론 일정을 조정하거나 데이터를 수동으로 전송할 수 있습니다.
  7. 제출을 클릭합니다.
    나중에 데이터 보관자를 삭제하려면 다음 데이터 보관자 기록을 수정하거나 삭제하지 마십시오.
    • 코어 인스턴스 속성
    • 세마포
    • 이메일 계정
    주: DB 뷰를 보존할 수 없습니다.

    보존자는 비워둘 수 없으며, 보존자가 비어 있으면 사용자는 클론을 제출할 수 없습니다.

SAML 속성 유지

클론 대상 인스턴스가 기존 SAML 통합을 유지하도록 하려면 코어 인스턴스 속성 데이터 보존자를 편집하여 SAML 속성을 포함해야 합니다.

시작하기 전에

필요한 역할: 관리자

프로시저

  1. 다음으로 이동 모두 > 시스템 클론 > 데이터 보관.
  2. 코어 인스턴스 속성을 선택합니다.
  3. 다음 조건을 추가합니다.
    • [또는] [이름] [다음 중 하나임] [glide.authenticate.external, glide.authenticate.external.logout_redirect, glide.authenticate.failed_requirement_redirect]
    • [또는] [이름] [다음으로 시작] [glide.authenticate.sso.saml2]
    • [또는] [이름] [다음으로 시작] [com.snc.integration.saml_esig]
    SAML 시스템 속성 유지
    주: 인스턴스 테마를 유지하는지 여부에 관계없이 이러한 속성이 보존되도록 테마 확인란의 선택을 취소해야 합니다.
  4. 업데이트를 클릭합니다.

시스템 클론 중에 개발 중인 애플리케이션 및 커스터마이제이션 보존

애플리케이션 버전을 대상(개발) 인스턴스에 복제하기 전에 현재 개발 중인 각 애플리케이션과 커스터마이제이션의 사본을 수동으로 보존합니다.

시작하기 전에

애플리케이션 기록에 대한 쓰기 권한이 있는지 확인합니다.

소스 통제 리포지토리에 대한 액세스 권한이 있는지 확인합니다.

필요한 역할: 관리자

이 태스크 정보

복제 프로세스는 개발 중인 애플리케이션 및 앱 사용자 지정에 대한 버전 차이를 유지하지 않습니다. 대신 시스템은 소스 인스턴스에 설치된 애플리케이션 및 앱 커스터마이제이션 버전의 복사본만 대상 인스턴스에 복제합니다. 대상 인스턴스에 동일한 애플리케이션의 개발 버전이 있는 경우 애플리케이션은 클론 후에 편집할 수 있지만 소스 인스턴스에 설치된 버전을 유지합니다. 애플리케이션이 소스 인스턴스에 없는 경우 클론 프로세스는 대상 인스턴스에서 애플리케이션을 삭제합니다.

프로시저

  1. 클론 대상 인스턴스에서 애플리케이션을 유지하려면 다음 작업 중 하나를 수행합니다.
    표 1. 인스턴스 간 버전 차이
    애플리케이션 버전 상태 수행할 작업
    클론 대상 인스턴스의 애플리케이션 버전이 소스 인스턴스 버전과 다릅니다. 클론 대상 인스턴스에서 각 애플리케이션을 익스포트합니다. 선택 항목은 다음과 같습니다.
    • 각 애플리케이션을 소스 통제 리포지토리에 연결합니다.
      주: 애플리케이션이 소스 통제 리포지토리에 이미 연결되어 있으면 최신 버전을 커밋합니다.
    • 각 애플리케이션을 업데이트 세트에 게시합니다.
    애플리케이션은 클론 대상 인스턴스에서만 사용할 수 있습니다.
    클론 대상 인스턴스의 애플리케이션 버전이 소스 인스턴스와 동일합니다. 없음. 시스템 클론 프로세스는 클론 중에 이 애플리케이션 버전을 대상 인스턴스에 복사합니다.
  2. 소스 인스턴스에서 대상 인스턴스로 시스템 클론을 요청합니다.
    예를 들어, 개발 인스턴스 위에 프로덕션 인스턴스를 복제합니다.
  3. 클론 프로세스가 완료되면 클론 대상 인스턴스에 로그인합니다.
  4. 주: 소스 제어가 연결된 경우 클론 후 플랫폼이 애플리케이션과 사용자 지정 애플리케이션을 자동으로 검색합니다. glide.source_control.post_clone_import_enabled를 통해 이 기능이 비활성화된 경우 다음을 수행하여 수동으로 검색해야 합니다.
    각 애플리케이션을 소스 통제 리포지토리에 저장한 경우 다음 작업 중 하나를 사용하여 소스 통제 리포지토리에서 검색합니다.
    주: 애플리케이션 커스터마이제이션 사후 클론 후 예상되는 사항은 애플리케이션 커스터마이제이션에 대한 복제 후 결과를 참조하십시오.
    표 2. 소스 통제 리포지토리에서 애플리케이션 검색
    애플리케이션 설치 상태 클론 대상에서 수행할 작업
    애플리케이션 및 커스터마이제이션은 이전에 소스 인스턴스에 설치되었습니다. 소스 통제 리포지토리에서 원격 변경 내용을 적용합니다.
    애플리케이션이 소스 인스턴스에 설치되지 않았습니다. 리포지토리 구성(sys_repo_config)을 삭제하고 소스 통제 리포지토리에서 커스터마이제이션을 임포트합니다.
    표 3. 클론 후 원격 변경
    필드 설명
    glide.source_control.post_clone_import_enabled 원격 변경 내용 적용 자동화를 비활성화하려면 False로 설정합니다. 기본값은 True입니다.
    glide.source_control.post_clone_import_delay_time_sec 큐 처리를 지연시키는 지연 시간을 제공하려면 값을 제공합니다. 기본값은 0입니다.
    glide.source_control.post_clone_import_pause_refresh_time_sec 리포지토리 새로 고침 작업이 실행되지 않는 간격을 제공하려면 값을 제공합니다. 기본값은 3시간(10800)입니다.
  5. 각 애플리케이션을 업데이트 세트에 저장한 경우 다음 작업 중 하나를 수행하여 업데이트 세트에서 검색합니다.
    표 4. 업데이트 세트에서 애플리케이션 검색
    애플리케이션 설치 상태 클론 대상에서 수행할 작업
    애플리케이션이 이전에 소스 인스턴스에 설치되었습니다.
    1. 소스 인스턴스에서 클론된 애플리케이션 버전을 삭제합니다.
    2. 현재 애플리케이션 버전이 포함된 업데이트 세트를 로드합니다.
    애플리케이션이 소스 인스턴스에 설치되지 않았습니다. 현재 애플리케이션 버전이 포함된 업데이트 세트를 로드합니다.

결과

이전에 개발 중이던 애플리케이션은 클론 대상 인스턴스에서 추가 개발에 사용할 수 있습니다.

예: 마케팅 이벤트 애플리케이션 유지

회사에서 이전에 Marketing Events라는 사용자 지정 애플리케이션의 버전 1.0을 만들었다고 가정해 보겠습니다. 이미 마케팅 이벤트 애플리케이션 버전 1.0을 애플리케이션 리포지토리에 게시하고 프로덕션 인스턴스에 설치했습니다.

시간이 지남에 따라 사용자가 애플리케이션에 대한 개선 요청을 제출했으며 이러한 요청을 해결하기 위해 비프로덕션 인스턴스에서 Marketing Events 애플리케이션 버전 2.0을 개발하기로 결정합니다. 개발이 거의 완료되면, 몇 가지 포괄적인 테스트를 위해 비프로덕션 인스턴스를 최신 프로덕션 복사본으로 업데이트하려고 합니다.

이전에 소스 통제 통합을 사용하여 마케팅 이벤트 애플리케이션 버전 1.0을 개발했기 때문에 마케팅 이벤트 애플리케이션을 소스 통제 리포지토리에 이미 연결했습니다. Marketing Events 애플리케이션 버전 2.0을 소스 통제 리포지토리에 커밋합니다.

개발 인스턴스 위에 프로덕션 인스턴스의 클론을 예약합니다. 완료 후 개발 인스턴스에 로그인하면 소스 인스턴스에 설치된 버전인 Marketing Events 애플리케이션 버전 1.0이 있습니다.

애플리케이션이 소스 인스턴스에 이미 설치되어 있었기 때문에 소스 통제 리포지토리에서 원격 변경 내용을 적용하면 최신 애플리케이션 버전을 받을 수 있습니다. 이제 개발 인스턴스에 마케팅 이벤트 애플리케이션 버전 2.0이 포함되어 있으며 추가 개발 및 테스트에 사용할 수 있습니다.