构筑高速运行的SQL语句

构筑高速运行的SQL语句

ID:38639121

大小:334.50 KB

页数:31页

时间:2019-06-16

构筑高速运行的SQL语句_第1页
构筑高速运行的SQL语句_第2页
构筑高速运行的SQL语句_第3页
构筑高速运行的SQL语句_第4页
构筑高速运行的SQL语句_第5页
资源描述:

《构筑高速运行的SQL语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、构筑高速运行的SQL语句本章重点介绍SQL语句的性能调整,在此之前,我们将先对数据库性能调整进行概述。17.1数据库性能调整简介数据库性能调整是DBA必备的技能之一,也是开发人员最关注的话题。Oracle从诞生的那天起,以其高性能赢得大家的青睐。但是,早期的Oracle性能调整比较复杂,许多工作需要DBA手工完成。伴随着Oracle新版本的推出,数据库的性能调整越来越智能化。数据库性能调整包括实例调整(InstanceTuning)和SQL语句调整(SQLTuning)。两者相互联系和相互影响。如果实例出现性能问题,无论你如何优化SQL语句,也不能使SQL语句高速运行;反之

2、,即使实例的调整已经到位,一条效率低下的SQL语句也足以使整个数据库性能大大降低。17.2实例调整实例调整的重点应该放在数据库的设计上。一旦数据库设计付诸实施,我们将很难在生产环境中改变数据库的设计。数据库的设计能够避免日后的性能瓶颈。实例调整涉及内存调整、I/O分布和操作系统调整等。实例调整针对的是整个实例的表现,而不是针对单条SQL语句。实例调整的过程如图17-1所示。图17-1实例调整的过程17.2.1自动工作负载库(AutomaticWorkloadRepository,AWR)自动工作负载库是Oracle公司提供的一个工具,其自动收集、处理、维护性能相关的统计信息

3、。这些统计信息可以协助我们找出Oracle的性能瓶颈。1.AWR的启用在默认情况下,Oracle启用数据库统计收集这项功能(即启用AWR)。是否启用AWR由初始化参数STATISTICS_LEVEL控制。通过SHOWPARAMETER命令可以显示STATISTICS_LEVEL的当前值:SQL>SHOWPARAMETERSTATISTICS_LEVELSQL语句的执行结果是:NAMETYPEVALUE---------------------------------------------------------------statistics_levelstringTYP

4、ICAL如果STATISTICS_LEVEL的值为TYPICAL或者ALL,表示启用AWR;如果STATISTICS_LEVEL的值为BASIC,表示禁用AWR。2.快照(SNAPSHOT)每隔一小时,内存监控进程(MMON)自动地采集一次统计信息,并把这些信息存放到负载库中,一次采样就是一个快照。为了节省空间,采集的数据在7天后自动清除。快照的频率和保留时间可以由用户修改。用户也可以使用下面的命令手工采样(手工生成快照):BEGINDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();END;通过查询视图DBA_HIST_SNAPSHOT,

5、可以知道系统中产生了哪些快照。3.产生AWR报告Oracle可以产生两种类型的AWR报告:文本格式和HTML格式。HTML格式的报告界面更加友好。AWR报告用于显示两个快照或者两个时间点之间捕捉到的数据。AWR报告其实就是一张数据库健康体检表,它显示了数据库健康的各项指标。有针对整个数据库的AWR报告,有针对某个实例的AWR报告(在集群环境),有针对单条SQL语句的AWR报告。通过运行Oracle自带的SQL脚本产生AWR报告,只是产生不同的AWR报告,需要运行不同的脚本。¢产生整个数据库的AWR报告,运行脚本awrrpt.sql。@$ORACLE_HOME/rdbms/a

6、dmin/awrrpt.sql¢产生某个实例的AWR报告,运行脚本awrrpti.sql。@$ORACLE_HOME/rdbms/admin/awrrpti.sql¢产生某条SQL语句的AWR报告,运行脚本awrsqrpt.sql。@$ORACLE_HOME/rdbms/admin/awrsqrpt.sql注:$ORACLE_HOME代表Oracle的主目录。示例:产生整个数据库的AWR报告。本例中,Oracle的主目录是C:appAdministratorproduct11.1.0db_3。运行脚本awrrpt.sql。SQL>@C:appAdministr

7、atorproduct11.1.0db_3rdbmsadminawrrpt.sql选择报告的类型。输入report_type的值:html本例中选择HTML。列出最近两天产生的快照(主要是获得快照ID)输入num_days的值:2InstanceDBNameSnapIdSnapStartedLevel--------------------------------------------------------zdbZDB3862310月200909:0814002410月200909:58140124

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。