验证、修复、升级和恢复项目

要在当前版本中使用在以前的版本中创建的项目,必须升级项目,使其与当前版本的所需配置一致。

在升级之前,验证并修复项目,以在数据库用户架构和数据中检测和更正错误。

在本主题中︰

概述

在验证、修复和升级项目之前,请了解以下内容。

备份项目

在运行修复或升级过程时,系统将对项目执行更改,使其与当前版本的规范相一致。您必须在修复或更新项目之前备份项目。

修复过程仅对项目数据库架构做出变更。在运行修复过程之前,应该备份数据库服务器上的项目数据库架构,但是无需备份文件系统中的项目数据。

在运行升级过程之前,对项目执行完整的备份,包括项目数据库架构和项目数据。

定义例外项文件

如果您已更改架构(如添加表或列),则升级过程可能会失败。可以针对手动添加到数据库用户架构且未在架构配置文件中定义的对象定义异常文件。这将指示系统在升级过程中忽略这些更改。

运行验证、修复或升级过程时,必须使用相同的例外项文件。

可以在“站点管理”中设置单个项目或所有项目的异常文件。

验证过程

您可以运行验证过程以检查数据库用户架构和数据的正确性。尽管数据库用户架构和数据可能对于以前的版本而言是正确的,但它们可能与当前版本的规范不一致。

验证过程在环境、设置、架构结构和数据完整性中检测可能导致升级故障的问题。它生成的验证日志将通知您可由系统修复的问题以及应该手动修复的问题。

修复过程

修复过程修正由验证过程发现的大多数数据和架构问题。

如果验证过程检测到可导致数据丢失的问题,修复过程不会自动修正。需要手动修复这些问题。要查找某个特定问题是自动还是手动处理的,请参考验证日志。

修复/升级模式 默认情况下,修复和升级过程以非静默模式运行。以非静默模式运行过程发生错误时,系统可能会提示您输入信息。可以改为选择以静默模式运行过程。以静默模式运行过程时,系统会中止过程,而不提示输入。
使用之前版本中已验证、修复或升级的项目

项目经验证或修复后,仍然可以通过以前的版本使用它。

项目经升级之后,就无法再通过以前的版本使用。

返回页首

项目升级路径

下表介绍了您可以将项目从以前版本直接升级到的最新版本。

从版本 支持直接升级的最新版本
11.0 12.2
11.5x 12.5
12.0 15.0
12.2 15.5
12.5x 16.0.x
12.6x 17.0.x
15.5.x 25.1
16.x.x 25.1
17.x.x 25.1
24.1.x 25.1

返回页首

备份项目

项目的完整备份包括备份项目数据库架构和项目数据。

修复过程仅对项目数据库架构做出变更。在运行修复过程之前,应备份数据库服务器上的项目数据库架构。无需备份文件系统中的项目数据。

在运行升级过程之前,对项目执行完整的备份,包括项目数据库架构和项目数据。

备份数据库服务器上的项目数据库架构:

Microsoft SQL 数据库有关备份 Microsoft SQL 数据库上架构的信息,请参阅如何备份和恢复 MS SQL 数据库
Oracle 数据库有关备份 Oracle 数据库上架构的信息,请参阅如何将 Oracle 数据库导出和导入到转储文件

备份文件系统中的项目数据:

在文件系统中,确保所有数据 (包括自动化测试脚本和结果) 和附件均保存在安装时定义的存储库下的项目目录中。为包含所有子目录和文件的此项目目录保存一个副本。

返回页首

定义例外项文件

可以使用例外项文件忽略额外表、视图、列和序列的警告。可以设置单个项目或所有项目的例外项文件。

运行验证、修复或升级过程时,必须使用相同的异常文件。

Example: 如果您已更改项目数据库用户架构(如添加表或列),则验证、修复或升级过程可能会失败。可以针对手动添加到数据库用户架构且未在架构配置文件中定义的对象定义异常文件。这会指示系统忽略这些更改。

要定义例外项文件,请执行以下操作:

  1. 从安装目录复制 SchemaExceptions.xml 文件。默认情况下,此文件位于 <安装路径>\data\sa\DomsInfo\MaintenanceData

  2. 创建异常文件(例如 my_exceptions.xml)并如下所示定义异常:

    • 对于额外表:

      Copy code
      <TableMissing>
               <object pattern="MY_Table" type="extra"/> 
      </TableMissing>
    • 对于额外视图:

      Copy code
      <ViewMissing>
               <object pattern="MY_VIEW" type="extra"/> 
      </ViewMissing>
    • 对于额外列:

      Copy code
      <ColumnMissing>
               <object pattern="MY_COLUMN" type="extra"/> 
      </ColumnMissing>
    • 对于额外序列:

      Copy code
      <SequenceMissing>
               <object pattern="MY_SEQUENCE" type="extra"/> 
      </SequenceMissing>
  3. 要设置单个项目的例外项文件,请执行以下操作:

    1. 打开“站点管理”>“项目”选项卡。

    2. 从项目列表中选择一个项目。

    3. 在“详细信息”选项卡中的“项目数据库”部分的“例外项文件”字段中,输入例外项文件的位置。

  4. 要设置所有项目的例外项文件,请添加 UPGRADE_EXCEPTION_FILE 参数并定义例外项文件位置。

    有关配置站点参数的详细信息,请参阅设置配置参数

返回页首

验证项目

您可以在单个项目级别运行验证过程,也可以在域级别运行此过程以验证域中的多个或所有项目。

权限:

要验证项目,您应该是站点管理员。

验证过程:

  • 检查项目中的数据库用户架构和数据的正确性。

  • 在环境、设置、架构结构和数据完整性中检测可能导致升级失败的问题。

  • 生成验证报告,提醒您注意可由 OpenText Application Quality Management 修复的问题以及应该手动修复的问题。

要验证单个项目,请执行以下操作:

  1. 打开“站点管理”>“项目”选项卡。

  2. 从项目列表中选择目标项目,然后单击“维护项目”>“验证项目”

  3. 单击“验证项目”以启动验证过程。

    如果项目仍处于活动状态,将提示您先停用它。

    运行过程时如果出错,将打开消息框。相应地单击“中止”或“重试”按钮。

    要中止验证过程,请单击“中止”并在确认对话框中单击“是”

    要暂停验证过程,请单击“暂停”。要继续,请单击“继续”

  4. 等到验证过程完成。

    验证过程完成后,验证日志将保存在以下目录中:

    <存储库路径>\sa\DomsInfo\MaintenanceData\out\<域名>\<项目名称>。

    要将验证日志导出到文本文件,请单击“导出日志”

    要清除验证日志,请单击“清除日志”

  5. 分析验证日志。日志指示可以由系统修复的问题和需要手动修复的问题。

要验证域中的多个或所有项目,请执行以下操作:

  1. 打开“站点管理”>“项目”选项卡。

  2. 从项目列表中选择目标域,然后单击“维护域”>“验证域”

  3. 选择目标项目或单击“项目名称”列中的复选框以选择所有项目。

  4. 单击“验证项目”

    如果任何选定的项目仍处于活动状态,将提示您先停用它们。

    运行过程时如果出错,将打开消息框。相应地单击“中止”或“重试”按钮。

    要中止验证过程,请单击“中止”并在确认对话框中单击“是”

    要暂停验证过程,请单击“暂停”。要继续,请单击“继续”

  5. 等到验证过程完成。

    验证过程完成后,验证日志将保存在以下目录中:

    <存储库路径>\sa\DomsInfo\MaintenanceData\out\<域名>\<项目名称>。

    要将验证日志导出到文本文件,请单击“导出日志”

    要清除验证日志,请单击“清除日志”

  6. 分析验证日志。日志指示可以由系统修复的问题和需要手动修复的问题。

返回页首

修复项目

您可以在单个项目级别运行修复过程,也可以在域级别运行此过程以修复域中的多个或所有项目。

修复概述

修复过程修正由验证过程发现的大多数数据和架构问题。如果验证过程发现可导致数据丢失的问题,修复过程不会自动修正。需要手动修复这些问题。

要查找某个特定问题是自动还是手动处理的,请参考验证报告。

默认情况下,修复过程在非静默模式下运行。在非静默模式下运行过程发生错误时,系统可能提示您输入。可以改为选择在静默模式下运行过程。错误发生时,将中止过程,而不提示输入。

先决条件:

  • 备份项目。

  • 修复系统无法修复的问题,如验证日志中所示。请参阅验证项目

  • 要修复项目,您应该是站点管理员。

