validatedb

根据指定的规则或规则组,验证模式存储库和用户数据库的完整性。

摘要

注: 该命令只能通过 cqdiagnostics.pl 脚本运行。 该脚本包含对应于此命令所需的全部参数的变量。编辑脚本以指定 validatedb 命令和要测试的数据库的值,然后运行该脚本。该脚本安装在 Rational® ClearQuest® 安装目录中。 缺省位置为 cquest–home–dir\diagnostic\cqdiagnostics.pl
validatedb –rulefile rule file -logfile log file [–resultsfile results file ] [ –rulenames rule names... | –rulegroups rule groups... | –allrules ] -dbinfoschemarepo db_vendor server [ :port_no ] database user_login user_password connect_options [ -dbinfouser cqdb_logicalname db_vendor server [ :port_no ] database user_login user_password connect_options ] [ –validateuserdbonly ] [–locale locale_name]

描述

validatedb 子命令用于根据一套指定的规则或规则组,验证模式存储库或用户数据库的完整性。规则文件包含可以使用的规则和规则组。每条规则表示一个用于确定被测试数据库完整性的约束。规则组是规则的集合。该工具验证数据库的以下方面:
  • 模式存储库的结构(表、列或索引)。
  • 数据的完整性。该命令验证输入到数据库中的所有数据是否使用该模式存储库的 Rational ClearQuest 数据代码页。
  • 用户数据库的结构(表、列或索引)。

规则严重性

validatedb 命令根据以下严重性级别报告规则违例情况:
  • [Severity = FATAL_ERROR] 工具遇到一个违例情况,由于该违例可能导致大多数后续规则失败,导致该工具无法继续测试。控制台会显示该严重性级别和违例,并会停止所有后续测试,直至错误得到解决。如果指定的话,该结果还会记录到日志文件和结果文件中。
  • [Severity = ERROR] 工具遇到一个违例情况,但该违例不会导致此工具停止测试。控制台会显示该严重性级别和违例,并继续测试。如果指定的话,该结果还会记录到日志文件和结果文件中。
  • [Severity = WARNING] 工具遇到潜在的违例情况。控制台会显示该严重性级别和违例,并继续测试。如果指定的话,该结果还会记录到日志文件和结果文件中。
  • [Severity = RECOMMENDATION] 工具会针对违例情况或潜在的违例情况提供建议,并继续测试。如果指定的话,该结果还会记录到日志文件和结果文件中。
  • [Severity = INFORMATIONAL] 控制台会显示由规则定义指定的信息。根据规则的定义,这些违例情况需要人工干涉。测试会继续进行,如果指定的话,结果会记录到日志文件和结果文件中。

validatedb 的输出

该实用程序提供以下信息:
  • 输入参数的摘要。
    • 到规则文件的路径。
    • 到结果文件的路径(如果指定)。
    • 到日志文件的路径。
    • 提供的数据库信息的摘要。
  • 每条规则的执行进度和结果状态。
    • 执行状态。执行状态指出当前正在执行的规则、所调用规则数中已执行规则的数量以及出现的任何规则违例情况。
    • 结果状态。如果数据库未违反某条规则,那么控制台将确认该规则执行完成。如果数据库违反了某条规则,那么控制台将提供此违例及其严重性。
  • 运行终止后的结果摘要。运行摘要包含两个部分:信息摘要和结果摘要。
    • 信息摘要。INFORMATIONAL 严重性级别的所有规则违例都会写入该部分。
    • 结果的摘要。结果的摘要提供以下信息:
      • 已调用的规则数。
      • 已执行的规则数。
      • 已完成的规则数。
      • 每个严重性级别的违例数。

如果指定的话,该输出会写入日志文件和结果文件。

选项和自变量

-rulefile
指定规则文件,该规则文件包含要针对数据库进行测试的规则。 该选项将针对规则文件中的所有规则验证数据库。 请参阅以下示例
-logfile
提供在执行命令期间发生的所有事件的详细记录。请参阅以下示例
-resultsfile
提供测试结果。结果文件不包含日志文件所提供的详细事件信息。如果数据库未违反指定的规则,那么结果文件会表明该规则执行成功。如果数据库违反该规则,那么结果文件将提供此违例情况及其严重性。请参阅以下示例
-rulenames
指定规则文件中要测试的规则的名称。要在一条命令中指定多条规则,请在每个规则名称之间插入一个空格。请参阅以下示例
-rulegroups
指定规则文件中要测试的规则组。该选项用于针对数据库测试多条规则,而无需分别调用每条规则。要在一条命令中指定多个规则组,请在每个规则组名称之间插入一个空格。请参阅以下示例
-allrules
测试规则文件中的所有规则。
-dbinfoschemarepo
指定要验证的模式存储库。该选项提供了查找和访问模式存储库所需的信息。请参阅表 1 以了解 -dbinfoschemarepo 参数。
-dbinfouser
指定要验证的用户数据库。请参阅表 1 以了解 -dbinfouser 参数。
表 1. -dbinfoschemarepo-dbinfouser 选项的参数
db_vendor server [:port] database user_login user_password connect_options
SQL_SERVER 服务器机器的名称或 IP 数据库名称 登录名 登录密码
ORACLE 服务器机器的名称或 IP SID 登录名 登录密码 Oracle 连接选项
MS_ACCESS 数据库的物理位置
DB2® 服务器机器或 IP 数据库名称 登录名 登录名
-validateuserdbonly
指定仅验证用户数据库。
-locale
指定输出中使用的语言。结果文件和控制台提供备选的语言。日志文件仅使用英语撰写。

示例

必须在以下位置运行 validatedb 命令:cquest–home–dir\diagnostic\
注: 该命令只能通过 cqdiagnostics.pl 脚本运行。

反馈