Oracle数据库的监控指标

一、Oracle 监控指标

Oracle数据库常见性能指标主要有:当前登录数、非阻塞锁数、当前死锁数、阻塞锁数、当前锁数、会话数等内容,如下图所示。

注意:以下是 Oracle 监控所需要的指标,具体根据需要监控哪些、超阈值而定。

1.1 新建主机群组
1.2 新建模板
1.3 创建主机
在这里插入图片描述

1.1 新建主机群组

1.1.1 主机群组 —> 创建主机组

在这里插入图片描述

1.1.2 新建一个主机组 My_Oracle

在这里插入图片描述
在这里插入图片描述

1.2 新建模板

注意:A_Oracle模板是没监控项和触发器的,如何创建下面会说到

1.2.1 模板 —> 创建模板

在这里插入图片描述

1.2.2 模板名称为:A_Oracle、模板组选择 Templates

在这里插入图片描述

1.3 创建主机

1.3.1 主机 —> 创建主机

在这里插入图片描述

1.3.2 主机名称为:TESTDB_192.168.111.139、主机群组选择 My_Oracle、添加接口选择Agent

在这里插入图片描述
在这里插入图片描述

1.3.3 添加宏

{$ORACLE.DSN} ---- > 对应odbc.ini文件中的DSN

{$ORACLE.USER} ---- > 监控用户

{$ORACLE.PASSWORD} ---- > 监控用户密码

{$ORACLE.PORT} ---- > 数据库端口

在这里插入图片描述

二、创建监控项、触发器

2.1 在A_Oracle模板下创建监控项 :Oracle 阻塞会话数、触发器:Oracle 阻塞会话数大于50

2.1.1 模板 —> 监控项 —> 创建监控项

在这里插入图片描述
在这里插入图片描述

2.1.2 填入相应的信息

名称:Oracle 阻塞会话数
类型:数据库监控
键值:db.odbc.select[db_lock,"{
   $ORACLE.DSN}"]
用户名称:{
   $ORACLE.USER}
密码:{
   $ORACLE.PASSWORD}
SQL查询:select count(1) from (select inst_id, DECODE(request,0,' Holder: ','Waiter: ')||sid Xmode, id1, id2, lmode, request, type from gV$LOCK  where (id1, id2, type) in (select id1, id2, type from gV$LOCK where request>0) order by request,id1);

在这里插入图片描述

2.1.3 创建触发器:模板 —> 选择新建的模板 A_Oracle —> 触发器 —> 创建触发器

在这里插入图片描述

2.1.4 填入相应的信息

名称:Oracle 阻塞会话数大于 50
表达式:last(/A_Oracle/db.odbc.select[db_lock,"{
   $ORACLE.DSN}"])>50

在这里插入图片描述

在这里插入图片描述

2.1.5 查看是否可用

可以获取到值则可用
在这里插入图片描述

2.2 在A_Oracle模板下创建监控项 :Oracle 长事务数

2.2.1 模板 —> 监控项 —> 创建监控项

在这里插入图片描述
在这里插入图片描述

2.2.2 填入相应的信息

名称:Oracle 长事务数
类型:数据监控
键值:db.odbc.select[oracle_long_query,"{
   $ORACLE.DSN}"]
用户名称:{
   $ORACLE.USER}
用户密码:{
   $ORACLE.PASSWORD}
sql查询:select count(1) from gv$session a, gv$sql b where a.inst_id=b.inst_id and a.sql_address=b.address and a.sql_hash_value=b.hash_value and a.sql_child_number=b.child_number and a.status='ACTIVE' and a.type='USER' and (sysdate-a.SQL_EXEC_START)*24*60>10

在这里插入图片描述
在这里插入图片描述

2.2.3 创建触发器:模板 —> 选择新建的模板 A_Oracle —> 触发器 —> 创建触发器

在这里插入图片描述

2.2.4 填入相应的信息

名称:Oracle 存在超过 10 分钟的长事务
表达式:last(/TESTDB_192.168.111.139/db.odbc.select[oracle_long_query,"{
   $ORACLE.DSN}"])>0

在这里插入图片描述
在这里插入图片描述

2.2.5 查看是否可用

可以获取到值则可用
在这里插入图片描述

在这里插入图片描述

2.3 在A_Oracle模板下创建监控项 :Oracle 表空间使用率超过90%且剩余空间小于50G

2.3.1 模板 —> 监控项 —> 创建监控项

在这里插入图片描述
在这里插入图片描述

2.3.2 填入相应的信息

名称:Oracle 表空间使用率超过90%且剩余空间小于50G
类型:数据库监控
键值:db.odbc.select[db_tablespace_90,"{
   $ORACLE.DSN}"]
SQL查询:select count(*) count from (select tablespace_name , sum(bytes)/1024/1024 free from dba_free_space where tablespace_name not like '%UNDO%' group by tablespace_name) a,(select tablespace_name , sum(bytes)/1024/1024 total ,AUTOEXTENSIBLE from dba_data_files where tablespace_name not like '%UNDO%' group by tablespace_name,AUTOEXTENSIBLE) b where a.tablespace_name(+)=b.tablespace_name and round((b.total-a.free)/b.total*100,2) > 90 and a.free < 51200

在这里插入图片描述

2.3.3 创建触发器:模板 —> 选择新建的模板 A_Oracle —> 触发器 —> 创建触发器

在这里插入图片描述
在这里插入图片描述

2.3.4 填入相应的信息

名称:Oracle 表空间使用率超过 90% 且剩余空间小于 50G
表达式:last(/A_Oracle/db.odbc.select[db_tablespace_90,"{
   $ORACLE.DSN}"])>0

在这里插入图片描述
在这里插入图片描述

2.3.5 查看是否可用

获取到值则可用
在这里插入图片描述

2.4 在A_Oracle模板下创建监控项 :Oracle 表空间使用率超过75%且剩余空间小于200G

2.4.1 模板 —> 监控项 —> 创建监控项

在这里插入图片描述
在这里插入图片描述

2.4.2 填入相应的信息

名称:Oracle 表空间使用率超过75%且剩余空间小于200G
类型:数据库监控
键值:db.odbc.select[db_tablespace,"{
   $ORACLE.DSN}"]
用户名称:{
   $ORACLE.USER}
密码:{
   $ORACLE.PASSWORD}
sql查询:select count(*) count from (select tablespace_name , sum(bytes)/1024/1024 free from dba_free_space where tablespace_name not like '%UNDO%' group by tablespace_name) a,(select tablespace_name , sum
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值