在升级 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 在数据库外部管理一个目录,该目录用于存储处理全文本查询所必需的所有数据。此目录的位置由 teamserver.properties 文件中的 com.ibm.team.fulltext.indexLocation 属性配置。迁移数据库时,如果您想使用先前用于索引的目录,那么必须确保 -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 了。

反馈

本资料对您是否有帮助?您可以在 Jazz.net 上提供反馈(需要注册):在论坛中发表意见或者提交错误