使用SQL查询监控Oracle性能

问题描述 投票:0回答:2

我想问几个关于Oracle监控的问题。我可以使用SQL查询获取监视数据,如CPU利用率,RAM利用率,HDD空间,表空间等。我是否需要使用特权用户或我可以使用每个Oracle用户?如果不可能,有哪些替代方案?

oracle oracle11g oracle10g
2个回答
1
投票

根据您提到的内容,我认为只应使用查询监控表空间使用情况。 (在这里查看非常好的查询:Find out free space on tablespace

应该在操作系统级别监视CPU和文件系统(异常可能是ASM,其中查询可能比ASM控制台更容易使用)。

如果要监视单个会话的使用情况,则需要访问数据字典的权限,例如v$sql_workarea_activev$session获取会话或查询的RAM使用,或v$session_wait获取等待等信息。我不知道您希望监控的是什么,但Oracle文档是您的朋友,可以找到有关这些词典的信息。

我所知道的最佳解决方案是使用Oracle Enterprise Manager,您可以轻松监控所有指标并创建自己的指标。

您还可以使用Zabbix(或您选择的其他)等开源工具实现自己的指标监控。这也是便宜得多的方式。


1
投票

Oracle具有性能视图,我们将从中获取有关Oracle数据库性能的信息。

要回答您的问题,您可以使用SQL查询查询v $ osstat视图以获取有关CPU利用率,RAM利用率,HDD等的信息.Official Oracle documentation on v$osstat

Image of query and result

还有很多其他视图,尤其是v $ sysstat,v $ sqlstat,v $ sys_time_model,v $ metric,您可以在其中挖掘大量与性能相关的信息。您可以参考以下链接,查看可以在Oracle中查询的所有基本指标

Oracle Metrics List by Don Burleson

© www.soinside.com 2019 - 2024. All rights reserved.