LR中监控ORACLE数据库常用计数器(如何自定义Oracle计数器)

这篇具有很好参考价值的文章主要介绍了LR中监控ORACLE数据库常用计数器(如何自定义Oracle计数器)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、添加自定义计数器的方法

1、要创建自定义查询,请执行以下操作:

2、配置文件示例对象

二、常用自定义计数器列表

三、LR中监控ORACLE数据库常用计数器遇到问题及处理


一、添加自定义计数器的方法

1、要创建自定义查询,请执行以下操作:

1. 在安装路径的Mercury LoadRunner\dat\monitors找到vmon.cfg文件,打开。
2. 在vmon.cfg文件的第三行中,CustomCounters=指出要创建的自定义计数器个数。
3. 在vmon.cfg文件中为新计数器新建一节,每节都有以下格式:

     [Custom0]
     Name=Five Hundred
Description=This counter always returns 500.
Query=SELECT 500 FROM DUAL
IsRate=0


4. 在[Custom#]行,将计数器顺序中的下一个数字分配给新的自定义计数器。
注意:自定义计数器必须是以数字0开始的联系顺序。
5.在Name行,输入新计数器的名称(可以输入中文)。
6. 在Description行,输入对该计数器的描述或解释(可以输入中文)。
7.  在Query行,输入恰好返回数据库一行的SQL查询的文本,该行必须包含一列数值。
注意:自定义查询文本不能够超过512字符。
8. 在IsRate行,如果希望数据库将计数器报告为一个绝对值,请输入0;如果希望数
据库报告每单位时间计数器的更改,请输入1。
注意:自定义查询无法返回负值。
例:

[Custom0]
;Name must be unique
Name=库快存命中率
Description=该计数器返回当前库快存命中率
Query=SELECT 100*((sum(pins-reloads))/sum(pins)) from v$librarycache 
IsRate=0

2、配置文件示例对象

安装路径的Mercury LoadRunner\dat\monitors找到vmon.cfg文件:

V$ Monitor]
Counters=150
CustomCounters=12
;How many seconds for each data sample?
SamplingRate=10

[Custom0]
;Name must be unique
Name=库快存命中率
Description=该计数器返回当前库快存命中率
Query=SELECT 100*((sum(pins-reloads))/sum(pins)) from v$librarycache 
IsRate=0

[Custom1]
;Name must be unique
Name=高速缓存区命中率
Description=oracle database shoot straight
Query=SELECT round(1-SUM(PHYSICAL_READS)/(SUM(DB_BLOCK_GETS) + SUM(CONSISTENT_GETS)), 4) * 100 FROM (SELECT CASE WHEN NAME='physical reads' THEN VALUE END PHYSICAL_READS,CASE WHEN NAME = 'db block gets' THEN VALUE END  DB_BLOCK_GETS,CASE WHEN NAME = 'consistent gets' THEN VALUE END  CONSISTENT_GETS FROM V$SYSSTAT WHERE Name IN ('physical reads','db block gets','consistent gets'))
IsRate=0

[Custom2]
;Name must be unique
Name=共享区库缓存区命中率
Description=命中率应大于0.99
Query=Select round(sum(pins-reloads)/sum(pins) * 100, 2) from v$librarycache
IsRate=0

[Custom3]
;Name must be unique
Name=共享区字典缓存区命中率
Description=命中率应大于0.85
Query=Select round(sum(gets-getmisses-usage-fixed)/sum(gets) * 100, 2) from v$rowcache
IsRate=0

[Custom4]
;Name must be unique
Name=检测回滚段的争用
Description=应该小于1%
Query=select round(sum(waits)/sum(gets) * 100, 2) from v$rollstat
IsRate=0

[Custom5]
;Name must be unique
Name=检测回滚段收缩次数
Description=应该小于1%
Query=select sum(shrinks) from v$rollstat, v$rollname where v$rollstat.usn = v$rollname.usn
IsRate=0

[Custom6]
;Name must be unique
Name=监控表空间的I/O读总数
Description=监控表空间的I/O
Query=select sum(f.phyrds) pyr from v$filestat f, dba_data_files df where f.file# = df.file_id
IsRate=0

[Custom7]
;Name must be unique
Name=监控表空间的I/O块读总数
Description=监控表空间的I/O
Query=select sum(f.phyblkrd) pbr from v$filestat f, dba_data_files df where f.file# = df.file_id
IsRate=0

[Custom8]
;Name must be unique
Name=监控表空间的I/O写总数
Description=监控表空间的I/O
Query=select sum(f.phywrts) pyw from v$filestat f, dba_data_files df where f.file# = df.file_id
IsRate=0
.
.
.
.
.
(以上为12个自定义的计数器,以下为LR工具自带的计数器)

[0]
Name=CPU used by this session
Description=This is the amount of CPU time (in 10s of milliseconds) used by a session between when a user call started and ended. Some user calls can complete within 10 milliseconds and as a result, the start and end user-call time can be the same. In this case, 0 milliseconds are added to the statistic. A similar problem can exist in the reporting by the operating system, especially on systems that suffer from many context switches.
IsRate=0

[1]
Name=CPU used when call started
Description=The CPU time used when the call is started.
IsRate=0

二、常用自定义计数器列表

1、   数据高速缓存区命中率        

SELECT round(1-SUM(PHYSICAL_READS)/(SUM(DB_BLOCK_GETS) + SUM(CONSISTENT_GETS)), 4) * 100 FROM (SELECT CASE WHEN NAME='physical reads' THEN VALUE END PHYSICAL_READS,CASE WHEN NAME = 'db block gets' THEN VALUE END  DB_BLOCK_GETS,CASE WHEN NAME = 'consistent gets' THEN VALUE END  CONSISTENT_GETS FROM V$SYSSTAT WHERE Name IN ('physical reads','db block gets','consistent gets'))        (监控 SGA 的命中率)命中率应大于0.90最好

2、   库快存命中率      

SELECT 100*((sum(pins-reloads))/sum(pins)) from v$librarycache 

 该计数器返回当前库快存命中率

3 、  共享区库缓存区命中率      

Select round(sum(pins-reloads)/sum(pins) * 100, 2) from v$librarycache      

 (监控 SGA 中共享缓存区的命中率)命中率应大于0.99

4、   监控 SGA 中字典缓冲区的命中率        

Select round(sum(gets-getmisses-usage-fixed)/sum(gets) * 100, 2) from v$rowcache    

(共享区字典缓存区命中率)命中率应大于0.85

5、   检测回滚段的争用      

 select round(sum(waits)/sum(gets) * 100, 2) from v$rollstat        小于1%

6、   检测回滚段收缩次数      

select sum(shrinks) from v$rollstat, v$rollname where v$rollstat.usn = v$rollname.usn   

 7、   监控表空间的 I/O读总数      

select sum(f.phyrds) pyr from v$filestat f, dba_data_files df where f.file# = df.file_id        

监控表空间的 I/O

8、    监控表空间的 I/O块读总数        

select sum(f.phyblkrd) pbr from v$filestat f, dba_data_files df where f.file# = df.file_id    

   监控表空间的 I/O

9、    监控表空间的 I/O写总数    

select sum(f.phywrts) pyw from v$filestat f, dba_data_files df where f.file# = df.file_id        

监控表空间的 I/O

10、  监控表空间的 I/O块写总数        

select sum(f.phyblkwrt) pbw  from v$filestat f, dba_data_files df where f.file# = df.file_id   

 监控表空间的 I/O11、   监控 SGA 中重做日志缓存区的命中率      

SELECT Decode(immediate_gets+immediate_misses,0,0,immediate_misses/(immediate_gets+immediate_misses)*100) ratio2 FROM v$latch WHERE name IN ('redo copy')        

应该小于1%

12、   监控内存和硬盘的排序比率        

