我正在运行 Oracle 11g SE1 。
只是想知道是否有任何工具可以让我测试(主要是只读的)模式的数据完整性。本质上,我想做的是让一些查询每晚左右运行一次,看看它们是否返回预期的结果。例如:
SELECT COUNT(*) FROM PATIENTS WHERE DISEASE = 'Clone-Killing Nanovirus';
Expected result : 59.
人们通常如何进行此类测试?
我正在运行 Oracle 11g SE1 。
只是想知道是否有任何工具可以让我测试(主要是只读的)模式的数据完整性。本质上,我想做的是让一些查询每晚左右运行一次,看看它们是否返回预期的结果。例如:
SELECT COUNT(*) FROM PATIENTS WHERE DISEASE = 'Clone-Killing Nanovirus';
Expected result : 59.
人们通常如何进行此类测试?
我使用过SQLUnit并在这里写过。我不相信正在对其进行任何新的开发,但它应该可以实现您的目标。
SQL Developer(免费,如啤酒)也有一个单元测试框架。我已经安装了它,仅此而已。我想更多地使用它,但过去几年我一直在使用 BI,因此没有外部压力来学习它。
您要创建的测试听起来很简单,因此其中任何一个都应该适合您。下一步是让它们按计划运行(cron、windows scheduler 等),或者您可以使用 Atlassian 的Bamboo之类的持续集成工具(尚未使用它)发疯。
当然,您可以完全跳过这些工具,只编写从命令行调用的脚本。Fancy 会让您将结果写入数据库表,以便您可以轻松地对其进行皮肤处理,简单的是将结果通过管道传输到文本文件并每天查看。
希望这可以帮助。
您可以批量查询并使用 DBI 运行一个简单的 perl 脚本,该脚本将运行查询并根据可接受的容差检查它们,如果某些内容不符合阈值,则通过电子邮件发送给您。我知道我之前写过这样的数据库检查代码,以确保项目在阈值内。Perl 是处理这类事情的好工具,因为 DBI 模块可以连接到您的数据库,然后您可以运行一些预设查询并使用 MIME 包轻松地给自己发送电子邮件。 http://www.perl.com/pub/1999/10/DBI.html