用户名: 密码: 验证码:           网站地图  高级搜索  RSS订阅  收藏本站
您的位置:主页 > 数据库 > Oracle >

Oracle 10g第2版新特性之性能特性

[ 来源:Oracle技术网 | 作者: | 更新日期:2008-3-10 09:22:03 | 人气: | 评论 0 条 ]
  挂起但未瘫痪:附连内存的 SGA 查询

  假设您使用 Oracle 企业治理器诊断和解决性能问题。一天,出现了一个棘手的问题:一个设计糟糕的应用程序引起了严重的库高速缓存锁定问题,并且数据库呈现挂起状态。您必须快速确定导致该问题发生的会话,并快速终止这些会话。

  您可以启动 Oracle 企业治理器来诊断此问题。且慢!假如整个数据库布满了挂起的会话,那么 Oracle 企业治理器中的查询是否也会挂起?

  假如使用 Oracle 数据库 10g 第 2 版,则答案是否定的。正如我在第 2 部分中所介绍的,在该版本中,“在内存访问模式下进行监控”选项使企业治理器可以直接从 SGA 内存(而不是 V$SESSION)中选择会话。因为在该模式下绕过了 SQL 层,挂起的数据库就不会阻碍此查询的执行。相反,将自动启动查询。

  让我们看看该特性是如何工作的。在 Enterprise Manager 屏幕上,选择 Performance 选项卡并滚动到该页面底部的“Additional Monitoring Links”部分,屏幕与下图类似。



  注重红色椭圆框中“Hang Analysis”的超链接。单击该链接,将显示一个与下图类似的屏幕。

www.hot007.com





  该图展示了各种“死”会话。在该示例中,您可以看到 SID 为 193 的会话(根会话)已经阻止了其他两个会话,即 192 和 214。该图中的会话颜色表示会话受阻的时间。可以单击 SID 访问 Session Details 屏幕,以获取更多信息。

  还记得 ORADEBUG 实用程序吗?Oracle 企业治理器使用该实用程序获得有关系统挂起的数据。启用 SGA 直接连接时,Oracle 将对每个实例使用一个 SQL 收集器。该收集器随企业治理器自动启动。检索到以下视图中的数据:
V$SESSION 

V$SESSION_WAIT 

V$SYSTEM_EVENT 

V$SYSSTAT 

 jc567.cn 

  附连内存的 SGA 查询是一个非常强大的特性,以后肯定能帮您解决棘手问题。我们都对可“征服”数据库的应用程序有一种亲切感,为什么呢?现在,您可以给出答案了。我认为此特性是第 2 版一个最适用于数据库治理员的特性。

  可中断的 SQL Access Advisor

  您可能熟悉 Oracle 数据库 10g 中的 SQL Access Advisor。它主要提供了一个自动化的方法,通过确定可提高 SQL 性能的索引和物化视图来调整 SQL 工作负载。

  但请考虑下面这种情况:您碰到了一些性能问题,并希望对一组 SQL 语句运行 SQL Access Advisor。为获得一个更准确的分析,您选择了“综合模式”选项。随后,您将等待结果。

  假如 SQL 工作负载很大(包含上百条语句)并且 SQL 语句比较复杂,您可能等待较长的时间。但与些同时却用户迫切要求您提供答案。您该怎么办?

  在 Oracle 数据库 10g 第 2 版中,您可以轻松地中断此顾问程序并查看到目前为止生成的建议或查找结果。第 1 版中的 SQL Tuning Advisor 中提供这些功能,现在已经扩展到 SQL Access Advisor。

  让我们看看该功能的工作方式。从 Advisor Central 屏幕中,单击 SQL Access Advisor 链接。
www.hot007.com




  从标题“Actions”旁边的右侧下拉列表中选择“Interrupt”选项,然后按 Go 按钮。该命令将中断 SQL Access Advisor,您可以立即看到建议。当然,这些建议并不是完整的集合,但在大多数情况下可以满足用户的需要。

  假如您使用的是命令行版本的 SQL Access Advisor 而不是 Oracle 企业治理器,那么您是否仍可以查看工作进度?当然,您可以使用新的视图 V$ADVISOR_PROGRESS。
SQL> desc v$advisor_progress 

Name                              Null?类型 

 ----------------------------------------- -------- ----------- 

SID                                                NUMBER 

SERIAL#                                            NUMBER 

USERNAME                                           VARCHAR2(30) 

OPNAME                                             VARCHAR2(64) 

ADVISOR_NAME                                       VARCHAR2(64) 

TASK_ID                                            NUMBER 

TARGET_DESC                                        VARCHAR2(32) 

SOFAR                                              NUMBER 

TOTALWORK                                          NUMBER 

UNITS                                              VARCHAR2(32) 

BENEFIT_SOFAR                                      NUMBER 

BENEFIT_MAX                                        NUMBER 

FINDINGS                                           NUMBER 

RECOMMENDATIONS                                    NUMBER 

TIME_REMAINING                                     NUMBER 

START_TIME                                         DATE 

LAST_UPDATE_TIME                                   DATE 

ELAPSED_SECONDS                                    NUMBER 

ADVISOR_METRIC1                                    NUMBER 

METRIC1_DESC                                       VARCHAR2(64) 

 jc567.cn 

  此处的列 TOTALWORK 和 SOFAR 显示了已经完成的工作量以及总工作量,这与您从 V$SESSION_LONGOPS 视图中看到的内容相似。


Tags:Oracle,10g第2版新特性之性能特性
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为