select round(sum(case when name='sorts (disk)' then value else 0 end) / sum(case when name='sorts (memory)' then value else 0 end)*100,2) from (SELECT  name, value FROM v$sysstatWHERE name IN ('sorts (memory)', 'sorts (disk)'))   

最好使它小于 10%

13、ORACLE常用自定义计数器列表

以下是一些常用的ORACLE自定义计数器列表,包含字段:序号、监控名称、SQL算法和说明。

序号 监控名称 SQL算法 说明
1 Buffer Cache Hit Ratio (1 - (physical_reads / (db_block_gets + consistent_gets))) * 100 表示缓冲区高速缓存命中率,用于评估数据库的性能。
2 CPU Usage (1 - (value1 / (value1 + value2))) * 100 表示CPU的使用率,用于评估系统的负载情况。
3 Disk Sorts Ratio (disk sorts / (memory sorts + disk sorts)) * 100 表示磁盘排序比率,用于评估系统是否频繁进行磁盘排序操作。
4 Library Cache Hit Ratio (1 - (pins / (pins + reloads))) * 100 表示库缓存高速缓存命中率,用于评估SQL语句的共享情况。
5 Log Buffer Space ((value1 - value2) / value3) * 100 表示日志缓冲区的使用情况,用于评估日志写入的效率。
6 PGA Memory Usage (value1 / value2) * 100 表示PGA内存的使用率,用于评估排序、哈希等操作的内存消耗情况。
7 Redo Log Space Requests (value1 / value2) * 100 表示重做日志空间请求的比率,用于评估重做日志的使用情况。
8 Shared Pool Free Memory (value1 / value2) * 100 表示共享池的空闲内存比率,用于评估共享SQL和PL/SQL代码的缓存情况。
9 Table Lock Contention (value1 / value2) * 100 表示表级锁争用的比率,用于评估表级锁的使用情况。
10 User Sessions value1 表示当前活动的用户会话数量,用于评估数据库的并发连接数。

请注意,这只是一些常见的ORACLE自定义计数器,具体选择和定制计数器应根据实际需求和环境来决定。

三、LR中监控ORACLE数据库常用计数器遇到问题及处理

当在LR中监控Oracle数据库时,常用的计数器包括:

  1. Oracle Active Sessions:显示正在执行的活动会话数。
  2. Oracle Database Time:显示连接到Oracle数据库的总时间。
  3. Oracle Transactions/sec:显示每秒钟处理的事务数。
  4. Oracle CPU Time:显示Oracle数据库使用的总CPU时间。
  5. Oracle Wait Time:显示等待数据库处理的总时间。

如果遇到监控Oracle数据库的计数器无法显示数据或显示错误,可以考虑以下处理方法:

  1. 检查数据库连接:确保LR能够成功连接到Oracle数据库。可以尝试重新连接或重启LR来排除可能的连接问题。

  2. 检查LR版本:确认LR版本是否支持所需的Oracle计数器。如果LR版本过旧,则可能不支持最新版本的Oracle数据库。

  3. 检查权限:确保LR用户具有足够的权限来读取Oracle数据库的计数器。可以尝试使用具有更高权限的用户重新连接数据库。

  4. 检查数据库配置:确认Oracle数据库是否正确配置以允许LR监控计数器。可能需要更新数据库配置文件或更改数据库参数。

  5. 检查网络连接:确保LR能够与Oracle数据库进行通信。可以尝试使用其他工具测试网络连接是否正常。

总的来说,当在LR中监控Oracle数据库时,遇到问题时需要逐一排查问题的原因并采取相应的处理方法。文章来源地址https://www.toymoban.com/news/detail-613195.html