要修复单个项目,请执行以下操作:

  1. 打开“站点管理”>“项目”选项卡。

  2. 从项目列表中选择目标项目,然后单击“维护项目”>“修复项目”

  3. 要运行修复过程而没有任何用户干预,请选择以静默模式运行

  4. 要启动修复过程,请单击“修复项目”

    如果项目仍处于活动状态,将提示您先停用它。

    运行过程时如果出错,将打开消息框。相应地单击“中止”或“重试”按钮。

    要中止修复过程,请单击“中止”并在确认对话框中单击“是”

    要暂停修复过程,请单击“暂停”。要继续,请单击“继续”

  5. 等到修复过程完成。

    要将修复日志导出到文本文件,请单击“导出日志”

    要清除修复日志,请单击“清除日志”

要修复域中的多个或所有项目,请执行以下操作:

  1. 打开“站点管理”>“项目”选项卡。

  2. 从项目列表中选择目标域,然后单击“维护域”>“修复域”

  3. 配置修复设置。

    修复模式

    选择以下选项:

    • 以静默模式运行。无任何用户交互的情况下运行过程。

    • 失败时继续下一个项目。如果修复过程失败,则继续下一个项目。这是默认选项。

    修复后

    选择以下选项之一:

    • 使所有项目保持停用状态。在修复过程完成后保留所有项目停用。

    • 仅激活当前活动的项目。在修复过程完成后,重新激活先前激活的项目。这是默认选项。

    • 激活所有项目。在修复过程完成后,激活所有项目。

  4. 选择目标项目或单击“项目名称”列中的复选框以选择所有项目。

  5. 单击“修复项目”

    如果任何选定的项目仍处于活动状态,将提示您先停用它们。

    运行过程时如果出错,将打开消息框。相应地单击“中止”或“重试”按钮。

    要中止修复过程,请单击“中止”并在确认对话框中单击“是”

    要暂停修复过程,请单击“暂停”。要继续,请单击“继续”

  6. 等到修复过程完成。

    要将修复日志导出到文本文件,请单击“导出日志”

    要清除修复日志,请单击“清除日志”

返回页首

恢复备份的项目

如果修复或升级过程失败,则在再次尝试过程之前,必须恢复备份的项目。恢复的项目只能在备份它的版本中使用。

要从 Microsoft SQL 数据库服务器恢复项目,请执行以下操作:

  1. 从 SQL Server Enterprise Manager,导航到数据库,并选择“工具”>“恢复数据库”

  2. 导航到备份文件,并遵循恢复过程以完成数据恢复过程。

  3. 要在新数据库服务器上调整 td 用户,请在每个存储架构 (站点管理、lab_project 和每个项目架构) 上运行以下 SQL 命令:

    Copy code
    EXEC sp_change_users_login 'Report'
    EXEC sp_change_users_login 'Update_One', 'td', 'td'
    EXEC sp_changedbowner 'td_admin'

    Note: td_admin 是具有相应所需数据库特权的数据库管理用户。

  4. 在“站点管理”中,恢复对项目的访问。如果要从不同目录恢复项目,或已重命名架构,必须相应地更新 dbid.xml 文件。有关详细信息,请参见恢复对项目的访问

  5. 如果执行备份时项目仍处于活动状态,请重新调整项目存储库。有关详细信息,请参见重新调整存储库

要从 Oracle 数据库服务器恢复项目,请执行以下操作:

  1. 将备份文件复制到 Oracle 服务器计算机。

  2. 使用 SQL*Plus 实用工具,用 system 帐户登录到 Oracle 服务器。

  3. 为项目创建用户。导出项目时,确保使用与项目名称(或 Oracle 用户名)相同的名称创建它。

    使用以下 SQL 语句:

    Copy code
    CREATE USER [<项目名称>] IDENTIFIED BY tdtdtd DEFAULT TABLESPACE TD_data TEMPORARY TABLESPACE TD_TEMP;

    GRANT CONNECT,RESOURCE TO [<项目名称>];
  4. 在安装 DVD 上,找到 \Utilities\Databases\Scripts 目录。打开 qc_project_db___oracle.sql 文件,并遵循指示。

  5. 使用命令行,输入 imp,以运行导入实用工具。

  6. 遵循提示,并使用 system 帐户登录到 Oracle 服务器。确保导入所有转储文件。

    在所有表已成功导入之后,显示确认消息。

  7. 在“站点管理”中,恢复对项目的访问。如果要从不同目录恢复项目,或已重命名架构,必须相应地更新 dbid.xml 文件。有关详细信息,请参见恢复对项目的访问

  8. 如果执行备份时项目仍处于活动状态,请重新调整项目存储库。有关详细信息,请参见重新调整存储库

