现在让我们更加仔细地看一下这些脚本是如何工作的。STATSPACK这个工具按时间来处理Oracle的调配信息,并把这些信息记录在多个表格里。这些表格的名称会反映出Oracle内部查看表v$,这些名字诸如stats$sysstat和stats$sql_summary。知道了这一点,你就可以编写一些简单的Oracle查询,它们会显示性能的走势信息。然后你就可以处理这些性能信息,并把它们送到预示模型,例如线性回归,这会准确地告诉你更改你系统全局区域(System Global Area,SGA)内部结构的正确次数。
很显然,库缓冲失败率过高表示共享池太小,Oracle七个数据缓冲池中任何一个的数据缓冲命中率低于90%都表示,你应该从数据库的其他区域里分一部分内存出来,重新分配给数据缓冲区。对于排序这样的操作,你要看一下程序全局区域(PRogram Global Area,PGA)里最佳执行的百分率,并在碰到排序操作的最佳执行率低于95%的时侯增加PGA集合目标参数的值。