到了这里,关于LR中监控ORACLE数据库常用计数器(如何自定义Oracle计数器)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库数据恢复-Oracle数据库数据恢复案例

    数据库数据恢复环境: Oracle数据库ASM磁盘组有4块成员盘。 数据库故障分析: Oracle数据库ASM磁盘组掉线 ,ASM实例无法挂载,用户联系我们要求恢复oracle数据库。 数据库数据恢复工程师拿到磁盘后,先将所有磁盘以只读方式进行扇区级别的镜像备份,后续的数据分析和数据恢

    2024年02月13日
    浏览(48)
  • Canopen学习笔记——sync同步报文增加数据域(同步计数器)

    在OD表中的配置如下: 如果0x1006索引的同步报文循环周期时间设置为0则禁用同步报文,这里要注意的就是,上面第一张图也提到了,时间单位是us。第二张图,我的0x1006就设置为0xF4240,也就是1s发送一次同步报文。 关于同步桢(同步计数器)的问题可以参考这篇文章: 我这里

    2024年01月20日
    浏览(27)
  • Oracle数据库

    ①层次型数据库 ②网状型数据库 ③关系型数据库(主要介绍) E-R图:属性(椭圆形),实体(矩形),联系(菱形-一对一、一对多、多对多) 注:有的联系也有属性 关系型数据库的设计范式: 第一范式(1NF):属性不可再分,字段保证原子性 第二范式(2NF):在满足1

    2024年02月08日
    浏览(48)
  • Oracle 数据库恢复删除的数据

    需求描述: 同事让删除脏数据,结果删错了,需要恢复数据 思路: 利用闪回恢复数据只能恢复15分钟之内的,后面undo空间会被重写,就恢复不了,所以删除数据后,要谨慎再三确认,若发现不对,则利用闪回恢复 先查询删除时的时间节点的快照 查到时间戳之后 闪回恢复数

    2024年01月24日
    浏览(55)
  • 【数据库】日常使用PL/SQL 登录ORACLE 数据库查询数据

    一、PL/SQL 登录方式 username: ##访问数据库的账号 password: ##访问数据库的密码 Databse: ##数据库IP地址/实例名 数据库集群心跳地址/实例名 Connect as : ##Normal,如果使用sysdba账户登录选择SYSDBA 二、PL/SQL使用SQL语句查询 点击上方导航栏,New,选择SQL Window,即可再次输入要查询的

    2024年02月19日
    浏览(54)
  • 【Oracle】收集Oracle数据库内存相关的信息

    【声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) Oracle数据库包含多个内存区域,每个区域都包含多个子组件。 Oracle Database Memory Structures 根据具体问题的需要,可以通过如下命令收集Oracle数据库内存相关的信息。 例: 注:SET

    2024年01月21日
    浏览(55)
  • Oracle数据库面试题 精选 Oracle 面试题

    1.解释冷备份和热备份的不同点以及各自的优点 冷备份 发生在数据库已经正常关闭的情况下,将关键性文件拷贝到另外位置的一种说法。适用于所有模式的数据库。 优点 1. 是非常快速的备份方法(只需拷贝文件) 2. 容易归档(简单拷贝即可) 3. 容易恢复到某个时间点上(只

    2024年02月05日
    浏览(86)
  • oracle数据库巡检脚本

    用于Oracle数据库巡检的示例脚本: 

    2024年02月14日
    浏览(50)
  • ORACLE数据库 开窗函数

    开窗函数 2.1开窗函数的定义及语法 开窗函数(又名:分析函数,窗口函数,OLAP函数) 聚合函数:将数据按照一定的规则分组,统一分析各组的某项情况,每个分组返回一行结果 开窗函数:将数据按照一定的规则分组,统一分析各组的某项情况,每行数据返回一行结果 (

    2024年02月11日
    浏览(35)
  • 数据库(二) Oracle篇

    概述 SQL函数有单行函数和多行函数,其区别为: 单行:输入一行,返回一行,如字符、数字、转换、通用函数等 多行:输入多行,返回一行,也称为分组函数、组函数、聚合函数, 且多行函数会自动滤空 字符函数 CONCAT( X,Y): 连接字符串X和Y INSTR(X,STR) : 后面STR在前面字符串X第一次

    2024年02月10日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包