数据库监控[Z]
--查看表锁
select
*
from
sys.v_$sqlarea
where
disk_reads>100
--监控事例的等待
select
event,
sum
(decode(wait_Time,0,0,1))
"Prev"
,
sum
(decode(wait_Time,0,1,0))
"Curr"
,
count
(*)
"Tot"
from
v$session_Wait
group
by
event
order
by
4
--回滚段的争用情况
select
name
, waits, gets, waits/gets
"Ratio"
from
v$rollstat a, v$rollname b
where
a.usn = b.usn
--查看前台正在发出的SQL语句
select
user_name,sql_text
from
v$open_cursor
where
sid
in
(
select
sid
from
(
select
sid,serial#,username,program
from
v$session
where
status=
'ACTIVE'
))
--数据表占用空间大小情况
select
segment_name,tablespace_name,bytes,blocks
from
user_segments
where
segment_type=
'TABLE'
ORDER
BY
bytes
DESC
,blocks
DESC
--查看表空间碎片大小
select
tablespace_name,round(sqrt(
max
(blocks)/
sum
(blocks))*
(100/sqrt(sqrt(
count
(blocks)))),2) FSFI
from
dba_free_space
group
by
tablespace_name
order
by
1
--查看表空间占用磁盘情况
select
b.file_id 文件ID号,
b.tablespace_name 表空间名,
b.bytes 字节数,
(b.bytes-
sum
(nvl(a.bytes,0))) 已使用,
sum
(nvl(a.bytes,0)) 剩余空间,
sum
(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
from
dba_free_space a,dba_data_files b
where
a.file_id=b.file_id
group
by
b.tablespace_name,b.file_id,b.bytes
order
by
b.file_id
--查看session使用回滚段
SELECT
r.
name
回滚段名,
s.sid,
s.serial#,
s.username 用户名,
t.status,
t.cr_get,
t.phy_io,
t.used_ublk,
t.noundo,
substr(s.program, 1, 78) 操作程序
FROM
sys.v_$session s,sys.v_$
transaction
t,sys.v_$rollname r
WHERE
t.addr = s.taddr
and
t.xidusn = r.usn
ORDER
BY
t.cr_get,t.phy_io
--查看SGA区剩余可用内存
select
name
,
sgasize/1024/1024
"Allocated(M)"
,
bytes/1024
"自由空间(K)"
,
round(bytes/sgasize*100, 2)
"自由空间百分比(%)"
from
(
select
sum
(bytes) sgasize
from
sys.v_$sgastat) s, sys.v_$sgastat f
where
f.
name
=
'free memory'
--监控表空间I/O比例
select
df.tablespace_name
name
,df.file_name
"file"
,f.phyrds pyr,
f.phyblkrd pbr,f.phywrts pyw, f.phyblkwrt pbw
from
v$filestat f, dba_data_files df
where
f.file# = df.file_id
order
by
df.tablespace_name
--监控SGA命中率
select
a.value + b.value
"logical_reads"
,
c.value
"phys_reads"
,
round(100 * ((a.value+b.value)-c.value) / (a.value+b.value))
"BUFFER HIT RATIO"
from
v$sysstat a, v$sysstat b, v$sysstat c
where
a.statistic# = 38
and
b.statistic# = 39
and
c.statistic# = 40
--监控 SGA 中字典缓冲区的命中率
select
parameter, gets,Getmisses , getmisses/(gets+getmisses)*100
"miss ratio"
,
(1-(
sum
(getmisses)/ (
sum
(gets)+
sum
(getmisses))))*100
"Hit ratio"
from
v$rowcache
where
gets+getmisses <>0
group
by
parameter, gets, getmisses
--监控 SGA 中共享缓存区的命中率,应该小于1%
select
sum
(pins)
"Total Pins"
,
sum
(reloads)
"Total Reloads"
,
sum
(reloads)/
sum
(pins) *100 libcache
from
v$librarycache
--监控 SGA 中重做日志缓存区的命中率,应该小于1%
SELECT
name
, gets, misses, immediate_gets, immediate_misses,
Decode(gets,0,0,misses/gets*100) ratio1,
Decode(immediate_gets+immediate_misses,0,0,
immediate_misses/(immediate_gets+immediate_misses)*100) ratio2
FROM
v$latch
WHERE
name
IN
(
'redo allocation'
,
'redo copy'
)
--监控内存和硬盘的排序比率,最好使它小于 .10
SELECT
name
, value
FROM
v$sysstat
WHERE
name
IN
(
'sorts (memory)'
,
'sorts (disk)'
)
--监控字典缓冲区
SELECT
SUM
(GETS)
"DICTIONARY GETS"
,
SUM
(GETMISSES)
"DICTIONARY CACHE GET MISSES"
FROM
V$ROWCACHE
--非系统用户建在SYSTEM表空间中的表
SELECT
owner,table_name
FROM
DBA_TABLES
WHERE
tablespace_name
in
(
'SYSTEM'
,
'USER_DATA'
)
AND
owner
NOT
IN
(
'SYSTEM'
,
'SYS'
,
'OUTLN'
,
'ORDSYS'
,
'MDSYS'
,
'SCOTT'
,
'HOSTEAC'
)
--性能最差的SQL
SELECT
*
FROM
(
SELECT
PARSING_USER_ID EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,sql_text
FROM
v$sqlarea
ORDER
BY
disk_reads
DESC
)
WHERE
ROWNUM<100
--读磁盘数超100次的sql
select
*
from
sys.v_$sqlarea
where
disk_reads>100
--最频繁执行的sql
select
*
from
sys.v_$sqlarea
where
executions>100
--查询使用CPU多的用户session
select
a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser,value/60/100 value
from
v$session a,v$process b,v$sesstat c
where
c.statistic#=12
and
c.sid=a.sid
and
a.paddr=b.addr
order
by
value
desc
--当前每个会话使用的对象数
SELECT
a.sid,s.terminal,s.program,
count
(a.sid)
FROM
V$ACCESS a,V$SESSION s
WHERE
a.owner <>
'SYS'
AND
s.sid = a.sid
GROUP
BY
a.sid,s.terminal,s.program
ORDER
BY
count
(a.sid)
数据库监控[Z]的更多相关文章
- 【Paddy】数据库监控系列(一) - 监控理念
很多时候,都和身边朋友聊两个问题,DBA的日常工作都是哪些?什么才是数据库方面最重要的? 我相信这两个问题的答案每个人都不会完全一样,我也是,所以这里只代表我的个人观点,并且以下的内容将围绕我的思路展 ...
- SQLServer数据库监控代码
SQLServer数据库监控代码: creation_time, total_worker_time, last_worker_time, max_worker_time, min_worker_ti ...
- 现在的SQLSERVER数据库监控软件有哪些?
现在的SQLSERVER数据库监控软件有哪些? 收集了一下当前SQLSERVER数据库监控软件,发现开源免费的真的是“没有” Questsoftware Quest's spotlight(收费) ...
- 6. SQL Server数据库监控 - 如何告警
原文:6. SQL Server数据库监控 - 如何告警 常用的告警方式大致有:短信.邮件.应用程序 (beep提示,图标提示,升窗提示等),可是不能一直坐在电脑前看着应用程序,或者用脚本部署监控,根 ...
- 基于telegraf+influxdb+grafana进行postgresql数据库监控
前言 随着公司postgresql数据库被广泛应用,尤其是最近多个项目在做性能测试的时候都是基于postgresql的数据库,为了确定性能瓶颈是否会出现在数据库中,数据库监控也被我推上了日程.在网上找 ...
- 企业级数据库监控利器Lepus
开篇介绍官方网站:http://www.lepus.cc开源企业级数据库监控系统简洁.直观.强大的开源数据库监控系统,MySQL/Oracle/MongoDB/Redis一站式性能监控,让数据库监控更 ...
- 天兔(Lepus)数据库监控系统安装笔记
天兔(Lepus)数据库监控系统安装笔记 一.部署:本次操作系统:centos6.9 IP:192.168.153.145Lepus_v3.8_beta MySQL-python-1.2.5xampp ...
- 天兔(Lepus)数据库监控系统快速安装部署
天兔(Lepus)数据库监控系统安装 实战 Part1:写在最前 Lepus安装需要Lamp环境,Lamp环境的安装个人认为比较费劲,XAMPP的一键部署LAMP环境省心省力, lepus官网手册也建 ...
- CentOS 7.2安装lepus数据库监控系统
环境说明 系统版本 CentOS 7.2 x86_64 软件版本 lepus 3.7 Lepus是一套开源的数据库监控平台,目前已经支持MySQL.Oracle.SQLServer.MongoDB ...
随机推荐
- 前端判断用户请求是PC还是移动端
链接:https://www.zhihu.com/question/20004700/answer/13678113 第一步先在服务器端使用User Agent判断,先匹配出移动设备,这一步可以统计U ...
- asp.net断点续传技术---下载(转)
断点续传的原理 在了解HTTP断点续传的原理之前,先来说说HTTP协议,HTTP协议是一种基于tcp的简单协议,分为请求和回复两种.请求协议是由客户机(浏览器)向服务器(WEB SERVER)提交请求 ...
- UVa1592 数据库(摘)
输入一个n行m列的数据库(1<=n<=10000,1<=m<=10),是否存在两个不同行r1,r2和两个不同列c1,c2,使得这两行和这两行相同(即(r1,c1)和(r2,c1 ...
- 字符串分割与数组的分割 split()VSsplice()&slice()
一.作用对象 1.split()方法是对字符串的操作:splice()和slice()是对数组的操作.slice()也可用于字符串. 二.参数 1.split(separator,howmany) 参 ...
- SQL SERVER中如何格式化日期
1. SELECT convert(varchar, getdate(), 100) -- mon dd yyyy hh:mmAM (or PM) -- Oct 2 2008 11:01AM ...
- SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005
SQL Server 2012SQL Server 2012 开发版(DVD)(X64,X86)(中文简体)ed2k://|file|cn_sql_server_2012_developer_edit ...
- 论JS的重要性
最近有学习了JavaScript,学习的过程中发现js对于前端工程师来说可以是最终要的一部分. 个人认为js就是一门语言,如果把前端比作一个人的身体,那么html就是一个人的结构,css就是这个人长的 ...
- SQL Server 无法打开物理文件的 2 种解决办法
解决方法: 方法1.无法打开可以能是没有权限.如果是这样以管理员身份运行Managerment Studio就可以了. 方法2.找到指定的数据库文件.右键属性-->安全-->勾上 ‘完全 ...
- 基于Keil C的覆盖分析,总结出编程中可能出现的几种不可预知的BUG
基于Keil C的覆盖分析,总结出编程中可能出现的几种不可预知的BUG,供各位网友参考 1.编译时出现递归警告,我看到很多网友都采用再入属性解决,对于再入函数,Keil C不对它进行覆盖分析,采用模拟 ...
- javascript之DOM操作
一.document.getElementById() 根据Id获取元素节点 <div id="div1"> <p id="p1"> ...