作为一名DBA,你需要对oracle的连接和内存使用情况了如指掌。不能等到出了问题才去排查,平时也需要监控。下面分享一下如何通过sql检查oracle的连接和内存使用情况。
1.检查连接到oracle的所有计算机的连接号。
select ***chine,count(*)from v $ session group by ***chine;
2.检查连接到oracle的所有计算机的连接号和状态。
select ***chine,status,count(*)from v$session group by ***chine,statusorder by status。
3.oracle的PGA、SGA和进程计数
选择‘SGA ’作为名称,ROUND(sum(value)/1024/1024,2)| | ’M & # 8217AS & # 8220尺寸(米)”来自v $ sga
选择‘PGA & # 8217作为名称,ROUND(value/1024/1024,2)| | ’M & # 8217AS & # 8220尺寸(米)”from v $ pgastatwhere name = & # 8217总PGA分配’;
选择‘总计’作为名称,((SELECT ROUND(sum(value)/1024/1024,2)from v $ SGA)+(SELECT ROUND(value/1024/1024,2)from v $ pgasttwwhere NAME = ’总PGA分配’))||’M & # 8217AS & # 8220尺寸(米)”来自DUAL
SELECT NAME,TO _ CHAR(VALUE)FROM V$pgastwatwhere NAME = ’进程计数’;
4。检查oracle进程消耗的内存
SELECT * FROM V $ PROCESS _ MEMORY
5.检查oracle流程的使用情况
从V$PROCESS中选择程序,PGA_USED_MEM,PGA_ALLOC_MEM,PGA_FREEABLE_MEM,PGA _ MAX _ MEM;
如果你有什么好的sql,可以分享给我们。
本文来自幻墨如烟投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/482913.html