D.9. Oracle 8i、9i、10g 和 11g
本小节中介绍的探测可用于与所支持版本匹配的 Oracle 数据库事务。Oracle 探测需要配置数据库并通过运行以下命令使其关联:
$ORACLE_HOME/rdbms/admin/catalog.sql
$ORACLE_HOME/rdbms/admin/catalog.sql
另外,为了使这些探测可以正常工作,在探测中配置的用户必须最少有 CONNECT 和 SELECT_CATALOG_ROLE 特权。
有些 Oracle 探测是特别用于调试设备以获得长期性能而不是避免运行中断。因此,Red Hat 推荐您将它们的执行频率减小,设为每小时到每两天。这样的设置可以获得好的统计数据而不会被一些无关的、短期的数据所干扰。这个原则适用于以下探测:Buffer Cache、Data Dictionary Cache、Disk Sort Ratio、Library Cache 和 Redo Log。
要使基于时间的 CRITICAL 和 WARNING 阈值起到作用,它们的值一定不能超过超时时间值。否则会在达到阈值前就返回一个 UNKNOWN 状态。因此,Red Hat 强烈推荐您将超时时间值设为大于所有的基于时间的阈值。这个原则对这一节中介绍的 TNS Ping 探测尤其重要。
最后,如果用户需要使用针对 Oracle 的多线程服务器(Multi-Threaded Server (MTS))数据库的探测,请联系 Red Hat 支持部门将相应的项加入 RHN 服务器的 /etc/hosts 文件中。这样就可以保证正确解析 DNS 名。
D.9.1. Oracle::Active Sessions 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Active Sessions 探测监控 Oracle 事务并收集以下数据:
- 活跃会话 — 基于
V$PARAMETER.PROCESSES
值的活跃会话的数量。 - 可用会话 — 基于
V$PARAMETER.PROCESSES
值的可用活跃会话百分比。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
最大活跃会话数量的 critical 阈值 | |
最大活跃会话数量的 warning 阈值 | |
最大已使用活跃会话数量的 critical 阈值 | |
最大已使用活跃会话数量的 warning 阈值 |
D.9.2. Oracle::Availability 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Availability 探测决定 RHN Satellite 中的数据库可用性。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
D.9.3. Oracle::Blocking Sessions 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Blocking Sessions 探测监控 Oracle 事务并收集以下数据:
- 阻塞会话 — 防止其他会话向该 Oracle 数据库提交更改的会话数,该数值由您提供的所需 阻塞的时间 值决定。只有那些不能在此期间(以秒计)内执行的会话才会被计为阻塞会话。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
阻塞的时间(秒)* | 20 |
超时* | 30 |
最大阻塞会话的 critical 阈值 | |
最大阻塞会话的 warning 阈值 |
D.9.4. Oracle::Buffer Cache 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Buffer Cache 探测计算缓冲区缓存点中率,优化系统全局区域(SGA)数据库缓冲区缓存的大小。它收集以下的数据:
- 数据库块 Gets — 经过单独的块 gets(而不是通过 consistent get 方法)存取的块数量。
- Consistent Gets — 在 consistent 模式中获取数据的、并放入到块缓冲区中的存取数量。
- 物理读取 — 从磁盘中读出的块的数量。
- 缓冲区缓存点中率 — 从缓冲区中获得数据而不是从硬盘上获得数据的比率。如果这个比率较低,则应添加更多的 RAM。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口 | 1521 |
超时* | 30 |
最小缓冲区缓存点中率的 warning 阈值 | |
最小缓冲区缓存点中率的 critical 阈值 |
D.9.5. Oracle::Client Connectivity 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Client Connectivity 探测决定数据库是否正在运行并可以从被监控的系统中接收连接。这个探测会打开到系统的
rhnmd
连接并在被监控的系统中运行 sqlplus connect
命令。
「预期的数据库名」参数是
V$DATABASE.NAME
的预期值。这个值是区分大小写的。如果这个值没有找到,将会返回一个 CRITICAL 状态。
要求 — 为了运行这个探测,必须在被监控的系统中运行 Red Hat Network Monitoring Daemon (
rhnmd
)。另外,nocpulse
用户必须有访问您的日志文件的权限。
项目 | 值 |
---|---|
Oracle 主机名或 IP 地址* | |
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
ORACLE_HOME* | /opt/oracle |
预期的数据库名* | |
超时* | 30 |
D.9.6. Oracle::Data Dictionary Cache 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Data Dictionary Cache 探测计算数据字典缓存点中率(Data Dictionary Cache Hit Ratio)优化
init.ora
中的 SHARED_POOL_SIZE。它收集以下的数据:
- 数据字典点中率 — 在数据字典缓存中找到需要的数据的比率。换句话说,数据库从字典中获得数据而不是从硬盘中获得数据的比率。如果这个比率较低,则要添加更多的 RAM。
- 数据库块 Gets — 经过单独的块 gets(而不是通过 consistent get 方法)存取的块数。
- 缓存未点中 — 块缓冲区从 consistent 模式中获得数据的访问数量。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
最小数据字典缓存点中率的 warning 阈值 | |
最小数据字典缓存点中率的 critical 阈值 |
D.9.7. Oracle::Disk Sort Ratio 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Disk Sort Ratio 探测监控 Oracle 数据库事务并收集以下数据:
- 磁盘排序率 — 因为太大无法在内存中完成的而使用临时片段进行的 Oracle 排序的比率。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
最大磁盘排序率的 critical 阈值 | |
最大磁盘排序率的 warning 阈值 |
D.9.8. Oracle::Idle Sessions 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Idle Sessions 探测监控 Oracle 事务并收集以下的数据:
- 空闲会话 — 根据您所提供的 空闲时间 值,处于空闲状态的 Oracle 会话数。只有已经空闲了一定时间(空闲时间中的值,以秒为单位)的会话才会被统计为空闲会话。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
空闲时间(秒)* | 20 |
超时* | 30 |
最大空闲会话数的 critical 阈值 | |
最大空闲会话数的 warning 阈值 |
D.9.9. Oracle::Index Extents 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Index Extents 探测监控 Oracle 事务并收集以下数据:
- 分配的事件 — 为任何索引分配的扩展数。
- 可用的事件 — 任何索引可用的扩展百分比。
在所需「索引名」项中会包括默认的
%
值匹配任意索引名称。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
索引拥有者* | % |
索引名* | % |
超时* | 30 |
最大分配的扩展数的 critical 阈值 | |
最大分配的扩展数的 warning 阈值 | |
最大可用扩展的 critical 阈值 | |
最大的可用扩展的 warning 阈值 |
D.9.10. Oracle::Library Cache 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Library Cache 探测计算库缓存未点中率来优化
init.ora
中的 SHARED_POOL_SIZE。它收集以下的数据:
- 库缓存未点中率 — 库缓存未被点中的比率。当会话要执行已经被解析的说明,而这个说明已经不在共享池中时,会出现这种情况。
- 执行 — 这个命名空间项需要 pin 的次数。
- 缓存未点中 — 现在必须从磁盘中恢复的,拥有从对象句柄创建后就有的 pin 的对象 pin 的数目。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
最大库缓存未点中率的 critical 阈值 | |
最大库缓存未点中率的 warning 阈值 |
D.9.11. Oracle::Locks 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Locks 探测监控 Oracle 数据库事务并收集以下数据:
- 活跃的锁定 — 由 v$locks 表决定的当前活跃的锁定数。当数据库事务中出现了大量的定锁时,数据库管理员应该注意这个情况。
锁定被用来在多个用户或进程对同一个数据进行更新时防止数据冲突的。这个探测可以会在具体数据库事务中有大量的锁定时向数据库管理员发出警告。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
最大活跃锁定数的 critical 阈值 | |
最大活跃锁定数的 warning 阈值 |
D.9.12. Oracle::Redo Log 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Redo Log 探测监控 Oracle 数据库事务并收集以下数据:
- 重复日志空间请求率 — 在服务器启动后,每分钟重复日志空间请求的平均数量。
- 重复重新尝试分配缓冲区率 — 从服务器启动后每分钟重复重新分配缓冲区的平均次数。
返回的统计数据以及它们的阈值是代表了每分钟事件改变率的数值。应该监控这个改变率,因为如果这些值增长得非常快则意味着可能出现了问题。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
最大重复日志空间请求率的 critical 阈值 | |
最大重复日志空间请求率的 warning 阈值 | |
最大重复缓冲区重新尝试分配率的 critical 阈值 | |
最大重复缓冲区重新尝试分配率的 warning 阈值 |
D.9.13. Oracle::Table Extents 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Table Extents 探测监控 Oracle 数据库事务并收集以下数据:
- 分配的扩展(任何表) — 任意表扩展的总数。
- 可用的扩展(任何表) — 任意表可用扩展的百分比。
在 Oracle 中,表扩展被用来对一个表进行扩展。当表满的时候,它会根据在表创建时配置的空间数量进行 扩展。扩展是基于每个表配置的,它有扩展的大小和最大的扩展数量。
例如,一个开始有 10MB 空间的表,将其配置为扩展的大小是 1MB、最大的扩展数是 10。这样,这样就可将其最大扩展为 20MB(10MB+10*1MB)。这个探测可以被配置为(1)警告被分配的扩展(例如,“当表的扩展超过 5 时进入 critical 状态”)或(2)这个表已经被扩展超过了它的最大扩展的具体百分比(例如:“当这个表已经使用了 80% 的它所允许的最大扩展数时进入 critical 状态”)。
必需的「表拥有者」和「表名称」项包括默认值:
%
。这个值会与任何表所有者或表名称匹配。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
表拥有者* | % |
表名称* | % |
超时* | 30 |
最大分配扩展的 critical 阈值 | |
最大分配扩展的 warning 阈值 | |
最大有效扩展的 critical 阈值 | |
最大有效扩展的 warning 阈值 |
D.9.14. Oracle::Tablespace Usage 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::Tablespace Usage 探测监控 Oracle 数据库事务并收集以下数据:
- 使用的有效空间 — 在每个表空间中已经被使用的可用空间。
表空间是一组表可以共同生存、共享的空间池。这个探测会在可用空间小于阈值的时候向用户发警告信息。表空间是以字节为单位的,因此扩展并不直接影响它(虽然每个扩展会使用掉一定的共享池空间)。
所需的「表空间名」项是区分大小写的并包括默认的值
%
与任意表名相匹配。
项目 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
表空间名* | % |
超时* | 30 |
最大使用的有效空间的 critical 阈值 | |
最大使用的有效空间的 warning 阈值 |
D.9.15. Oracle::TNS Ping 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Oracle::TNS Ping 决定是否 Oracle 侦听程序是否还工作并收集以下数据:
- 远程服务延迟 — Oracle 服务器响应连接请求的时间。
项目 | 值 |
---|---|
TNS Listener 端口* | 1521 |
超时* | 15 |
最大远程服务延迟的 critical 阈值 | |
最大远程服务延迟的 warning 阈值 |