Oracle 11g新特性:SQL Performance Analyzer(1)(2)
5、现在,从 Performance 页面中单击 SQL Performance Analyzer.出现如下所示的 SPA 主页面。
6、如您所见,还没有定义任何 SPA 任务。现在定义一个 SPA 任务。在本例中,您将对参数 optimizer_index_cost_adj 的更改所带来的影响进行评估,因此请单击 Parameter Change.出现如下所示的 SPA Task Definition 页面。
7、在此页面中,您需要输入 SPA 任务的必要信息。为任务命名:例如 STS1.
8、接下来,您需要输入 SQL 调整工具集的名称。单击旁边的手电筒图标,然后选择名为 CONTROL1 的 SIS.
9、在 Parameter Change 部分中,输入要更改的参数。单击手电筒图标,然后选择参数 optimizer_index_cost_adj.当前值已经填入,在 Changed Value 框中输入目标值。
10、接下来,决定这些更改的比较方式:按所用时间、按 CPU 时间等等。为了举例说明,选择 Buffer Gets.
11、最后,安排该 SPA 任务的执行时间。选择单选按钮 Immediate,表明您要立即运行这个任务。
12、所有详细信息都填好后,单击 Submit.这样就创建了一个您能够独立监控的作业,但您也可以停留在这个页面中并监控该 SPA 任务的状态,如下所示。
13、单击 Refresh 查看该任务当前的状态。注意 Last Run Status 栏下的图标。下面是对这些图标的说明:
14、图中的图标表示该任务现在正在运行。不断单击 Refresh.当图标变为 Completed,显示为一个核对符号时,该 SPA 任务就完成了。
15、单击该 SPA 任务的名称 (STS1),查看比较标准。出现如下所示的屏幕。
16、注意 Comparison Report 栏下的眼镜图标。在这里,您可以比较参数更改前后执行 SQL 的结果。单击该图标。
17、这是最令人兴奋的部分。出现如下所示的屏幕:
这就是您一直等待的结果。在左上角,您会看到更改前后两次运行 SQL 集的结果比较。总体而言,性能提升了 60%!这个结果就显示在这,非常明确。在屏幕的右手边,您会看到有多少 SQL 语句改变了执行计划。似乎大部分都改变了计划,只有少数没有。
屏幕底端显示了该任务分析的 SQL 语句的 SQL ID.SQL ID 前面的小箭头显示了这些 SQL 语句是改进了还是退化了,SQL ID 后面的数字显示了改进或退化的百分比。这些数据告诉您更改对每条 SQL 语句的确切影响。如果您愿意,可以通过单击 SQL ID 查看相应的 SQL.注意第一条 SQL,它受到的影响最大,如果单击该 SQL,您会看到与下面类似的屏幕:










