小机上监控AIX和数据库管理系统的运行情况直到性能优化(SQL语句优化和排除硬件问题)

AIX下的命令

1)topas   检测操作系统的运行状况

2)nmon(c--cpu,m--memory,d--disk)  检测这3个的情况

ORACLE下的命令

提示:下面这些视图都是实时监控生产机上数据库的情况查询结果每个时刻都随数据库系统当时的情况在变化

(1)

selectopname,target,start_time,last_update_time,sql_hash_value from v$session_longopsorder by start_time desc

select * from v$sqltext wherehash_value=529107050 order by piece

上面的两个语句用来监控系统中有哪些语句是走全表扫描的,然后根据其hash_value到第2视图中找到具体的sql语句。

注意查全表扫描的那2个操作要快  ,否则第2个句子查不出来 ,因为缓存会很快被清掉,所以要在数据库系统繁忙的时候,去用这2个句子来监控,因为这样缓存不会清空这么快

 

select status from v$session

查看客户端用到的数据库连接池的连接数有多少,active表示正在连的connection(会话),inactive表示在连接池中未被使用的connection(会话),如果连接池到达最大连接数且连接都被占用,系统再去查询数据库就必须排队等待连接池中新的空闲connection释放.

(2)

select substr(b.SQL_TEXT,1,80),count(*)from v$sqlarea b having count(*)>100 group by substr(b.SQL_TEXT,1,80) orderby 2 desc

用来实时查询生产机数据库系统当前正在执行的相同sql语句超过80个字符且正在执行状态中超过100条的sql语句有哪些。


作者:ChenLuLouis
出处:http://www.cnblogs.com/chenlulouis/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-chenlulouisBlog

原文地址:https://www.cnblogs.com/chenlulouis/p/1867770.html