随笔 - 0, 文章 - 264, 评论 - 170, 引用 - 0
数据加载中……

oracle下监控session、表空间性能数据

ORACLE下监控SESSION、表空间性能数据,需要以DBA身份,取得一些系统视图的信息。
建立两个表,
viva_session表,包含字段id(序列递增),createdate(默认系统时间sysdate),inactiveCount(不活跃会话数),activeCount(活跃会话数)。
viva_tablespace表,包含字段字段id(序列递增),createdatet(默认系统时间sysdate),tablespace_name(表空间名称),total_mb(总大小),used_mb(已使用的大小),used_pct(已使用的比例)。
1、SESSON数据的取得,代码:
create or replace procedure viva_session_proc is
begin
DECLARE
  inactiveCount NUMBER;
  activeCount NUMBER;
begin
  select count(
*) into inactiveCount from v$session where status='INACTIVE';
  select count(
*) into activeCount from v$session where status='ACTIVE';
  insert into pmsuser.viva_session(inactive,active)
  values(inactiveCount,activeCount);
end;
end viva_session_proc;
2、表空间数据的取得,代码:
create or replace procedure viva_tablespace_proc is
begin
  insert into pmsuser.viva_tablespace(tablespace_name,total_mb,used_mb,used_pct)
  select 
  total.tablespace_name,
  round(total.MB, 
2) as Total_MB,round(total.MB - free.MB, 2) as Used_MB,
round((
1 - free.MB / total.MB) * 1002|| '%' as Used_Pct
from (select tablespace_name, sum(bytes) 
/ 1024 / 1024 as MB
from dba_free_space
group by tablespace_name) free,
(select tablespace_name, sum(bytes) 
/ 1024 / 1024 as MB
from dba_data_files
group by tablespace_name) total
where free.tablespace_name 
= total.tablespace_name;

end viva_tablespace_proc;


posted on 2010-11-05 15:22 小一败涂地 阅读(996) 评论(0)  编辑  收藏 所属分类: 数据库(oracle、mysql、sql server等)相关


只有注册用户登录后才能发表评论。


网站导航: