作为DBA需要对oracle的连接情况和内存使用情况了如指掌,不能等出问题的时候再去排除问题,平时也需要做好监控。下面分享下怎么通过sql去查看oracle的连接情况和内存使用情况。
1、查看连接oracle的所有机器的连接数
select machine,count(*) from v$session group by machine;
2、查看连接oracle的所有机器的连接数和状态
select machine,status,count(*)from v$sessiongroup by machine,statusorder by status;
3、oracle的PGA、SGA和process count
select ‘SGA’ AS NAME,ROUND(sum(value)/1024/1024,2)||’M’ AS “SIZE(M)” from v$sga;
select ‘PGA’ AS NAME,ROUND(value/1024/1024,2)||’M’ AS “SIZE(M)” from v$pgastatwhere name=’total PGA allocated’;
select ‘TOTAL’ AS NAME,((SELECT ROUND(sum(value)/1024/1024,2)from v$sga)+(select ROUND(value/1024/1024,2)from v$pgastatwhere name=’total PGA allocated’))||’M’ AS “SIZE(M)” FROM DUAL;
SELECT NAME,TO_CHAR(VALUE)FROM V$PGASTATWHERE NAME=’process count’;
4、查看oracle进程消耗的内存
SELECT * FROM V$PROCESS_MEMORY;
5、查看oracle进程的使用
SELECT PROGRAM, PGA_USED_MEM, PGA_ALLOC_MEM, PGA_FREEABLE_MEM, PGA_MAX_MEM FROM V$PROCESS;
大家有什么好的sql也可以一起分享下哦,共勉。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。