使用DATABASE Log off收集oracle 等待事件信息
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,实例级别的监控,一直开启并且低开销:建立基础表:create table sys.sesstat_history tablespace EOL asSELECT c.username, c
千家信息网最后更新 2025年11月09日使用DATABASE Log off收集oracle 等待事件信息
实例级别的监控,一直开启并且低开销:
建立基础表:
create table sys.sesstat_history tablespace EOL asSELECT c.username, c.osuser, a.sid, c.serial#, c.paddr, c.process, c.logon_time, a.statistic#, b.name, a.value, SYSDATE AS logoff_timestamp FROM v$sesstat a, v$statname b, v$session c WHERE 1 = 2create table sys.session_event_history tablespace EOLas SELECT b.sid, b.SERIAL#, b.username, b.osuser, b.paddr, b.process, b.logon_time, b.type, a.event, a.total_waits, a.total_timeouts, a.time_waited, a.average_wait, a.max_wait, SYSDATE AS logoff_timestamp FROM v$session_event a, v$session b WHERE 1 = 2
创建触发器:
CREATE OR REPLACE TRIGGER sys.logoff_trig BEFORE logoff ON DATABASEDECLARE logoff_sid PLS_INTEGER; logoff_time DATE := SYSDATE;BEGIN SELECT sid INTO logoff_sid FROM v$mystat WHERE rownum < 2; INSERT INTO sys.session_event_history (sid, serial#, username, osuser, paddr, process, logon_time, TYPE, event, total_waits, total_timeouts, time_waited, average_wait, max_wait, logoff_timestamp) SELECT b.sid, b.serial#, b.username, b.osuser, b.paddr, b.process, b.logon_time, b.type, a.event, a.total_waits, a.total_timeouts, a.time_waited, a.average_wait, a.max_wait, SYSDATE AS logoff_timestamp FROM v$session_event a, v$session b WHERE a.sid = b.sid AND b.username = login_user AND b.sid = logoff_sid; INSERT INTO sys.sesstat_history (username, osuser, sid, serial#, paddr, process, logon_time, statistic#, NAME, VALUE, logoff_timestamp) SELECT c.username, c.osuser, a.sid, c.serial#, c.paddr, c.process, c.logon_time, a.statistic#, b.name, a.value, logoff_time FROM v$sesstat a, v$statname b, v$session c WHERE a.statistic# = b.statistic# AND a.sid = c.sid AND b.name IN ('CPU used where call started', 'CPU used by this session', 'recursive cpu usage', 'parse time cpu') AND c.sid = logoff_sid AND c.username = login_user;END;查询消耗CPU的等待事件排名:
SQL> SELECT * FROM (SELECT a.sid, a.serial#, a.event, a.total_waits FROM session_event_history a ORDER BY a.time_waited DESC) WHERE rownum < 100; 2 3 4 5 SID SERIAL# EVENT TOTAL_WAITS---------- ---------- ------------------------------------------------------------ ----------- 1858 8391 SQL*Net message from client 147692 1437 52565 SQL*Net message from client 34305 584 52801 SQL*Net message from client 85105 585 40229 SQL*Net message from client 163331 874 3263 SQL*Net message from client 77519 1285 21797 SQL*Net message from client 19041 861 25015 SQL*Net message from client 194 726 9275 SQL*Net message from client 66724 1717 1935 SQL*Net message from client 92394 1014 883 SQL*Net message from client 34455 21 10841 SQL*Net message from client 28685
事件
基础
实例
开销
级别
触发器
查询
消耗
监控
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
删除公司数据库合法吗
湖南常规软件开发制造价格
山东网络安全宣传视频小学生
用知识图谱做数据库
监控存储服务器维修方案
青岛直播软件开发哪家靠谱
网络技术挑战赛ppt
实施好网络安全法
北京三万互联网科技有限公司
网络安全消费
软件开发专业ppt答辩
软件开发跳槽时间
浙江软件开发产品
无线传感器网络技术...
net软件开发课程
软件开发网怎么销售
无锡it软件开发培训学校
以下哪种登陆运维服务器
怎么查看当前服务器的主机名称
唐山php软件开发
2021服务器价格上涨优势浪潮
软件开发的原型设计要求
27岁还可以学软件开发
网络安全健康句子
掌上通三级网络技术
增量软件开发
网络安全产品发展变化的趋势
日常网络安全监测制度
centos退出数据库用户
软件开发实用新型专利费用