Migracja repozytorium platformy Jazz po aktualizacji produktu Jazz Team Server

Migracja repozytorium jest procesem konwersji między formatami zawartości bazy danych. Migracja repozytorium jest wymagana przy aktualizacji produktu Jazz Team Server z wersji X do wersji Y, jeśli w wersji Y wprowadzono zmiany schematu.

Zanim rozpoczniesz

Migracja danych jest konieczna, jeśli występują zmiany schematów między wersjami produktu Jazz Team Server. Należy posiadać wyodrębnione skompresowane pliki produktu Jazz Team Server w obu wersjach X i Y.

O tym zadaniu

Ogólnie migracja danych to proces dwuetapowy:

diagram migracji repozytorium

Operacje eksportowania i importowania można przeprowadzić przy użyciu narzędzi repotools.
Uwaga: Podczas migracji repozytorium produkt Jazz Team Server musi być zatrzymany. Migracja może zająć dużo czasu, zależnie od konfiguracji maszyny, systemu operacyjnego, bazy danych itd. Dlatego też należy odpowiednio zaplanować okres wyłączenia.

Migracja katalogu pełnotekstowego

Produkt Jazz Team Server zarządza katalogiem, który znajduje się poza bazą danych, zawierającym wszelkie dane niezbędne do przetwarzania zapytań pełnotekstowych. Położenie tego katalogu jest konfigurowane w pliku teamserver.properties, właściwość com.ibm.team.fulltext.indexLocation. Aby mimo migracji bazy danych nadal korzystać z katalogu, który poprzednio był używany do indeksowania, należy upewnić się, że położenie używane w narzędziu repozytorium -rebuildTextIndices jest zgodne z położeniem używanym przez serwer. Przy uruchamianiu serwera lub komendy -rebuildTextIndices ścieżka bezwzględna do położenia katalogu pełnotekstowego jest zapisywana w plikach dziennika. Sprawdzając plik dziennika serwera i plik dziennika narzędzia repotools_rebuildTextIndicies, można porównać oba katalogi.
Wskazówka: Jeśli katalog skonfigurowany w pliku teamserver.properties jest ścieżką względną, w pliku dziennika zostanie zapisane ostrzeżenie. Zaleca się skonfigurowanie tej właściwości w postaci bezwzględnej ścieżki do katalogu.
Więcej informacji na temat tworzenia indeksów pełnotekstowych zawiera sekcja -rebuildTextIndices.

Migracja produktu Jazz Team Server jest procesem bardzo intensywnym i może zająć dużo czasu, zależnie od ilości migrowanych danych. Poniżej znajduje się lista kontrolna zagadnień, na które należy zwrócić uwagę, aby uniknąć powszechnych zagrożeń.

System operacyjny:
  • W systemie Windows®, należy upewnić się, czy "buforowanie zapisu na dysk" zostało włączone dla wszystkich zaangażowanych w proces dysków
  • W systemie Windows, należy wyłączyć "Usługę Indeksowanie" (Windows Indexing Service)
  • Należy upewnić się, że katalog tymczasowy, baza danych i plik archiwum .tar znajdują się na najszybszym dysku (najlepiej na dysku rozsianym/RAID/10)
  • W systemie Linux® (dotyczy bazy danych DB2), należy upewnić się, czy jądro zostało poprawnie dostrojone, zgodnie z informacjami zawartymi w temacie dotyczącym administrowania bazą danych DB2: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.server.doc/doc/t0008238.html
Konfigurowanie produktu Jazz Team Server:
  • Należy skonfigurować następujące właściwości (w pliku teamserver.properties), aby upewnić się, że używany jest najszybszy dysk:
    com.ibm.team.repository.tmpdir
    com.ibm.team.scm.vcs.tmpdir
    com.ibm.team.scm.tmpdir
    com.ibm.team.fulltext.indexLocation
