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
分享到:
相关推荐
1) nmon性能工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,功能强大。此资源包中含有 AIX,Linux,RedHat,Suse, mainframe, power, ubuntu, fedoral 等各系统上对应的nmon版本,版本全面; 2) ...
性能测试数据分析经验
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...
Cache映像策略和数据访问流性能分析
压力测试及性能数据分析
测试相关,yy上面的课程资料,对于性能数据收集与指标分析的
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...
ORACLE AWR数据性能分析
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...
分析性能数据 在浏览器中打开MindInsight访问地址,点击“性能分析”按钮查看并分析训练性能数据。 使用MindInsight调试模型精度 以调试模式启动MindInsight 通过配置 --enable-debugger True --debugger-port ...
依赖于DBA,来分析性能数据,然后进行系统优化,在系统越来越复杂、负载持续波动的情况下是很困难的,数据库系统的自我优化,是很有前途的解决系统性能问题的技术。针对数据库锁表管理,使用基于轻量数据挖掘的优化...
软件性能测试工具loadrunner的性能数据分析
Linux性能数据收集,支持短彩M单节点、集群环境下Linux性能数据收集,并将收集的数据进行二次处理,通过excel宏,分析处理后的数据,并生成曲线图,提供性能收集参考,方便写性能测试报告
OceanStor Pacific系列下一代高性能数据分析(HPDA)存储.pdf
当今所处的网络时代,各种各样的信息都能通过网络很快的传输。 当然有些重要的数据的安全问题就显得十分重要,加密是保证重要数据的 安全的主要方式之一。本文介绍了几种主要的数据加密算法,比如 ...,性能分析
深度分享:Oracle性能数据分析 目录: 困惑求助 分析方法 系统稳定 性能监控 问题诊断 容量评估
科来网络分析系统是一款集数据包采集、协议解码与分析、流量统计、故障诊断与性能管理等多种功能为一体的网络分析产品,能够提供高精度网络诊断分析,多层次展现网络通讯全景,有效地帮助网络管理者梳理网络应用。...
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 ...
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 ...