SQL Test Case Builder

在Oracle11gR1中出现的很多新功能,现在都已经backport到最新的Oracle 10.2.0.4中,比如之前有谈到的Real Applcation Testing,而这次有助于客户更简单的寻求Oracle技术支持帮助的SQL Test Case Builder(TCB)也可以在Oracle 10.2.0.4中使用了。 一. 什么是Test Case Builder TCB是Oracle数据库Fault Diagnosability Infrastructure架构中的一部分,关于FDI的架构可以参看Oracle 11gR1 Administrator文档中的相关章节。 我们先描述一个场景,假如你是某个系统的数据库管理员,忽然有一天,你发现系统中的某个SQL运行变得非常缓慢,但是在简单检查之后却无法发现问题的实际原因,因此你需要寻求Oracle技术支持的帮助,或者说,你需要一个更NB的朋友的帮忙。你需要做的是,详细地向他描述你这个SQL是怎样的,如果有绑定变量,那么值是什么,牵涉到的表结构是怎样的,数据量有多少,数据如何分布的,统计信息如何收集的,这个SQL的执行计划是怎样的,等等等等一系列情况,如果大家有经验在Oracle Metalink上寻求过Oracle Support的支持,那么应该知道这就几乎跟提供所有的trace一样繁琐。。。但是我们不能责骂对方,因为如果没有完备的信息,对方就无法重现你的错误,无法重现也就意味着即使给你提供了解决方案,那也都是基于猜测的。 能不能有一个工具,我们只需要告诉它我哪个SQL有问题了,它就能自动抓取并存放下足以重现这个问题的所有相关数据呢?好吧,TCB完全满足你的这个需求。 TCB究竟抓取了哪些数据呢?借用一下Oracle Optimizer Team的blog中相关文章中的描述。 1. Permanent information * SQL text * PL/SQL functions, procedures, packages * Statistics * Bind variables * Compilation environment * User information (like privileges) * SQL profiles, stored outlines, or other…