A Simple Monitoring Tool
This tool loops a specified number of times, displaying memory usage along with user process counts for a specific username.
--=================================================
--
-- proc_ora_monitor
--
-- parm1: username to count
-- parm2: number of loops, 5 sec duration
--=================================================
set serveroutput on ;create or replace procedure
proc_ora_monitor ( user1 in varchar, reps1 in integer )
isi number ;
usercount1 number ;
memory1 number ;
date1 varchar(20) ;
msg varchar(99) ;begini := 0 ;while ( i < reps1 )
loop
msg := '=> ' || to_char(SYSDATE, 'HH:MM:SS PM'); select count(1)
into usercount1
from sys.v_$session
where username = user1 ; msg := msg || ', ' || user1 || ': ' || usercount1 ; select round(sum(bytes)/1024/1024 ,2)
into memory1
from sys.v_$sgastat
where pool = 'shared pool' and
name = 'free memory' ; msg := msg || ', free mb = ' || memory1 ; select round(sum(bytes)/1024/1024 ,2)
into memory1
from sys.v_$sgastat
where pool = 'shared pool' and
name = 'processes' ; msg := msg || ', processes mb = ' || memory1 ; dbms_output.put_line(msg) ; dbms_lock.sleep(5) ; i := i + 1 ;
end loop ;end;
/
show errors ;
execute proc_ora_monitor('SILVERUSER',2) ;
This tool loops a specified number of times, displaying memory usage along with user process counts for a specific username.
--=================================================
--
-- proc_ora_monitor
--
-- parm1: username to count
-- parm2: number of loops, 5 sec duration
--=================================================
set serveroutput on ;create or replace procedure
proc_ora_monitor ( user1 in varchar, reps1 in integer )
isi number ;
usercount1 number ;
memory1 number ;
date1 varchar(20) ;
msg varchar(99) ;begini := 0 ;while ( i < reps1 )
loop
msg := '=> ' || to_char(SYSDATE, 'HH:MM:SS PM'); select count(1)
into usercount1
from sys.v_$session
where username = user1 ; msg := msg || ', ' || user1 || ': ' || usercount1 ; select round(sum(bytes)/1024/1024 ,2)
into memory1
from sys.v_$sgastat
where pool = 'shared pool' and
name = 'free memory' ; msg := msg || ', free mb = ' || memory1 ; select round(sum(bytes)/1024/1024 ,2)
into memory1
from sys.v_$sgastat
where pool = 'shared pool' and
name = 'processes' ; msg := msg || ', processes mb = ' || memory1 ; dbms_output.put_line(msg) ; dbms_lock.sleep(5) ; i := i + 1 ;
end loop ;end;
/
show errors ;
execute proc_ora_monitor('SILVERUSER',2) ;
解决方案 »
- linux下oracle问题
- ORA-12518 TNS:监听程序无法分发客户机连接
- oracle 删除数据文件错误!!在线等,急急急
- 问一个通过id 父id的问题
- 老难题:连接oracle 时出现的异常java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
- 请问大家一条SQL
- 如何判断指定的字段是否为主键 200603
- 请问如何解决OIP-04117的问题.
- 怎样能导出数据库的表结构,视图及触发器?
- WEB接口:ORACLE,验证用户名和口令的。
- 输入参数长度设定
- OracleOraHome81ManagementServer服务启动后又停止了,这是什么原因?
windows nt perfmon