Jazz Team Server를 업그레이드한 후 Jazz 저장소 마이그레이션

저장소 마이그레이션은 한 형식에서 다른 형식으로 데이터베이스의 내용을 변환하는 프로세스입니다. 저장소 마이그레이션은 버전 X에서 버전 Y로 Jazz™ Team Server를 업그레이드할 때 필요합니다. 여기서 Y에는 스키마 변경사항이 있습니다.
시작하기 전에
Jazz Team Server 버전 간에 스키마 변경사항이 있는 경우 데이터 마이그레이션을 수행해야 합니다. X 및 Y 버전의 Jazz Team Server 압축 파일을 추출해야 합니다.
이 태스크 정보
일반적으로 데이터 마이그레이션은 다음 2단계 프로세스로 진행됩니다.

저장소 마이그레이션
다이어그램

내보내기 및 가져오기 오퍼레이션에 repotools 애플리케이션을 사용할 수 있습니다.
주: 저장소를 마이그레이션하는 경우에는 Jazz Team Server를 중지해야 합니다. 사용자 시스템의 구성, 운영 체제, 데이터베이스 등에 따라 마이그레이션 시간이 오래 소요될 수 있습니다. 그에 따라 사용자 중단 시간을 스케줄하십시오.

전체 텍스트 디렉토리 마이그레이션

Jazz Team Server는 전체 텍스트 조회를 처리하는 데 필요한 모든 데이터를 저장하는 데이터베이스 외부의 디렉토리를 관리합니다. 디렉토리 위치는 com.ibm.team.fulltext.indexLocation 특성 아래 teamserver.properties 파일에 구성됩니다. 데이터베이스를 마이그레이션하는 경우 색인화에 사용된 이전 디렉토리를 사용하려면 -rebuildTextIndices 저장소 도구에 사용된 위치와 서버에 사용된 위치가 일치하는지 확인해야 합니다. 서버를 시작하거나 -rebuildTextIndices 명령을 실행하고 있는 경우 전체 텍스트 디렉토리의 위치에 대한 절대 경로가 로그 파일에 인쇄됩니다. 서버 로그 파일 및 repotools_rebuildTextIndicies 로그 파일을 확인하여 두 디렉토리를 비교할 수 있습니다.
팁: teamserver.properties 파일에 구성된 디렉토리가 상대 경로인 경우 로그 파일에 경고가 인쇄됩니다. 이 특성이 절대 디렉토리 경로가 되도록 구성하는 것이 좋습니다.
전체 텍스트 색인 작성에 대한 자세한 정보는 -rebuildTextIndices를 참조하십시오.

Jazz Team Server 마이그레이션은 마이그레이션할 데이터의 크기에 따라 시간이 많이 소요될 수 있는 매우 집약적인 프로세스입니다. 다음은 공통 문제를 방지하기 위해 확인해야 하는 체크리스트입니다.

운영 체제:
  • Windows에서는 관련된 모든 디스크에 대해 "디스크에 쓰기 캐시"를 사용하도록 설정했는지 확인하십시오.
  • Windows에서 "Windows 인덱싱 서비스"를 사용 안함으로 설정하십시오.
  • 임시 디렉토리, 데이터베이스 및 .tar 파일이 가장 빠른 드라이브(striped/RAID/10 디스크가 적합)에 있는지 확인하십시오.
  • Linux(DB2용)의 경우 아래 DB2 관리 주제에 따라 커널을 적절히 조정했는지 확인하십시오. http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.server.doc/doc/t0008238.html
Jazz Team Server 설정:
  • 가장 빠른 디스크에 액세스할 수 있도록 다음 특성(teamserver.properties에 위치)을 설정하십시오.
    com.ibm.team.repository.tmpdir
    com.ibm.team.scm.vcs.tmpdir
    com.ibm.team.scm.tmpdir
    com.ibm.team.fulltext.indexLocation
DB2:
  • DB2에서는 기본적으로 버퍼 풀 크기를 필요한 만큼 크게 확장하려고 시도합니다. 이 기능을 사용하지 않도록 설정한 경우가 아니라면 DB2는 설치 즉시 적절하게 작동하게 됩니다.
  • 버퍼 풀을 확인하려면 다음을 수행하십시오.
    1. 명령 프롬프트에 다음을 입력하여 가져올 대상인 Jazz 데이터베이스에 연결하십시오.
      db2 connect to <databaseName>
    2. 그런 후 다음 명령을 실행하십시오.
      db2 "select bufferpoolid, bpname from syscat.bufferpools"
      그러면 다음 형식으로 버퍼 풀 ID가 출력됩니다.
      BUFFERPOOLID BPNAME
      ------------ ----------------------------------
                 1 IBMDEFAULTBP
      
        1 record(s) selected.
    3. 위 예제에서 버퍼 풀 ID는 1입니다. 다음 단계로 다음 명령을 실행하십시오.
      db2mtrk -d
      다음과 유사한 데이터가 출력됩니다.
      Tracking Memory on: 2009/06/04 at 22:19:17
      
      Memory for database: <databaseName>
         utilh       pckcacheh   other       catcacheh   bph (1)     bph (S32K)
         64.0K       384.0K      128.0K      128.0K      95.4M       832.0K
      
         bph (S16K)  bph (S8K)   bph (S4K)   shsorth     lockh       dbh
         576.0K      448.0K      384.0K      64.0K       2.5M        20.8M
      
         apph (269)  apph (268)  apph (267)  apph (266)  apph (265)  apph (262)
         64.0K       64.0K       64.0K       64.0K       64.0K       64.0K
      
         appshrh
         128.0K
      굵은체 출력은 데이터베이스에 대해 할당된 버퍼 풀 크기를 표시합니다.
Oracle:
  • 휴지통 사용 안함 - 이와 같이 설정하면 삭제되는 모든 요소를 추적하여 디스크를 가득 채우게 되고 결과적으로 문제를 유발할 수 있습니다. sqlplus에서 다음 명령을 실행하십시오.
    "ALTER SYSTEM SET RECYCLEBIN" = 'OFF' 
    "PURGE RECYCLEBIN"
  • 통계 히스토리 보존 사용 안함 - 이와 같이 설정하면 과거 메소드의 런타임을 추적합니다.
    "exec dbms_stats.ALTER_STATS_HISTORY_RETENTION (0)"
    "exec dbms_stats.PURGE_STATS ( current_timestamp )"
  • Oracle 테이블스페이스 범위가 단일 파일에만 해당하는지 확인하십시오.

마이그레이션을 시작하려면 다음을 수행하십시오.

  1. 버전 X Jazz Team Server를 중지하십시오. Jazz Team Server를 중지하려면 [installDir]/jazz/server에 패키지되어 있는 server.shutdown.sh(Linux의 경우) 또는 server.shutdown.bat(Windows의 경우)을 실행하십시오.
  2. Jazz 저장소 백업을 작성하십시오. 이 백업은 마이그레이션이 잘못될 경우를 대비한 예방 수단에 불과합니다.
    1. Derby의 경우 전체 데이터베이스 디렉토리의 아카이브 사본을 작성하십시오.
    2. DB2의 경우 DB2 백업 명령을 사용하여 지정된 대상 디렉토리에 날짜 및 시간 정보와 함께 데이터베이스 아카이브 파일을 생성하십시오.
  3. 전체 텍스트 색인의 백업을 작성하십시오. 전체 텍스트 색인의 위치는 teamserver.properties 파일의 com.ibm.team.fulltext.indexLocation 특성에 지정됩니다.
  4. repotools를 실행하여 저장소의 데이터를 내보내십시오. Linux의 repotools.sh 스크립트와 Windows의 repotools.bat 스크립트는 [installDir]/jazz/server 디렉토리에 패키지되어 있습니다.

    예: repotools -export toFile=./file_name.tar

    주: 콘솔 및 로그 파일에 로그 정보 및 오류 메시지가 표시됩니다. 로그 파일에는 내보낸 항목 수, 항목을 내보내는 시간, 오류 및 기타 유용한 정보에 대한 디버그 정보가 포함되어 있습니다. 로그 파일은 기본적으로 repotools 스크립트와 동일한 디렉토리에 작성됩니다. logFile 매개변수를 사용하여 로그 파일의 위치를 변경할 수 있습니다.
    이제 저장소 내용을 TAR 파일로 내보냈습니다.
  5. teamserver.properties 파일을 버전 X의 [installDir]/jazz/server에서 버전 Y의 [installDir]/jazz/server로 복사하십시오.
  6. 버전 Y에서 repotools를 실행하여 TAR 파일에서 저장소로 데이터를 가져오십시오.
    예: repotools -import fromFile=./file_name.tar
    중요사항: Derby 데이터베이스가 아닌 경우에는 가져오기 도구를 실행하기 전에 먼저 데이터베이스를 새로 작성해야 합니다.
    주: -import 옵션은 가져왔거나 건너뛴 항목은 물론 가져오기 중에 발생한 오류에 대한 정보도 기록합니다.
다음에 수행할 작업
이제 버전 Y의 Jazz Team Server를 시작할 수 있습니다.

피드백