Baza danych DB2:
  • Baza danych DB2 domyślnie podejmuje próby zwiększania wielkość puli buforów, na ile to konieczne. Jeśli opcja nie zostanie wyłączona, baza danych DB2 powinna osiągać dobre rezultaty natychmiast po zainstalowaniu.
  • Aby sprawdzić pulę buforów, wykonaj następujące czynności:
    1. Połącz się z bazą danych platformy Jazz, do której mają być importowane dane, wpisując w wierszu komend:
      db2 connect to <nazwaBazyDanych>
    2. Następnie uruchom poniższą komendę:
      db2 "select bufferpoolid, bpname from syscat.bufferpools"
      Spowoduje to wyświetlenie identyfikatora puli buforów w następującym formacie:
      BUFFERPOOLID BPNAME
      ------------ ----------------------------------
                 1 IBMDEFAULTBP
      
        1 record(s) selected.
    3. W powyższym przykładzie identyfikatorem puli buforów jest 1. Następnie uruchom poniższą komendę:
      db2mtrk -d
      Spowoduje to wyświetlenie danych zbliżonych do poniższych:
      Tracking Memory on: 2009/06/04 at 22:19:17
      
      Memory for database: <nazwaBazyDanych>
         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
      Pogrubione dane wyjściowe wskazują przydzieloną wielkość puli buforów dla bazy danych.
Baza danych Oracle:
  • Należy wyłączyć recycle bin (kosz) - zachowuje on ślad wszystkich usuwanych elementów, wypełniając dysk, co może powodować problemy. W tym celu należy uruchomić następujące komendy w sqlplus:
    "ALTER SYSTEM SET RECYCLEBIN" = 'OFF' 
    "PURGE RECYCLEBIN"
  • Należy wyłączyć przechowywanie historii statystycznej - zachowuje ona ślad środowiska wykonawczego poprzednich metod:
    "exec dbms_stats.ALTER_STATS_HISTORY_RETENTION (0)"
    "exec dbms_stats.PURGE_STATS ( current_timestamp )"
  • Należy upewnić się, że obszar tabel bazy danych Oracle obejmuje tylko jeden plik

Aby uruchomić migrację:

Procedura

  1. Zatrzymaj Jazz Team Server w wersji X. Aby zatrzymać Jazz Team Server, uruchom skrypt server.shutdown.sh w przypadku systemu Linux lub server.shutdown.bat w przypadku systemu Windows, spakowany w katalogu [katalog_instalacyjny]/jazz/server.
  2. Utwórz kopię zapasową repozytorium platformy Jazz. Kopia zapasowa jest jedynie środkiem zapobiegawczym na wypadek niepowodzenia migracji.
    1. W przypadku bazy danych Derby utwórz kopię archiwalną całego katalogu dyskowego bazy danych.
    2. W przypadku bazy danych DB2, użyj komendy bazy danych DB2 do generowania w określonym katalogu docelowym plików archiwum bazy danych, zawierających informacje o dacie i godzinie.
  3. Utwórz kopię zapasową indeksu pełnotekstowego. Położenie indeksu pełnotekstowego jest określone przez właściwość com.ibm.team.fulltext.indexLocation w pliku teamserver.properties.
  4. Uruchom narzędzia repotools, aby wyeksportować dane z repozytorium. Skrypty repotools.sh dla systemu Linux i repotools.bat dla systemu Windows są spakowane w katalogu [katalog_instalacyjny]/jazz/server.

    Przykład: repotools -export toFile=./nazwa_pliku.tar

    Uwaga: Informacje dziennika i komunikaty o błędach są wyświetlane na konsoli i zapisywane w pliku dziennika. Plik dziennika zawiera informacje debugowania dotyczące liczby wyeksportowanych elementów, czasu poświęconego na eksport, błędów i inne przydatne informacje. Plik dziennika jest domyślnie tworzony w katalogu zawierającym skrypt narzędzi repotools. Położenie pliku dziennika można zmienić przy użyciu parametru logFile.
    Zawartość repozytorium została wyeksportowana do pliku archiwum TAR.
  5. Skopiuj plik teamserver.properties z katalogu [katalog_instalacyjny]/jazz/server wersji X do katalogu [katalog_instalacyjny]/jazz/server wersji Y.
  6. Z wersji Y uruchom narzędzia repotools, aby zaimportować dane z pliku archiwum TAR do repozytorium.
    Przykład: repotools -import fromFile=./nazwa_pliku.tar
    Ważne: W przypadku korzystania z bazy danych innej niż Derby należy przed uruchomieniem narzędzia importowania utworzyć nową bazę danych.
    Uwaga: Opcja -import powoduje rejestrację informacji dotyczących zaimportowanych i opuszczonych elementów, jak również błędów występujących podczas importowania.

Co dalej

Można teraz uruchomić Jazz Team Server w wersji Y.

Opinia