Oracle中有很多的性能数据可以分析, 有些数据反应的不仅仅是数据库的, 而且可以反应出应用的或架构上的信息,
作为DBA应当主动分析, 并提供给相关的人员, 以协助技术决策. 比如, 系统中会有很多种不同类型的应用服务器, 但数据库往往是少数几个,
在进行多机房应用及数据布局时, 就需要知道各个应用服务器和数据库的交互量, 同一个库上各个不同的应用发起的SQL的百分比.
粗略一看, 好象DBA没有办法得到这些信息, 应当从应用日志中去统计分析. 在真实应用中, 大部份的数据库连接都是保持的,
也就是用了连接缓冲池, 会话不会经常断开重连, 因此可以通过会话级的统计值(execute count)得到上面的数据. 具体过程如下,
在一个可以查数据字典的用户下, 创建一个表来保留统计值信息.
create table TMP_SESSION_EXECUTES
(
ID NUMBER(38),
SID NUMBER(12),
serial# number(12),
machine varchar2(64),
username varchar2(30),
execute number(38)
);
然后创建一个序列, 来表示一次收集的ID, 如下所示:
create sequence seq_temp_sesstat;
执行以下代码几个小时, 就可以收集到不少数据, 足以进行上述分析了.
declare
ver number:=0;
begin
loop
select seq_temp_sesstat.nextval into ver from dual;
insert into TMP_SESSION_EXECUTES
select ver, a.sid,
a.serial#, a.machine, a.username, b.value
from v$session a, v$sesstat b
where a.sid=b.sid
and b.STATISTIC#=238;
commit;
dbms_lock.sleep(300);
end loop;
end;
/
上面收集到的是累计值, 要前后两个ID相减计算差量值, 可用如下SQL语句.
SELECT MACHINE, USERNAME, SUM(EXECUTE) EXECUTE
FROM (
SELECT A.MACHINE, A.USERNAME,
A.EXECUTE - NVL(B.EXECUTE,0) EXECUTE
FROM TMP_SESSION_EXECUTES A, TMP_SESSION_EXECUTES B
WHERE A.ID=B.ID+1
AND A.SID=B.SID
AND A.SERIAL#=B.SERIAL#
AND A.MACHINE=B.MACHINE
AND A.USERNAME=B.USERNAME
AND A.EXECUTE > NVL(B.EXECUTE,0) )
GROUP BY MACHINE, USERNAME
这样就得到了在某个时间段内每台机器在某个用户下的SQL执行量了, 算一下比例就是十分有用的信息.
Oracle中有很多的性能数据可以分析, 有些数据反应的不仅仅是数据库的, 而且可以反应出应用的或架构上的信息,
作为DBA应当主动分析, 并提供给相关的人员, 以协助技术决策. 比如, 应用程序中连接池的设置, 最大允许多少个连接连到数据库中?
粗略一看, 好象DBA没有办法得到这些信息, 应当从应用日志中去统计不能获得连接或连接超时的报警信息. 在真实应用中,
大部份的数据库连接都是保持的, 也就是用了连接缓冲池, 会话不会经常断开重连, 因此可以通过持续观察应用服务器在数据库上产生的连接数来分析,
如果真实连接数持续达到了设置的最大值, 就表示需要增大最大连接数的设置了.
用如下SQL来取得连接数据, 每5分钟取一次, 然后保存到一张表中,
select sysdate day, INSTANCE_NAME,
machine, username, count(*) conncount
from v$session, v$instance
group by machine, username, instance_name
用WebChart来显示某台机器, 最近两天或三天的连接数, 就可以看出需不需要扩大连接设置了.
这其实很简单, 但结果是使我们的应用程序数据库连接设置有数据可依, 真实地发挥了作用.
- 大小: 6.1 KB
分享到:
相关推荐
在论文中,作者陈志强以波音737-300型飞机为例,详细介绍了如何根据飞机性能数据建立数据模型,并针对不同飞行阶段(如起飞、爬升、巡航、下降和进近着陆)分析性能数据,从而构建了相应的数据文件。 民航飞机在...
为了确保这些设备的性能达到既定标准,生产过程中必须严格监控和分析性能数据。针对这一需求,手机和平板CPK数据分析工具应运而生,旨在为设备性能监控提供全面而深入的分析支持。 首先,该工具选用SQL数据库作为...
perf 用户工具提供了一个命令行接口,用于收集和分析性能数据。perf 内核部分则负责收集性能数据,提供了一个系统调用接口和 ring buffer 机制来存储数据。Perf 事件则是 perf 的核心组件,负责收集硬件事件、软件...
本项目是一个集成了性能分析的数据分析工具,使用Python的cProfile模块来识别数据处理过程中的性能瓶颈。项目包括数据加载、清洗、处理和分析的完整流程,并通过性能分析报告提供优化建议。 使用人群: 数据分析师...
性能测试数据分析是IT行业中至关重要的环节,尤其是在评估和优化复杂系统的性能时。本文将以福建移动BOSS系统的性能测试为案例,深入探讨性能测试数据分析的关键经验与技巧。 ### 一、记录数据:时间戳的重要性 在...
### 性能数据收集与指标分析 #### 一、引言 随着信息技术的快速发展,软件系统的性能成为衡量其质量的重要标准之一。为了确保软件能够稳定高效地运行,性能测试成为了必不可少的一环。性能数据的收集与分析是性能...
"Linux性能数据收集工具" 提供了这样的能力,它适用于单节点和集群环境,帮助用户有效地采集和分析Linux系统的各项性能指标。下面将详细介绍这个工具的功能、使用方法以及如何与Excel宏结合进行数据处理和可视化。 ...
在Windows 7操作系统中,性能计数器是一个强大...通过数据收集器集,用户可以定时记录并分析性能数据,从而更好地理解和优化系统的性能。正确使用和解读性能计数器的数据,对于维护系统稳定性和解决性能问题至关重要。
在实验过程中,学生需要掌握如何使用Emmagee来监控应用运行,记录并分析性能数据。这包括但不限于: 1. 应用安装与启动:熟悉Android应用的安装流程,确保应用能在目标设备上正常运行。 2. Emmagee安装与配置:学习...
在9i之前,主要依赖于动态性能视图(如v$session、v$session_wait等)和Statspack报告来获取和分析性能数据。Statspack虽然提供了丰富的信息,但手动分析较为繁琐。随着技术的发展,Oracle 10g引入了AWR,它自动化了...
此外,还需要使用High Resolution Time Level 2、Performance Timing 等技术来收集和分析性能数据。 企业前端应用性能监控架构是提高前端应用性能的重要方法,它可以帮助企业提高用户体验、提高业务竞争力。
3. **数据收集器集**:这是一种更高级的数据记录方式,可以创建复杂的配置,持续收集和分析性能数据。数据可以导出为CSV或ETL格式,便于进一步分析或导入其他工具。 4. **系统诊断**:性能监视器不仅可以显示数据,...
聚类分析是数据分析的一种重要方法,它通过将数据对象分组到不同的簇中,使得同一簇内的对象相似度较高,而不同簇之间的对象相似度较低。在这个过程中,我们通常会利用一些经典的数据集来测试和验证聚类算法的性能。...
6.6 分析性能数据 6.6.1 性能调优原理 6.6.2 前端性能分析 6.6.3 后端性能分析 6.7 性能测试报告 6.7.1 平台对比性能测试报告 6.7.2 Phpwind85性能分析报告 6.7.3 DiscuzX2 VS Phpwind85性能对比报告 6.7.4 Phpwind...
### 压力测试及性能数据分析 #### 一、压力测试概述与环境配置 压力测试是一种软件测试方法,主要用于评估系统在高负载条件下的表现,包括系统的稳定性、响应时间、资源利用率等关键性能指标。本研究针对一个基于...
通过分析性能数据,可以洞察性能趋势,例如网络流量的增长模式和速度。这对于长期规划,如网络配置优化和扩容决策,提供了宝贵的数据支持。 **4.2 性能管理原理** 华为交换机的性能管理基于数据统计功能,包括多个...
在Oracle数据库管理中,性能数据分析是一项至关重要的任务,它直接影响到系统的稳定性、效率以及业务的正常运行。本文将深入探讨Oracle性能数据分析的各个方面,包括困惑求助、分析方法、系统稳定、性能监控、问题...
总结来说,Windows 7的性能监视器是一个强大的服务器监控工具,它允许管理员轻松地监视多台服务器,收集和分析性能数据,进而做出相应的优化决策。熟练掌握这一工具的使用,对于提升IT运维效率和保证服务器稳定运行...