0

我正在运行 Oracle 11g SE1 。

只是想知道是否有任何工具可以让我测试(主要是只读的)模式的数据完整性。本质上,我想做的是让一些查询每晚左右运行一次,看看它们是否返回预期的结果。例如:

SELECT COUNT(*) FROM PATIENTS WHERE DISEASE = 'Clone-Killing Nanovirus'; 
Expected result : 59. 

人们通常如何进行此类测试?

4

2 回答 2

1

我使用过SQLUnit并在这里写过。我不相信正在对其进行任何新的开发,但它应该可以实现您的目标。

SQL Developer(免费,如啤酒)也有一个单元测试框架。我已经安装了它,仅此而已。我想更多地使用它,但过去几年我一直在使用 BI,因此没有外部压力来学习它。

您要创建的测试听起来很简单,因此其中任何一个都应该适合您。下一步是让它们按计划运行(cron、windows scheduler 等),或者您可以使用 Atlassian 的Bamboo之类的持续集成工具(尚未使用它)发疯。

当然,您可以完全跳过这些工具,只编写从命令行调用的脚本。Fancy 会让您将结果写入数据库表,以便您可以轻松地对其进行皮肤处理,简单的是将结果通过管道传输到文本文件并每天查看。

希望这可以帮助。

于 2013-08-21T01:43:23.927 回答
0

您可以批量查询并使用 DBI 运行一个简单的 perl 脚本,该脚本将运行查询并根据可接受的容差检查它们,如果某些内容不符合阈值,则通过电子邮件发送给您。我知道我之前写过这样的数据库检查代码,以确保项目在阈值内。Perl 是处理这类事情的好工具,因为 DBI 模块可以连接到您的数据库,然后您可以运行一些预设查询并使用 MIME 包轻松地给自己发送电子邮件。 http://www.perl.com/pub/199​​9/10/DBI.html

于 2013-08-22T06:51:12.397 回答