根据指定的规则或规则组,验证模式存储库和用户数据库的完整性。
摘要
注: 该命令只能通过 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 脚本运行。