要从文件系统恢复存储库:

  1. 将备份的存储库复制到存储库。

  2. 在“站点管理”中,恢复对项目的访问。如果要从不同目录恢复项目,或已重命名架构,必须相应地更新 dbid.xml 文件。有关详细信息,请参见恢复对项目的访问

  3. 如果执行备份时项目仍处于活动状态,请重新调整项目存储库。有关详细信息,请参见重新调整存储库

返回页首

升级项目

从项目列表中获取早期版本的项目后,您可以继续将其升级到当前版本。

您可以在单个项目级别运行升级过程,也可以在域级别运行此过程以升级域中的多个或所有项目。

升级概述

默认情况下,升级过程在非静默模式下运行。在非静默模式下运行过程发生错误时,系统可能提示您输入。可以改为选择在静默模式下运行过程。以静默模式运行过程时,系统会中止过程,而不提示输入。

项目经升级之后,就无法再通过以前的版本使用项目。

在升级之前,请确保以下事项:

  • 在升级期间,项目目录必须可访问。例如,如果项目目录位于文件服务器上,确保服务器正在运行并可以访问。

  • 升级过程中,不能运行数据库维护作业。运行数据库维护作业可能导致升级失败并损坏项目。

  • 如果要为项目启用扩展,则必须在新服务器上验证这些扩展的可用性,然后再进行升级。如果任一扩展在新服务器上不可用,升级将失败。

  • 在升级模板项目的任何链接项目之前,必须先升级模板项目。如果模板项目和其链接的项目位于不同数据库中,请确保在升级任何链接的项目时可以访问模板项目的数据库。

  • 版本控制: 存在签出实体时,启用了版本控制的项目无法升级。必须在相应的版本中签入所有实体。

权限:

要升级项目,您应该是站点管理员。

要升级单个项目,请执行以下操作:

  1. 打开“站点管理”>“项目”选项卡。

  2. 从项目列表中选择目标项目,然后单击“维护项目”>“升级项目”

  3. 要运行升级过程而没有任何用户干预,请选择“以静默模式运行”

  4. 要启动升级过程,请单击“升级项目”

    如果项目仍处于活动状态,将提示您先停用它。

    运行过程时如果出错,将打开消息框。相应地单击“中止”或“重试”按钮。

    要中止升级过程,请单击“中止”并在确认对话框中单击“是”

    要暂停升级过程,请单击“暂停”。要继续,请单击“继续”

  5. 等到升级过程完成。

    要将修复日志导出到文本文件,请单击“导出日志”

    要清除修复日志,请单击“清除日志”

要升级域中的多个或所有项目,请执行以下操作:

  1. 打开“站点管理”>“项目”选项卡。

  2. 从项目列表中选择目标域,然后单击“维护域”>“升级域”

  3. 配置升级设置。

    修复模式

    选择以下选项:

    • 以静默模式运行。无任何用户交互的情况下运行过程。

    • 失败时继续下一个项目。如果修复过程失败,则继续下一个项目。这是默认选项。

    修复后

    选择以下选项之一:

    • 使所有项目保持停用状态。在升级过程完成后保留所有项目停用。

    • 仅激活当前活动的项目。在升级过程完成后,重新激活先前激活的项目。这是默认选项。

    • 激活所有项目。在升级过程完成后,激活所有项目。

  4. 选择目标项目或单击“项目名称”列中的复选框以选择所有项目。

  5. 单击“升级项目”

    如果任何选定的项目仍处于活动状态,将提示您先停用它们。

    运行过程时如果出错,将打开消息框。相应地单击“中止”或“重试”按钮。

    要中止升级过程,请单击“中止”并在确认对话框中单击“是”

    要暂停升级过程,请单击“暂停”。要继续,请单击“继续”

  6. 等到升级过程完成。

    要将升级日志导出到文本文件,请单击“导出日志”

    要清除升级日志,请单击“清除日志”

返回页首

另请参阅: