首页 > 数据库 >oracle 优化监控相关

oracle 优化监控相关

时间:2023-03-31 11:22:06浏览次数:32  
标签:-- object BUFFER session 监控 oracle GETS 优化 id

SELECT   sn.username, m.SID,sn.SERIAL#, m.TYPE,
         DECODE (m.lmode,
                 0, 'None',
                 1, 'Null',
                 2, 'Row Share',
                 3, 'Row Excl.',
                 4, 'Share',
                 5, 'S/Row Excl.',
                 6, 'Exclusive',
                 lmode, LTRIM (TO_CHAR (lmode, '990'))
                ) lmode,
         DECODE (m.request,
                 0, 'None',
                 1, 'Null',
                 2, 'Row Share',
                 3, 'Row Excl.',
                 4, 'Share',
                 5, 'S/Row Excl.',
                 6, 'Exclusive',
                 request, LTRIM (TO_CHAR (m.request, '990'))
                ) request,
         m.id1, m.id2
    FROM v$session sn, v$lock m
   WHERE (sn.SID = m.SID AND m.request != 0)         --存在锁请求,即被阻塞
      OR (    sn.SID = m.SID                         --不存在锁请求,但是锁定的对象被其他会话请求锁定
          AND m.request = 0
          AND lmode != 4
          AND (id1, id2) IN (
                        SELECT s.id1, s.id2
                          FROM v$lock s
                         WHERE request != 0 AND s.id1 = m.id1
                               AND s.id2 = m.id2)
         )
ORDER BY id1, id2, m.request;



--存储过程编译一直未响应  查看session情况
select event,sid,p1,p2,p3 from v$session_wait where event not like 'SQL*%' and event not like 'rdbms%';
/*
P1—与等待相关的数据文件的全部文件数量。 
P2—P1中的数据文件的块数量。 
P3—描述等待产生原因的代码。
*/
--
select object_id,owner,object_name,object_type from dba_objects where object_id=&ID1;


SELECT  EXECUTIONS , DISK_READS, BUFFER_GETS, 
ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio, 
ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run, 
SQL_TEXT 
FROM  V$SQLAREA 
WHERE  EXECUTIONS>0 
AND  BUFFER_GETS > 0 
AND  (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8 
ORDER BY  4 DESC;
--EXECUTIONS 所有子游标的执行这条语句次数
--DISK_READS  所有子游标运行这条语句导致的读磁盘次数
--BUFFER_GETS  所有子游标运行这条语句导致的读内存次数 
--Hit_radio 命中率
--Reads_per_run 每次执行读写磁盘数
--笼统的说EXECUTIONS,BUFFER_GETS,Hit_radio越高表示读内存多,磁盘少是比较理想的状态,因此越高越好 
--另外两个越高读磁盘次数越多,因此低点好

--查看消耗资源最多的SQL:
SELECT hash_value, executions, buffer_gets, disk_reads, parse_calls  
FROM V$SQLAREA  
WHERE buffer_gets > 10000000 OR disk_reads > 1000000  
ORDER BY buffer_gets + 100 * disk_reads DESC;  

--查找前10条性能差的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<10 ; 


--分析性能差的sql
SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,   
ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,   
ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,   
SQL_TEXT   
FROM V$SQLAREA   
WHERE EXECUTIONS>0   
AND BUFFER_GETS >0   
AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8

--选出最占用资源的查询 
select b.username username,a.disk_reads reads,a.executions exec,  
    a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio,  
    a.sql_text statement  
    from v$sqlarea a,dba_users b  
    where a.parsing_user_id=b.user_id  
    and a.disk_reads>100000 

--查询是否锁表
SELECT /*+ rule */ s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT Null;


select sess.sid, 
   sess.serial#, 
   lo.oracle_username, 
   lo.os_user_name, 
   ao.object_name, 
   lo.locked_mode 
   from v$locked_object lo, 
   dba_objects ao, 
   v$session sess 
where ao.object_id = lo.object_id and lo.session_id = sess.sid; 

--查看锁表进程语句
select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;

--查看表空间下的表名
select * from all_tables where tablespace_name='NGDW_DATATBS_BAS_PARTS';
select TABLE_NAME,tablespace_name from dba_tables where tablespace_name ='NGDW_DATATBS_BAS_PARTS';

--数据库未提交事务导致锁表解锁
SELECT s.sid, s.serial#,ao.object_name FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;  

select b.username,b.sid,b.serial#,logon_time
from v$locked_object a,v$session b
where a.session_id = b.sid order by b.logon_time;

SELECT  SESSION_ID   FROM   V$LOCKED_OBJECT,USER_OBJECTS WHERE   V$LOCKED_OBJECT.OBJECT_ID   =   USER_OBJECTS.OBJECT_ID

--查看序列号
SELECT SERIAL# FROM V$SESSION  WHERE SID='134'

--杀session
ALTER   SYSTEM   KILL   SESSION  '134,45311'--(48为SESSION_ID的值, 2476为SERIAL#的值)

  

标签:--,object,BUFFER,session,监控,oracle,GETS,优化,id
From: https://www.cnblogs.com/Jiu-er/p/17275714.html

相关文章

  • MATLAB代码:计及碳排放交易及多种需求响应的微网 虚拟电厂日前优化调度
    MATLAB代码:计及碳排放交易及多种需求响应的微网虚拟电厂日前优化调度关键词:碳排放交易需求响应空调负荷电动汽车微网虚拟电厂优化调度   参考文档:《计及电动汽车和需求响应的多类电力市场下虚拟电厂竞标模型》参考其电动汽车模型以及可中断负荷部分;《StochasticAdap......
  • MATLAB代码:考虑多微网电能互补与需求响应的微网双层优化模型
    MATLAB代码:考虑多微网电能互补与需求响应的微网双层优化模型关键词:多微网电能互补需求响应双层优化 动态定价 能量管理参考文档:《自编文档》仿真平台:MATLAB+CPLEX主要内容:代码主要做的是考虑多微网电能互补共享的微网双层优化模型,同时优化配电网运营商的动态电价以及微......
  • MATLAB代码:考虑P2G和碳捕集设备的热电联供综合能源系统优化调度模型
    MATLAB代码:考虑P2G和碳捕集设备的热电联供综合能源系统优化调度模型关键词:碳捕集 综合能源系统电转气P2G热电联产低碳调度 参考文档:《ModelingandOptimizationofCombinedHeatandPowerwithPower-to-GasandCarbonCaptureSysteminIntegratedEnergySystem》......
  • 现代图片性能优化及体验优化指南
    之前,整个《现代图片性能优化及体验优化指南》分了5篇来发,本文是系列合集,方便大家收藏及连贯阅读。图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽的消耗是十分巨大的。对图片的性能优化及体验优化在今天就显得尤为重要。本文,就将从各个方面阐述,在各种新特......
  • 重现一条简单SQL的优化过程
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:JennyYu文章来源:GreatSQL社区投稿背景接到客户诉求说一条SQL长时间运行不出结果,让给看看怎么回事,SQL不复杂,优化措施也不复杂,但是要想SQL达到最......
  • 容器云平台监控告警体系(三)—— 使用Prometheus Operator部署并管理Prometheus Server
    1、概述 PrometheusOperator是一种基于Kubernetes的应用程序,用于管理Prometheus实例和相关的监控组件。它是由CoreOS开发的开源工具,旨在简化Prometheus的部署和配置。容器云平台通过使用PrometheusOperator简化在Kubernetes下部署和管理Prmetheus的复杂度,其通过prome......
  • Docker安装Oracle11g
    拉取镜像#拉取镜像dockerpullregistry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g#查看镜像dockerimages镜像比较大(6.9G),可能拉取时间会很久,需要耐心等待创建容器dockerrun-d-p1521:1521--nameoracleregistry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g#......
  • Oracle PL/SQL 自治事务
    自治事务是PL/SQL静态SQL的一个特性,可声明于存储过程、函数或触发器中。它是和主事务分开的事务,可以独立执行事务,不与主事务共享锁、资源,不受主事务提交的影响。自治事务可以用来记录日志,记录计数值,而不受主事务回滚的影响。--创建自治事务的存储过程createorreplaceprocedur......
  • 使用 Oracle LogMiner 分析重做日志
    概述我们知道oracle的redo和归档日志,记录了数据库的事务的相关信息。在日常的数据库管理过程中,我们有时需要,查看特定时刻特定用户在数据库上执行的操作。这时我们可以通过用logminer分析日志文件获取相关信息。logminer分析归档日志文件所获得的信息并不是原始的操作信息,而是等......
  • NoSQL之Redis配置与优化
    一、数据库类型1.关系型数据库关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。主流的关系型数据库包括Oracle、MySQL、SQLSe......