jinfeng_wang

G-G-S,D-D-U!

BlogJava 首页 新随笔 联系 聚合 管理
  400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks
http://www.oracle.com/technology/global/cn/obe/11gr1_db/manage/sqlaccadv/sqlaccadv.htm 

利用 SQL Access Advisor 改进模式设计

本教程将向您说明如何使用 SQL Access Advisor 改进模式设计。

大约 40 分钟

主题

本教程包括下列主题:

将鼠标置于此图标上可以加载和查看本教程的所有屏幕截图。 (警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)

注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。

概述

定义相应的访问结构以优化 SQL 查询始终是 Oracle DBA 要考虑的问题。因此,为解决这一问题,人们编写了许多技术文章和脚本,还开发了不少高端工具。此外,随着分区和物化视图技术的发展,确定访问结构变得愈加复杂。为解决这一非常重要的需求,Oracle 数据库 10g 和 11g 引入了 SQL Access Advisor,从而改进了可管理性。

SQL Access Advisor 通过建议要创建、删除或保留的索引、物化视图、物化视图日志或分区来确定并帮助解决与 SQL 语句执行相关的性能问题。它可以通过 Database Control 运行,也可以通过命令行使用 PL/SQL 过程运行。

返回主题列表

开始本教程之前,您应该:

1.

安装 Oracle 数据库 11g。

2.

下载 sqlaccadv.zip 文件并将其解压缩到您的工作目录(即 wkdir),然后导航到您的工作目录。

返回主题列表

使用 SQL Access Advisor

SQL Access Advisor 将实际负载作为输入,Advisor 也可以通过模式获得假定的负载。然后,它会建议可提供更快执行路径的访问结构。它具有以下优点:

  • 无需掌握专业知识。
  • 根据实际驻留在基于成本的优化器中的规则做决定。
  • 与优化器和 Oracle 数据库增强同步。
  • 是一个涵盖 SQL 访问方法各个方面的单一顾问程序。
  • 提供简单、用户友好的 GUI 向导。
  • 生成脚本来实施建议。

下面的例子说明了 SQL Access Advisor 可以提供的建议的类型。该例子还使用 SQL Performance Analyzer 证明 SQL Access Advisor 提供的建议很好。

执行以下步骤,了解 SQL Access Advisor 的用法:

1.

在以 oracle 用户身份连接的终端会话中,执行 sqlaccessadv_setup.sh 脚本。该脚本将生成本 OBE 中使用的所有必需的数据。尤其是,它将生成用于表示要分析的负载的 SQL 调整工具集。

./sqlaccessadv_setup.sh

 

2.

sh用户身份(口令 sh)连接到 Enterprise Manager Database Control。进入 Home 页面后,单击 Related Links 部分中的 Advisor Central 链接。

 

3.

在 Advisor Central 页面中,单击 SQL Advisors 链接。然后在 SQL Advisors 页面中,单击 SQL Access Advisor 链接。

 

4.

在 Initial Options 页面中,选择 Inherit Options from a previously saved Task or Template,然后选择 SQLACCESS_WAREHOUSE 模板。完成以上操作后,单击 Continue

 

5.

在 Workload Source 页面中,选择 Use an existing SQL Tuning Set 并在 SQL Tuning Set 域中输入 SH.SQLSET_MY_SQLACCESS_WORKLOAD。该 SQL 调整工具集是以前生成的。它表示您要分析的仓库负载。完成以上操作后,单击 Continue

 

6.

在 Recommendation Options 页面中,确保已选择所有可能的访问结构并选择了 Comprehensive。完成以上操作后,单击 Continue

 

7.

在 Schedule 页面的 Task Name 域中输入 MY_SQLACCESS_TASK。从提供的列表中选择第一个时区(单击火炬图标)。完成以上操作后,单击 Continue

 

8.

在 Review 页面中,单击 Submit

 

9.

返回 Advisor Central 页面,单击 Refresh。完成以上操作后,单击 Results 表中的 MY_SQLACCESS_TASK 链接。该任务应处于 COMPLETED 状态。

 

10.

这将转至 Results 页面。通过该页面,您可以看到针对该负载实施 SQL Access Advisor 建议的潜在好处。单击 Recommendation 子选项卡。

 

11.

在 Recommendations 子页面中,您可以查看建议的高级概述。基本上,会为该负载生成所有可能的建议类型。确保已选择所有建议,单击 Recommendation Details 按钮。这将转至 Details 页面,您可以在其中看到有关每个建议的更多详细信息,以及该负载中受这些建议影响的相应 SQL 语句。单击 OK

 

12.

返回 Recommendations 子页面,单击 Schedule Implementation 按钮。

 

13.

在 Schedule Implementation 页面中,显示一个警告,表明该向导不会尝试实施其建议,因为某些建议是非常重要的更改,应由管理员认真查看。因此,单击 Show SQL 按钮查看您可以用来实施所有建议的脚本。事实上,您已经创建了该脚本并将在本 OBE 的稍后部分使用。查看了该脚本之后,单击 Done。返回 Schedule Implementation 页面,单击 Cancel

 

14.

单击右上角的 Database 选项卡,然后单击 Software and Support 选项卡。进入 Software and Support 页面后,单击 SQL Performance Analyzer 链接。您现在希望证明实施建议是有益处的。

 

15.

在 SQL Performance Analyzer 页面中,单击 Guided Workflow 链接。

 

16.

在 Guided Workflow 页面中,单击与第 1 步对应的行上的 Execute 图标。在 Create SQL Performance Analyzer Task 中,在 SQL Performance Analyzer Task 的 Name 域中输入 MY_SPA_TASK。然后,在 SQL 调整工具集的 Name 域中输入 SH.SQLSET_MY_SQLACCESS_WORKLOAD。完成以上操作后,单击 Create

 

17.

返回 Guided Workflow 页面,单击第 2 步的 Execute 图标。在 Create Replay Trial 页面的 Replay Trial Name 域中输入 MY_SQL_REPLAY_BEFORE,确保选中 Trial environment established 复选框。然后,单击 Submit

 

18.

在终端会话中,在 SQL*Plus 下以 sh用户身份(口令 sh)连接。在 SQL*Plus 会话中,执行 implement.sql 脚本。该脚本是与 SQL Access Advisor 会话先前生成的建议对应的预创建脚本。

@implement.sql

 

19.

返回 Guided Workflow Enterprise Manager 页面,单击与第 3 步相对应的 Execute 图标。在 Create Replay Trial 页面的 Replay Trial Name 域中输入 MY_SQL_REPLAY_AFTER。确保已选中 Trial environment established 复选框,然后单击 Submit

 

20.

返回 Guided Workflow Enterprise Manager 页面,单击与第 4 步对应的 Execute 图标。在 Run Replay Trial Comparison 页面中,确保创建一个 MY_SQL_REPLAY_BEFORE 和 MY_SQL_REPLAY_AFTER 之间的比较。单击 Submit

 

21.

返回 Guided Workflow Enterprise Manager 页面,单击与第 5 步对应的 Execute 图标。在 SQL Performance Analyzer Task Result 页面上,您可以清楚地看到第二次试用较第一次快得多。

 

返回主题列表

在本教程中,您学习了如何使用 SQL Access Advisor。

posted on 2009-10-24 13:59 jinfeng_wang 阅读(1252) 评论(0)  编辑  收藏 所属分类: oracle

只有注册用户登录后才能发表评论。


网站导航: