存储库迁移是将数据库内容从一种格式转换为另一种格式的过程。在将
Jazz™ Team Server 从版本 X 升级到版本 Y(其中,版本 Y
具有模式变更)时,有必要执行存储库迁移。
如果在两个 Jazz Team Server 版本之间存在任何模式变更,那么必须执行数据迁移。您必须已将版本 X
和版本 Y 的 Jazz Team Server 压缩文件解压缩。
通常,数据迁移过程分为两个步骤:
- 将版本 X 的 Jazz 存储库中的数据导出到 TAR 文件。
- 将 TAR 文件中的数据导入到版本 Y 的 Jazz 存储库。
您可以使用
repotools 应用程序来执行导出和导入操作。
注: 迁移存储库时,必须停止 Jazz Team Server。根据机器配置、操作系统和数据库等因素的不同,迁移操作可能要花很长时间。因此,请适当地安排运行中断时间。
Jazz Team Server
迁移是工作量非常大的过程,可能需要耗用相当长时间,这取决于正在迁移的数据的大小。以下是为了避免常见问题而需留意的事项的核对表。
DB2:
- 缺省情况下,DB2 将根据需要尝试增大缓冲池大小。除非您已禁用此功能,否则 DB2 一投入使用即具有良好的性能。
- 要检查缓冲池,请执行下列操作:
- 通过在命令提示符中输入以下命令,连接至要导入到的 Jazz 数据库:
db2 connect to <databaseName>
- 然后,运行以下命令:
db2 "select bufferpoolid, bpname from syscat.bufferpools"
这将输出缓冲池标识,格式如下:
BUFFERPOOLID BPNAME
------------ ----------------------------------
1 IBMDEFAULTBP
1 record(s) selected.
- 在以上示例中,缓冲池标识是 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
粗体输出指示数据库的已分配缓冲池大小。
要启动迁移,请执行下列操作:
- 停止版本 X 的 Jazz Team Server。 要停止 Jazz Team Server,请运行打包在 [installDir]/jazz/server
中的 server.shutdown.sh(对于 Linux)或
server.shutdown.bat(对于 Windows)。
- 创建 Jazz 存储库的备份。备份仅仅是一项预防性措施,旨在预防迁移期间发生问题。
- 对于 Derby,创建整个数据库目录的归档副本。
- 对于 DB2,使用 DB2 备份命令在指定的目标目录中生成带有日期和时间信息的数据库归档文件。
- 创建全文本索引的备份。在 teamserver.properties 文件的 com.ibm.team.fulltext.indexLocation 属性中指定全文本索引的位置。
- 运行 repotools 以导出存储库中的数据。 用于 Linux 的脚本 repotools.sh 和用于 Windows 的脚本 repotools.bat
打包在 [installDir]/jazz/server 目录中。
示例:repotools -export toFile=./file_name.tar
注: 日志信息和错误消息将显示在控制台上和日志文件中。日志文件包含关于导出项数、导出项的时间、错误以及其他有用信息的调试信息。缺省情况下,将在
repotools 脚本所在的目录中创建日志文件。您可以使用 logFile 参数来变更日志文件的位置。
现在,已将存储库内容导出至 TAR 文件。
- 将 teamserver.properties 文件从版本 X 的
[installDir]/jazz/server 复制到版本 Y 的
[installDir]/jazz/server。
- 在版本 Y 中,运行 repotools 以便将 TAR 文件中的数据导入到存储库中。
示例:
repotools -import fromFile=./file_name.tar注: -import
选项将记录关于所导入项和所跳过项的信息以及导入期间发生的错误。
现在,可以启动版本 Y 的 Jazz Team Server 了。