升级 Jazz Team Server 后迁移 Jazz 存储库

存储库迁移是将数据库内容从一种格式转换为另一种格式的过程。将 Jazz™ Team Server 从版本 X 升级到版本 Y 时(其中版本 Y 发生模式更改),那么需要进行存储库迁移。
开始之前
如果在两个 Jazz Team Server 版本之间有任何的模式更改,那么您必须执行数据迁移。 您必须已同时解压 X 版本和 Y 版本的 Jazz Team Server 的压缩文件。
关于此任务
数据迁移的过程通常为两个步骤:

存储库迁移图

可使用 repotools 应用程序进行导出和导入操作。
注: 在迁移存储库时,必须停止 Jazz Team Server。根据机器的配置、操作系统、数据库等等,迁移可能花费很长时间。因此,请相应调度中断。

迁移全文目录

Jazz Team Server 管理数据库外的目录,该目录存储用于处理全文查询所需的所有数据。该目录的位置在 com.ibm.team.fulltext.indexLocation 属性下的 teamserver.properties 文件中配置。 在迁移数据库并希望使用先前用于索引的目录时,您必须确保 -rebuildTextIndices 存储库工具中使用的位置与服务器使用的位置相匹配。在启动服务器或运行 -rebuildTextIndices 命令时,全文目录位置的绝对路径会打印在日志文件中。 您可以检查服务器日志文件和 repotools_rebuildTextIndicies 日志文件以比较两个目录。
提示: 如果 teamserver.properties 文件中配置的目录是相对路径,将在日志文件中打印警告。建议将该属性配置为绝对目录路径。
有关创建全文索引的更多信息,请参阅-rebuildTextIndices

Jazz Team Server 迁移是一个非常密集的过程,根据正在迁移的数据大小,可能要花费大量时间。以下是一份注意事项核对表,用于避免常见错误。

操作系统
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"
      这将输出以下格式的缓冲池标识:
      BUFFERPOOLID BPNAME
      ------------ ----------------------------------
                 1 IBMDEFAULTBP
      
        1 record(s) selected.
    3. 在以上示例中,缓冲池标识为 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

反馈