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:
  • bin のリサイクルを無効にします。bin をリサイクルすると、削除されたすべての要素のトラッキングが行われ、ディスクがいっぱいになり、実際に問題を生じる場合があります。 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 を始動できるようになりました。

フィードバック

この情報は参考になりましたか。Jazz.net でフィードバックをお送り頂けます (登録が必要です): フォーラムにコメントを記入したり、バグを送信したりすることができます。