在Oracle10g中,以前版本中比较难于获取的响应时间数据将会变得非常容易获取。
在以前看来,为了尽量获得数据库的最佳性能,Oracle的DBA们和性能分析专家一直很困难获得系统以及用户会话活动的一致的响应时间数据。DBA们面临的问题一直以来包括两个方面:第一个方面是准确定位数据库或者用户会话究竟在哪里消耗了时间;第二个方面就是确定用户体验的客观性质。
在数据库中产生所有可能的行为和交互作用,这些任务都不是没有价值的。Oracle等待接口,在之前的很早的Oracle数据库版本中开始介绍的,对于那些知道如何使用等待接口的管理员来说这已经成为一个伟大的开始,即使它仍然缺乏告诉DBA系统或者用户会话是否有效的处理了事务或者查询这个理想的能力。启用和钻研跟踪文件能够存储这个级别上的详细信息,但是对于大多数超负荷工作管理大型数据库的DBA们,这个钻研是奢侈的而耗费时间的。
幸运的是,那些将数据库升级到Oracle10g的DBA们将会发现找到主要的响应时间变得很容易,可以允许一个非常好的图表来显示系统和会话级的响应时间数据。很重要的一点,Oracle的ADDM提供了一个查看响应时间的方法,通过自动分析收集的统计信息,识别问题区域,甚至可以通过Oracle企业管理器网络控制的图形界面提供建议。
此外,与我们这里讨论相关的是Oracle10g数据库的历史数据机制允许DBA们按时查看对响应时间趋势的分析,这将有助于DBA们确定事务/系统的高峰时期,更好的定位那些拉长批处理周期和ETL作业的进程和SQL语句。
这里主要讨论用于系统、会话和SQL级别上那些历史机制的用途。
系统层的响应时间分析:
先来看看典型的几个经常问到DBA们的问题:
通常来说,数据库运行的状况如何?
用户体验感觉的平均响应时间是多少?
什么行为是最影响整个响应时间的?
上述问题在Oracle10g数据库之前对于DBA们来说是相当不好回答的,但是如果使用了最新的Oracle10g数据库之后,这些数据信息将会很容易的被捕获到。
首先,Oracle10g数据库运行的状况如何这个问题可以通过下面的查询来获得:
select METRIC_NAME,VALUE
from SYS.V_$SYSMETRIC
where METRIC_NAME IN ('Database CPU Time Ratio','Database Wait Time Ratio')
AND INTSIZE_CSEC = (select max(INTSIZE_CSEC) from SYS.V_$SYSMETRIC);
METRIC_NAME VALUE
Database Wait Time Ratio 31.3499111
Database CPU Time Ratio 68.6500888 |
Oracle10g数据库中的V$SYSMETRIC视图中存在一些非常有用的响应时间数据,其中两个比较重要的就是Wait Time Ratio 和Database CPU Time Ratio.上面的查询显示了数据库中最新的关于这两个统计数据的快照,这将有助于帮助我们确定是否数据库正在经历着一个比较高的等待百分率和瓶颈。数据库的CPU Time Ratio是由数据库中的"database time"的数值除以CPU的数量,"database time"定义为数据库消耗在用户级别调用所花费的时间(不包括实例的后台进程活动所消耗的时间)。比较高的值(90%-95%以上)代表很少等待和瓶颈活动,因为各个系统不同,这个阀值只能作为一个一般的规则来使用。
还可以使用如下的查询来迅速查看最新一个小时的信息,看看数据库的总性能如何:
select end_time,value
from sys.v_$sysmetric_history
where metric_name = 'Database CPU Time Ratio'
order by 1;
END_TIME VALUE
2007-1-24 2 3.21949216
2007-1-24 2 3.01443414
2007-1-24 2 9.75636353
2007-1-24 2 9.28581409
2007-1-24 2 43.3490481
2007-1-24 2 38.8366361
2007-1-24 2 32.0272511
2007-1-24 2 0
2007-1-24 2 22.9580733
2007-1-24 2 33.0615102
2007-1-24 2 43.1294933 |
可以从V$SYSMETRIC_SUMMARY视图中获得数据库整体性能效率的最大、最小和平均值:
select CASE METRIC_NAME
WHEN 'SQL Service Response Time' then 'SQL Service Response Time (secs)'
WHEN 'Response Time Per Txn' then 'Response Time Per Txn (secs)'
ELSE METRIC_NAME
END METRIC_NAME,
CASE METRIC_NAME
WHEN 'SQL Service Response Time' then ROUND((MINVAL / 100),2)
WHEN 'Response Time Per Txn' then ROUND((MINVAL / 100),2)
ELSE MINVAL
END MININUM,
CASE METRIC_NAME
WHEN 'SQL Service Response Time' then ROUND((MAXVAL / 100),2)
WHEN 'Response Time Per Txn' then ROUND((MAXVAL / 100),2)
ELSE MAXVAL
END MAXIMUM,
CASE METRIC_NAME
WHEN 'SQL Service Response Time' then ROUND((AVERAGE / 100),2)
WHEN 'Response Time Per Txn' then ROUND((AVERAGE / 100),2)
ELSE AVERAGE
END AVERAGE
from SYS.V_$SYSMETRIC_SUMMARY
where METRIC_NAME in ('CPU Usage Per Sec',
'CPU Usage Per Txn',
'Database CPU Time Ratio',
'Database Wait Time Ratio',
'Executions Per Sec',
'Executions Per Txn',
'Response Time Per Txn',
'SQL Service Response Time',
'User Transaction Per Sec')
ORDER BY 1;
METRIC_NAME MININUM MAXIMUM AVERAGE
CPU Usage Per Sec 0 53.9947577 11.1603280
CPU Usage Per Txn 0 168.731666 24.8848615
Database CPU Time Ratio 0 87.1866295 35.8114730
Database Wait Time Ratio 0 90.7141859 64.1885269
Executions Per Sec 0 540.768348 114.852472
Executions Per Txn 0 1911 279.912779
Response Time Per Txn (secs) 0 3.88 0.66
SQL Service Response Time (secs) 0 0 0
User Transaction Per Sec 0 4.70183486 0.94469007 |
相关推荐
### Oracle10g数据库优化详解 #### 一、基本概念 **1. 实例与数据库** - **实例**: 当数据库启动后,多个进程被加载到内存中并进行协同工作,这些进程及其状态共同组成了一个数据库实例。实例是运行时的概念,...
在本教程中,我们将深入探讨如何在Windows 7操作系统上安装Oracle 10g数据库。Oracle 10g是一款强大的关系型数据库管理系统,广泛应用于企业级数据存储和管理。在Win7环境下安装Oracle 10g可能面临一些挑战,但通过...
在32位的CentOS操作系统上安装和使用Oracle 10g数据库涉及多个步骤,包括前期的系统准备、软件包安装、配置修改以及数据库的图形化安装和管理。以下是详细的步骤说明: 1. **安装前的准备** - **下载Oracle 10g**...
书中详细讲解了 Real Application Clusters (RAC) 技术,它是 Oracle 提供的一种集群解决方案,允许多个服务器共享同一数据库,提高服务的持续性和响应速度。同时,还涉及了数据保护和恢复策略,如备份与恢复、...
Oracle 10G数据库性能监控与优化是数据库管理员在日常工作中必须掌握的关键技能。Oracle数据库的性能直接影响到应用程序的响应速度和整体系统效率。以下是一些核心知识点的详细解释: 1. **表空间使用率监控**: ...
Oracle 10g数据库是Oracle公司推出的一款关系型数据库管理系统,它在数据库管理领域具有广泛的应用,尤其在大型企业级应用中占据重要地位。Oracle 10g在性能、可用性、可管理性和安全性等方面都有显著提升,为数据库...
Oracle 10g数据库应用教程是关于Oracle 10g数据库管理的详细教程,本教程涵盖了Oracle 10g数据库管理的各个方面,包括企业管理器、Oracle Administration Assistant、网络配置工具、SQL*Plus和iSQL*Plus等。...
《精通Oracle 11g数据库管理》是一本专注于Oracle数据库技术的专业书籍,出版于2009年。...通过阅读和实践书中的案例,读者可以全面掌握Oracle 11g数据库的管理和运维技巧,提升在企业IT环境中的专业技能。
Oracle 10g数据库在安全性与身份管理方面展现了强大的功能,为企业的数据保护提供了坚实的基础。其中,Oracle互联网目录(OID)是一个关键组件,它在Oracle数据库10g上运行,能够支持大规模的目录信息存储,无论是...
Oracle 10g数据库性能优化与分析是针对数据库在日常生活各个领域的广泛应用中,尤其是在面对数据量不断增大和并发用户数量增多时,如何提高系统效率、降低响应时间和提升吞吐量的关键问题。Oracle数据库作为关系型...
总结,Oracle 10g数据库管理系统为数据库管理员和开发者提供了强大的工具和特性,从高性能的数据存储到灵活的应用系统开发,再到可靠的灾难恢复机制,都是其突出亮点。理解并熟练掌握这些知识点,对于在Oracle环境中...
在性能方面,Oracle 10g表现卓越,例如,在Transaction Processing Council的测试中,Oracle数据库10g在16个节点的4路HP Integrity rx5670上达到了1,184,893 tpmC,而成本仅为$5.52/tpmC,相比64路HP Integrity ...
Oracle 10g是一款历史悠久但仍然具有广泛影响力的数据库管理系统,尤其在那些运行32位操作系统或者需要兼容旧系统的环境中。本资源提供了Oracle Database 10g的32位版本,适用于那些不能或不想升级到更高版本的用户...
Oracle 10g数据库是Oracle公司推出的一款关系型数据库管理系统,它在数据库管理、性能优化、安全性、可扩展性等方面有着显著的特点。本教程将针对初学者,详细讲解Oracle 10g的基础知识,帮助你掌握数据库的核心概念...
在Oracle10G数据库管理中,数据失败是常见的问题,它不仅影响数据库的稳定性和数据的完整性,还可能导致业务中断。根据失败的性质,Oracle10G将数据失败分为多种类型,包括语句失败、用户进程失败、用户错误、实例...
【Oracle 10g数据库管理工具详解】 Oracle 10g是Oracle公司推出的数据库管理系统,其提供了多种强大的数据库管理工具,使得数据库的管理和维护变得更加高效和便捷。在本章中,我们将深入探讨Oracle 10g的主要管理...
在静默安装Oracle 10G数据库软件之前,需要确保系统中没有已安装的Oracle实例,可以通过查看/etc/oraInst.loc文件是否存在来判断。如果文件不存在,说明没有安装过Oracle。接下来,需要创建专门用于Oracle的用户和组...