Jazz Team Server アップグレード後の Jazz リポジトリーのマイグレーション

リポジトリーのマイグレーションは、データベースの内容をあるフォーマットから別のフォーマットに変換するプロセスです。 Jazz™ Team Server を、バージョン X からバージョン Y へアップグレードするときに、バージョン Y にスキーマ変更が含まれる場合は、リポジトリーのマイグレーションを行う必要があります。
始める前に
2 つの 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 ファイルは、最も高速のドライブ (理想的には、ストライプ/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 つのファイルのみを範囲とすることを確認します。

マイグレーションを開始するには、以下の手順に従います。

  1. バージョン X の Jazz Team Server を停止します。 Jazz Team Server を停止するには、Linux の場合は server.shutdown.sh、Windows の場合は server.shutdown.bat を実行します。これらは、[installDir]/jazz/server にパッケージされています。
  2. Jazz リポジトリーのバックアップを作成します。バックアップを作成するのは、マイグレーションがうまくいかなかった場合に備えるための防止策です。
    1. Derby の場合、データベース・ディレクトリー全体のアーカイブ・コピーを作成します。
    2. DB2 の場合、DB2 バックアップ・コマンドを使用して、日時情報を含むデータベース・アーカイブ・ファイルを、指定したターゲット・ディレクトリー内に生成します。
  3. フルテキスト索引のバックアップを作成します。フルテキスト索引の場所は、 teamserver.properties ファイルの com.ibm.team.fulltext.indexLocation プロパティーに指定されます。
  4. repotools を実行して、リポジトリーのデータをエクスポートします。 スクリプト repotools.sh (Linux 用) および repotools.bat (Windows 用) は、 [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 を始動できるようになりました。

フィードバック