归档转换常见问题及解答

以下是关于归档转换的一些常见问题的答案。

Rational Synergy 7.2 及更高版本中归档转换过程的简短描述是什么?

  1. 运行 ccm fs_check 命令并纠正报告的所有错误。
  2. 使用“Web Administrator 用户”界面来启动和停止归档转换以及报告归档转换的进度。
  3. 在转换后运行 ccm clean_cache 命令以清除高速缓存。
  4. 重新运行 ccm fs_check 命令并纠正报告的所有错误。
  5. 从“Web Administrator 用户”界面中除去数据库。

如果我在 Rational Synergy 7.1 中执行了归档转换,那么是否需要在 Rational Synergy 7.1.0.1 中执行归档转换?

是。Rational® Synergy 7.1.0.1 包含已更新的归档属性。因此,将 Rational Synergy 7.1 数据库升级至 Rational Synergy 7.1.0.1 时,必须执行归档转换。

如果我已在 Rational Synergy 6.5 中打包数据库,那么是否需要在 Rational Synergy 7.2 中执行归档转换?

不支持将数据库从 Rational Synergy 6.5 升级至 Rational Synergy 7.2。归档转换的典型路径是从 Rational Synergy 7.1 到 Rational Synergy 7.1.0.1 再到 Rational Synergy 7.2。您可以在 Rational Synergy 7.2 中执行 Rational Synergy 7.1 数据库的直接归档转换。

进行归档转换时,是否运行 fs_check 命令清除高速缓存?

ccm fs_check 命令负责检查数据库的元数据、高速缓存和归档部分是否一致。

在 R7.1 及更高版本中,ccm fs_check 命令用于对现有归档和静态版本化对象执行额外检查。
  • 如果最近检入的版本化对象没有归档,那么归档程序尚未处理对象。这是正常行为,不是错误。
  • 如果在没有归档的情况下在比用户指定时间更长的时间内检入对象,那么可能出现错误,因为归档程序可能未在运行。您将接收到警告消息。
  • ccm fs_check 命令包含新的 /c|/cutoff cutoff time 选项。在截止时间之前检入但未归档的任何对象版本都会产生警告。缺省截止时间为两天 /2:0:0:0。对于尚未归档但在前天之前检入的任何文件,您会收到一条警告。
  • 检查归档后,对未使用归档文件进程的检查比在 R7.0 及更早版本中执行此操作使用的内存要少。
启动归档转换之前,运行 ccm fs_check 命令。然后,在继续归档转换之前纠正所有错误或警告。要纠正任何问题,请运行 ccm archive_fix 命令。以下是您运行 ccm fs_check 命令时显示的一条警告消息的示例:
-------------- 
SERIOUS: Extracted archive and cache files differ for
four_part_name_of_object
Cache file path: path_to_cache_file
Cache file size: size
Extracted file path: Extracted_file_path
Extracted file size: size
Archive path: path_to_Archive_file
Archive version: archived_object_version
Source modify time:  modify_time_of_source
---------------

在该示例中,归档和高速缓存源都不正确。或者归档的版本正确而高速缓存文件损坏,反之亦然。

如果源在 Rational Synergy 中看起来正确,那么高速缓存文件包含正确的数据,但归档已损坏。

比较文件以确定哪个正确。此类型损坏需要手动解决。

示例:
  • 在 Rational 7.1 和 7.1.0.1 中运行 ccm archive_fix 命令:
    -----------------------
    
    ccm archive_fix /i input.txt /l output.out
    
    ------------------------
    
    NOTE: Input.txt has details of all the file or objects which need to be fixed. Objects specified should be in four-part name.
  • 在 Rational 7.2 中运行 ccm archive_fix 命令:
    ------------------------
    ccm archive_fix /ort four_part_name_of_object 
    ------------------------

纠正错误后,转换归档数据

Rational Synergy 管理员如何通过命令行检查归档转换的状态和进度?

在命令行上,运行以下命令以显示归档转换状态:

ccm info /f "Level=%level, total=%total, unconverted=%unconverted, errors=%bad" archive_conversion-1:admin:base

管理对象的相关级别属性将显示最后完成的归档转换级别,其中:
  • 0 或不存在:数据库包含 GNU/BSD 归档
  • 1:数据库包含 7.1 归档,但不包含 GNU 和 BSD 归档
  • 2:归档处于版本 2,采用增量压缩

归档转换完成后,数据库为什么显示在“Web Administrator 用户”界面中的“归档转换”选项卡上?

将在 database_path\st_root\archive\ccm_delta 目录中创建所有新归档文件。 归档转换完成时,只有 ccm_delta 子目录应位于 database_path\st_root\archive 中。 在转换后运行 ccm fs_check 命令以检测所有错误。

如果存在其他子目录,请手动将其除去并重新运行 ccm fs_check 命令。该命令不能检测任何错误。

例如,以下是与 ccm fs_check 检测的未使用归档条目相关的警告:
INFO: unused archive entry
Archive file path: database_path\st_root\archive\source\project\ccm_rcs\1\36\editor,v
Revision number: 1.1

您可以从“Web Administrator 用户”界面重新启动转换过程。请参阅转换归档数据

如果我已在 Rational Synergy 7.2、Rational Synergy 7.2.1 或 Rational Synergy 7.1.0.1 中解包新数据库,那么是否执行归档转换?

否,解包数据库在这些版本 Rational Synergy 中包含最新归档。

我可以加速归档转换过程吗?

CCM_HOME\etc\ccm.server.properties 文件中,编辑以下行以减小 asynchronous.archive.query.pollasynchronous.archive.startup.delay 变量的值。

# asynchronous.archive.query.poll is the number of seconds
# to wait before performing a query for objects which
# require archiving
#asynchronous.archive.query.poll = 300

# asynchronous.archive.startup.delay is the number of seconds
# to wait before the first query for objects which require
# archiving. If not set, the value of asynchronous.archive.query.poll
# is used.
#asynchronous.archive.startup.delay = 300

有两个进程:转换程序(实际上是取消归档程序)和归档程序。转换程序将花费大多数时间等待归档程序赶上。您可以减少查询轮询的时间,以使归档程序在启动另一个归档批处理之前不会等待 5 分钟。将值设置为 60 秒。对启动延迟进行相同的更改。这样,转换程序将花费较少的时间等待归档程序赶上。完成转换后,将延迟值恢复为 300。


反馈