为 Rational Engineering Lifecycle Manager 设置 SQL Server 数据库

设置 SQL Server 数据库以与 Jazz™ Team ServerRational® Engineering Lifecycle Manager 和“配置管理”应用程序一起运行。

开始之前

此过程需要 SQL Server 满足下列先决条件:

注: 如果您正在使用除英语外的其他语言的 SQL Server,那么必须先将语言更改为英语,才能创建数据仓库:
  1. 在 SQL Server Management Studio 中,右键单击与数据库服务器的连接。
  2. 从弹出窗口中,选择属性
  3. 在“服务器属性”窗口中,选择高级,然后将缺省语言条目设置为英语
  4. 保存您所做的更改。

过程

  1. Jazz Team ServerRational Engineering Lifecycle Manager 和“配置管理”应用程序的每个实例创建一个数据库。为与 Jazz Team Server 关联的数据仓库创建一个数据库。 例如,如果具有一个 Rational Engineering Lifecycle Manager、一个“配置管理”应用程序、一个 Jazz Team Server 和一个数据仓库,那么您将需要创建四个数据库。使用以下示例创建 Jazz Team Server 数据库。 要创建 Rational Engineering Lifecycle Manager 和“配置管理”应用程序数据库,请将 jts 替换为您的数据库名称,例如 relmvvc
    CREATE DATABASE jts
    GO 
  2. 为每个数据库创建用户和密码,并更改每个数据库的所有权。
    运行以下命令:
    CREATE LOGIN jtsDBuser
    WITH PASSWORD = 'jtsDBpswd';
    USE jts;
    exec sp_changedbowner 'jtsDBuser'
    GO 
  3. 更改 Jazz Team ServerRational Engineering Lifecycle Manager 和“配置管理”应用程序数据库的整理。 从命令行工具中,针对 Jazz Team Server 运行此命令。针对 Rational Engineering Lifecycle Manager 和“配置管理”应用程序数据库,请将 jts 替换为 relmvvc
    ALTER DATABASE jts COLLATE SQL_Latin1_General_CP437_CS_AS 
    GO
  4. 更改 Jazz Team ServerRational Engineering Lifecycle Manager 和“配置管理”应用程序数据库的行版本系统。 从命令行工具中,针对 Jazz Team Server 运行此命令。针对 Rational Engineering Lifecycle Manager 和“配置管理”应用程序数据库,请将 jts 替换为 relmvvc
    注: 在运行此命令之前,请先确保与数据库的连接处于开启状态。
    ALTER DATABASE jts SET READ_COMMITTED_SNAPSHOT ON
    GO
  5. 更改数据仓库数据库的整理顺序。 从命令行输入:
    ALTER DATABASE dw COLLATE SQL_Latin1_General_CP1_CS_AS
    GO
  6. 创建一个名为 SQLSERVER_JDBC_DRIVER_FILE 的环境变量,并使其指向 sqljdbc4.jar JDBC 驱动程序。 此驱动程序所在的位置视安装而定。
    Windows
    1. 单击开始 > 控制面板 > 系统
    2. 单击高级选项卡,然后单击环境变量
    3. 系统变量列表中,单击新建
    4. 变量名称中输入 SQLSERVER_JDBC_DRIVER_FILE,在变量值中输入 C:\Path_to_JDBC_driver\sqljdbc4.jar
    Linux 在 UNIX 系统上,添加下列环境变量声明:
    SQLSERVER_JDBC_DRIVER_FILE =.:Path_to_JDBC_driver/sqljdbc4.jar
    注: Rational Engineering Lifecycle Manager 不支持 JRE 5.0。受支持的 JRE 版本为 6.0 和 7.0。

    如果您正在使用 WebSphere® Application Server,那么您还必须添加指向 JDBC 驱动程序 sqljdbc4.jar 的定制属性。有关更多信息,请参阅为 Rational Engineering Lifecycle Manager 设置 WebSphere Application Server

  7. 要配置数据库连接并创建数据库表,请完成下列其中一个步骤:
    1. 如果您正使用 Tomcat 或如果正部署 WebSphere Application Server,那么启动服务器,并继续为 Rational Engineering Lifecycle Manager 应用程序运行 Jazz Team Server 设置向导
    2. 如果您偏好手动修改数据库连接的 teamserver.properties 文件,请运行 repotools 命令以创建数据库表。有关更多信息,请阅读有关手动配置 SQL Server 数据库的内容。
    3. 如果您正在从先前版本进行升级,请接着运行相应的升级脚本,这些脚本将迁移现有的数据库连接。有关更多信息,请阅读关于如何升级 Rational Engineering Lifecycle Manager 的内容。

手动配置 SQL Server 数据库

建议您通过运行设置向导来配置数据库连接和创建数据库表。如果您偏好手动执行此过程,请编辑 teamserver.properties 文件以建立 SQL Server 数据库连接,并运行 -createTables命令来创建数据库表。

过程

  1. 对于每一个应用程序,打开并修改不同的 teamserver.properties。 这些文件位于 <JazzInstallDir>/server/conf 目录中它们自己的目录(jtsrelmvvc)内。 打开每个 teamserver.properties 文件,并指定数据库和连接详细信息。
    1. 在“Derby 配置”下面,通过在每行前面添加编号符 (#) 来注释掉下列各行。该示例适用于 JTS teamserver.properties 文件:
      # com.ibm.team.repository.db.vendor = DERBY
      # com.ibm.team.repository.db.jdbc.location=conf/jts/derby/repositoryDB
    2. 在“SQL Server 配置”下面,通过除去每行前面的编号符 (#) 来取消注释下列各行:
      com.ibm.team.repository.db.vendor = SQLSERVER
      com.ibm.team.repository.db.jdbc.location=//localhost:1433;databaseName=jazz;user=jazzDBuser;password={password}
      com.ibm.team.repository.db.jdbc.password=jazzDBpswd
    3. 编辑 com.ibm.team.repository.db.jdbc.locationcom.ibm.team.datawarehouse.db.jdbc.location 属性中的下列值:
      • //localhost:1433:输入数据库服务器的标准主机名。
        注: 您必须使用 SQL Server Configuration 工具将静态端口手动设置为 1433。
      • jazz:输入数据库名称。
      • jazzDBuser:输入用户名。
      注: 请勿更改 com.ibm.team.repository.db.jdbc.locationcom.ibm.team.datawarehouse.db.jdbc.location 属性中的 password={password} 文本。
    4. com.ibm.team.repository.db.jdbc.passwordcom.ibm.team.datawarehouse.db.jdbc.password 属性中指定用户密码。
    5. com.ibm.team.fulltext.indexLocation=conf/jts/indices/workitemindex 行的值更改为全文本索引的完整路径位置。 例如,输入 com.ibm.team.fulltext.indexLocation=c:/Progra~1/IBM/JazzTeamServer/server/conf/jts/indices/workitemindex
    6. com.ibm.team.jfs.index.root.directory=indices 行的值更改为 Jazz Foundation Service 索引根目录的完整路径位置。 例如,输入 com.ibm.team.jfs.index.root.directory=c:/Progra~1/IBM/JazzTeamServer/server/conf/jts/indices
  2. 创建每一个数据库之后,您必须运行 repotools 命令来创建数据库表。
    要点: 只有当这是新安装时,才运行 createTables 命令。
    注: 当您运行 repotools 命令时,将更新 teamserver.properties 文件,并且具有原始内容的原始文件将保存在同一目录中。您可能会看到一条警告,指出尚未设置“公用 URI”。现在,您可以忽略此警告,因为“公用 URI”将在为 Rational Engineering Lifecycle Manager 应用程序运行 Jazz Team Server 设置向导时进行设置。
    1. 要为 Jazz Team Server 创建数据库表,请转至 JazzInstallDir/server 目录并运行此命令:
      repotools-jts -createTables 
    2. 要为 Rational Engineering Lifecycle Manager 应用程序创建数据库表,请转至 RELMInstallDir/server 目录并运行此命令:
      repotools-relm -createTables
    3. 要为“配置管理”应用程序创建数据库表,请转至 VVCInstallDir/server 目录并运行此命令:
      repotools-vvc -createTables 

故障诊断

过程

  • 如果 repotools 命令不工作,请检查 JazzInstallDir/server 目录中的相应日志文件。
  • 请验证这些条件是正确的:
    • 是否已将 SQL Server 配置为允许使用 TCP/IP 协议来建立连接。如果需要,请重新启动 SQL 服务。
    • SQL Server 计算机的主机名和端口是否正确反映在 teamserver.properties 文件中。
    • 登录名、密码和数据库名称是否正确反映在 teamserver.properties 文件中。
    • 防火墙未阻止您访问 SQL Server。使用 Telnet 命令来连接至服务器。从 teamserver.properties 文件中输入主机名和端口。
    • 创建的用户在 Jazz Team Server 数据库中是否具有正确的许可权。
    • 已针对环境正确配置了 JDBC 驱动程序环境变量。
    注: Jazz Team Server 可在多个数据库平台上运行;但是,企业数据库之间的语法、优化策略及锁定语义存在差异。 通过使用自动化测试和正常工作负载与压力测试模拟的组合,已在 SQL Server 上对服务器进行了测试。正常工作负载模拟已表明性能可接受。在部分实例中,数据库死锁发生在自动并行测试中;但是,这些错误在不同的服务器硬件上无法一致地重现。

    服务器旨在处理大量同步请求。在异常情况下,由于将在请求的相关事务中并发更新类似或等同的对象,因此存储库数据库会发生死锁。这些错误较为罕见,但很典型。系统能够避免死锁,并且将维护数据完整性,而不会丢失任何数据。有时,构建引擎执行之类的任务会记录死锁。通常,会检测条件并再次执行任务。

    所有死锁都将记录在服务器上,以便提供有关出现死锁时发生的情况的信息。日志条目含有类似于以下条目的文本:com.ibm.team.repository.common.RetryableDatabaseException: Serialization failure

    如果系统遇到死锁,请参阅以下位置处的错误日志:https://servername:9443/jts/service/com.ibm.team.repository.common.internal.IFeedService?category=SystemLog

    如果您频繁遇到死锁,请联系产品支持人员或检查 jazz.net 上的论坛以获取最新信息、更新或缓解技术。


反馈