Migrazione del repository Jazz dopo aver aggiornato Jazz Team Server

La migrazione del repository è il processo di conversione dei contenuti del database da un formato ad un altro. La migrazione del repository è necessaria quando si sta aggiornando il Jazz Team Server dalla versione X alla versione Y, dove la versione Y ha modifiche di schema.
Prima di iniziare
È necessario eseguire la migrazione dei dati se ci sono modifiche allo schema tra le due versioni Jazz Team Server. È necessario estrarre i file compressi di Jazz Team Server di entrambe le versioni X e Y.
Informazioni su questa attività
In genere, la migrazione di dati è un processo di due passi:

diagramma di migrazione del repository

È possibile utilizzare l'applicazione repotools per l'operazione di esportazione ed importazione.
Nota: Jazz Team Server deve essere arrestato quando si esegue la migrazione del repository. La migrazione potrebbe impiegare molto tempo a seconda della configurazione della macchina, del sistema operativo e così via. Quindi, pianificare l'interruzione in modo appropriato.

Migrazione della directory di testo completo

Il Jazz Team Server gestisce una directory al di fuori del database che memorizza tutti i dati necessari per elaborare query a testo completo. La posizione della directory è configurata nel file teamserver.properties nella proprietà com.ibm.team.fulltext.indexLocation. Quando si migra il database e si desidera utilizzare la directory precedente utilizzata per l'indicizzazione, è necessario assicurare che la posizione utilizzata nello strumento di repository -rebuildTextIndices corrisponda alla posizione utilizzata dal server. Quando si avvia il server o si esegue il comando -rebuildTextIndices, il percorso assoluto per la posizione della directory di testo completo viene stampato nei file di log. È possibile verificare il file log del server ed il file log repotools_rebuildTextIndicies per confrontare entrambe le directory.
Suggerimento: Se la directory configurata nel file teamserver.properties è un percorso relativo, verrà stampato un avviso nel file di log. Si consiglia di configurare questa proprietà affinché sia un percorso di directory assoluto.
Per ulteriori informazioni sugli indici di testo completo, consultare -rebuildTextIndices.

La migrazione di Jazz Team Server è un processo molto intensivo che può impiegare una discreta quantità di tempo in base alla dimensione dei dati di cui si sta eseguendo la migrazione. Viene di seguito riportato un elenco di controllo di cose da controllare per evitare pitfall comuni.

Sistema operativo:
  • Su Windows, verificare che l'opzione "write caching on disk" sia abilitata per tutti i dischi interessati
  • Su Windows, disabilitare "Windows Indexing Service"
  • Verificare che la directory temporanea, il database ed il file .tar siano sull'unità più veloce (idealmente, disco striped/RAID/10)
  • Su Linux (per DB2), verificare di aver correttamente ottimizzato il kernel in base all'argomento di amministrazione DB2 qui riportato: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.server.doc/doc/t0008238.html
Impostazione Jazz Team Server:
  • Impostare le seguenti proprietà (in teamserver.properties) per assicurare che venga eseguito l'accesso al disco più veloce:
    com.ibm.team.repository.tmpdir
    com.ibm.team.scm.vcs.tmpdir
    com.ibm.team.scm.tmpdir
    com.ibm.team.fulltext.indexLocation
DB2:
  • DB2 per impostazione predefinita prova ad aumentare la dimensione del pool di buffer in base alle necessità. A meno che non lo si è disabilitato, DB2 dovrebbe eseguire bene out of the box.
  • Per controllare il pool del buffer, procedere nel modo seguente:
    1. Connettersi al database Jazz che si desidera importare immettendo quando segue nel prompt dei comandi:
      db2 connect to <databaseName>
    2. Quindi, eseguire il comando:
      db2 "select bufferpoolid, bpname from syscat.bufferpools"
      Questo emetterà un identificativo del pool di buffer in questo formato:
      BUFFERPOOLID BPNAME
      ------------ ----------------------------------
                 1 IBMDEFAULTBP
      
        1 record selezionato.
    3. Nell'esempio di seguito riportato, l'identificativo del pool del buffer è 1. Quindi, eseguire il seguente comando:
      db2mtrk -d
      Questo comando emetterà dati simili a quanto di seguito riportato:
      Traccia memoria il: 04/06/2009 alle 22:19:17
      
      Memoria per il 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
      L'output grassetto indica la dimensione del pool del buffer assegnata per il database.
Oracle:
  • Disabilita cestino - questo tiene traccia di tutti gli elementi che vengono eliminati, riempie il disco e può efficacemente causare problemi. Eseguire il comando di seguito riportato in sqlplus:
    "ALTER SYSTEM SET RECYCLEBIN" = 'OFF' 
    "PURGE RECYCLEBIN"
  • Disabilita la conservazione della cronologia statistica - questo tiene traccia del runtime dei metodi passati:
    "exec dbms_stats.ALTER_STATS_HISTORY_RETENTION (0)"
    "exec dbms_stats.PURGE_STATS ( current_timestamp )"
  • Verifica che il tablespace di Oracle si trovi solo su un file singolo

Per avviare la migrazione:

  1. Arrestare Jazz Team Server della versione X. Per arrestare Jazz Team Server, eseguire server.shutdown.sh per Linux o server.shutdown.bat per Windows impacchettato in [installDir]/jazz/server.
  2. Eseguire una copia di backup del repository Jazz. Il backup è solo una misura preventiva nel caso in cui qualcosa non vada bene con la migrazione.
    1. Per Derby, eseguire una copia di archivio dell'intera directory del database.
    2. Per DB2, utilizzare il comando di DB2 per generare un file di archivio del database con le informazioni di data e ora nella directory di destinazione specificata.
  3. Eseguire una copia di backup dell'indice di testo completo. La posizione dell'indice di testo completo viene specificato nella proprietà com.ibm.team.fulltext.indexLocation del file teamserver.properties.
  4. Eseguire repotools per esportare i dati nel repository. Gli script, repotools.sh per Linux e repotools.bat per Windows, si trovano nella directory [installDir]/jazz/server.

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

    Nota: Le informazioni di log e i messaggi di errore ed un file di log sono visualizzati sulla console. Il file di log contiene le informazioni di debug relative al numero di voci esportate, all'ora in cui esportare le voci, gli errori e altre informazioni utili. Il file di log viene creato per impostazione predefinita nella stessa directory come lo script repotools. È possibile modificare la posizione del file di log utilizzando il parametro logFile.
    Sono stati ora esportati i contenuti del repository in un file TAR.
  5. Copiare il file teamserver.properties da [installDir]/jazz/server della versione X a [installDir]/jazz/server della versione Y.
  6. Dalla versione Y, eseguire repotools per importare i dati dal file TAR nel repository.
    Esempio: repotools -import fromFile=./file_name.tar
    Importante: Se il database non è Derby, è necessario creare un nuovo database prima di eseguire lo strumento di importazione.
    Nota: L'opzione -import registra le informazioni sulle voci importate e ignorate, e gli errori durante l'importazione.
Operazioni successive
È ora possibile avviare Jazz Team Server della versione Y.

Feedback