【ORACLE】数据库监控常用脚本

--SQL监控常用脚本
--锁等待
select w.holding_session sid, w.* from (select * from dba_waiters) w;
--会话锁信息
select sid,
       type,
       id1,
       id2,
       decode(lmode,
              0,
              'None',
              1,
              'Null',
              2,
              'Row share',
              3,
              'Row Exclusive',
              4,
              'Share',
              5,
              'Share Row Exclusive',
              6,
              'Exclusive') lock_type,
       request,
       ctime,
       block
  from v$lock
 where TYPE IN ('TX', 'TM');

--长时SQL 9i
 select /*+ RULE */
  s.sid,
  w.seq#,
  s.serial#,
  q.sql_text,
  s.last_call_et,
  s.event,
  q.address,
  S1.SQL_ID,
  s.sql_hash_value,
  child_number
   from v$sqltext q, v$session s, V$SQL S1, v$session_wait w
  where q.address = s.sql_address
    AND S.SQL_ADDRESS = S1.ADDRESS
    and s.sid = w.sid
    and username = upper('ncv502')
    and s.status = 'ACTIVE'
  order by sid, piece


--长时SQL 10g
select s.client_identifier,
       s.sid,
       s.serial#,
       sql.sql_fulltext,
       s.last_call_et,
       s.event,
       sql.SQL_ID,
       child_number,
       s.sql_hash_value
  from v$session s, v$sql sql
 where s.sql_address = sql.ADDRESS
   and s.username = upper('ncv502')
   and s.status = 'ACTIVE'
   and s.last_call_et > 0
 order by sid

--等待事件汇总
select event, count(*) "等待数量" from v$session_wait group by event

--回滚段争用
select name, waits, gets, waits/gets "Ratio"  from v$rollstat a, v$rollname b where a.usn = b.usn 
--表空间IO分布
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 
--文件系统IO分布
select substr(a.file#,1,2) "#", substr(a.name,1,30) "Name",a.status, a.bytes, b.phyrds, b.phywrts from v$datafile a, v$filestat b where a.file# = b.file# 
--当天日志切换频率
select b.recid,to_char(b.first_time,'dd-mon-yy hh24:mi:ss') start_time,a.recid,to_char(a.first_time,'dd-mon-yy hh24:mi:ss') end_time, round(((a.first_time-b.first_time)*24)*60,2) minutes from v$log_history a,v$log_history b where a.recid=b.recid+1 and b.first_time>=trunc(sysdate)  order by a.first_time 
select * from dba_jobs --任务
select * from user_tables  --表统计信息
select * from user_indexes  --索引统计信息
--参数
select name, value,    decode(issys_modifiable,'FALSE','静态参数','IMMEDIATE','动态参数','重新登陆后生效') issys_modifiable  from v$parameter where value is not null 
--当前使用的参数文件
select decode(count(*), 1, 'spfile', 'pfile' ) from v$spparameter where rownum=1 and isspecified='TRUE'
--Buffer cache 命中率
SELECT a.VALUE + b.VALUE logical_reads,c.VALUE phys_reads,round(100*(1-c.value/(a.value+b.value)),4) hit_ratio FROM v$sysstat a,v$sysstat b,v$sysstat c WHERE a.NAME='db block gets' AND b.NAME='consistent gets'  AND c.NAME='physical reads'   
--librarycache 命中率
SELECT SUM(pins) total_pins,SUM(reloads) total_reloads,SUM(reloads)/SUM(pins)*100 libcache_reload_ratio FROM v$librarycache  
--操作系统进程查询sqlsession
select a.SQL_TEXT,
       b.EVENT,
       b.LAST_CALL_ET,
       b.SID,
       b.SERIAL#,
       b.USERNAME,
       b.MACHINE
  from v$sqltext a, v$session b, v$process c
 where c.spid ='1345' --INPUT
   and b.paddr = c.addr
   and a.hash_value = b.sql_hash_value
 order by piece
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值