Oracle等待事件查询语句整理

OAF知识点整理 1、processFormRequest不能更改webBean的属性 2、row.setNewRowState(Row.STATUS_NEW/STATUS_INITIALIZED); 两种状态的区别:   a.STATUS_NEW 会对新增的行进行有效的验证,如有必填项,若未填写,则新增失败,     而 STATUS_INITIALIZED 不会进行验证   b.在新增后设置STATU 阅读详情

**–查询阻塞和被阻塞的session,支持RAC,按instance分组

SELECT a.INST_ID,
       a.sid,
       a.SERIAL#,
       a.USERNAME,
       a.SQL_ID,
       a.PROGRAM,
       a.EVENT,
       a.BLOCKING_SESSION,
       a.WAIT_TIME_MICRO
  FROM GV$SESSION A
 WHERE (A.INST_ID, a.SID) in
       (select b.BLOCKING_INSTANCE, b.BLOCKING_SESSION from gv$session b)
union all
select a.INST_ID,
       a.sid,
       a.SERIAL#,
       a.USERNAME,
       a.SQL_ID,
       a.PROGRAM,
       a.EVENT,
       a.BLOCKING_SESSION,
       a.WAIT_TIME_MICRO
  FROM GV$SESSION A
 where a.BLOCKING_SESSION is not null
 order by BLOCKING_SESSION nulls first;

–最近30分钟内ASH采样到的等待事件排名,支持RAC,按instance分组

select *
  from (select inst_id,
               rank() over(partition by inst_id order by cnt desc) rk,
               event,
               cnt
          from (select ash.INST_ID, ash.EVENT, count(*) CNT
                  from gv$active_session_history ash
                 where ash.SAMPLE_TIME > sysdate - 1 / 24 / 60 * 30
                   and event is not null
                 group by ash.INST_ID, ash.EVENT))
 where rk <= 10;

–某段事件内ASM采样到的等待事件排名,并查询采样中,产生此等待事件的SQL,支持rac,按 instance分组

select a.inst_id, a.event, a.sql_id, a.sql_cnt, b.cnt event_cnt, sql_rk
  from (select inst_id,
               event,
               sql_id,
               sql_cnt,
               rank() over(partition by event order by sql_cnt desc) sql_rk
          from (select ash.INST_ID, ash.EVENT, ash.SQL_ID, count(*) sql_cnt
                  from gv$active_session_history ash
                 where to_char(ash.SAMPLE_TIME, 'YYYY-MM-DD HH24:MI:SS') >
                       '2021-07-25 14:00:00'
                   AND to_char(ash.SAMPLE_TIME, 'YYYY-MM-DD HH24:MI:SS') <
                       '2021-07-25 16:00:00'
                   AND EVENT IS NOT NULL
                 GROUP BY ASH.INST_ID, ASH.EVENT, ASH.SQL_ID)) A,
       (SELECT INST_ID, EVENT, CNT
          FROM (SELECT INST_ID,
                       rank() over(partition by INST_ID order by cnt desc) rk,
                       EVENT,
                       CNT
                  FROM (SELECT ASH.INST_ID, ASH.EVENT, COUNT(*) CNT
                          FROM GV$ACTIVE_SESSION_HISTORY ASH
                         where to_char(ash.SAMPLE_TIME,
                                       'YYYY-MM-DD HH24:MI:SS') >
                               '2021-07-25 14:00:00'
                           AND to_char(ash.SAMPLE_TIME,
                                       'YYYY-MM-DD HH24:MI:SS') <
                               '2021-07-25 16:00:00'
                           AND EVENT IS NOT NULL
                         GROUP BY ASH.INST_ID, ASH.EVENT))
         WHERE RK <= 3) B
 WHERE A.INST_ID = B.INST_ID
   AND A.EVENT = B.EVENT
   AND A.SQL_RK <= 5
 ORDER BY INST_ID, EVENT_CNT DESC, SQL_CNT DESC, SQL_RK;

–查看过去15天sql执行的hash_plan_id和资源消耗统计变化

select sql_id,
       endtime,
       plan_hash_value,
       nvl2(exed, exed, 0) "执行次数",
       nvl2(ems, ems, 0) "单次执行时间(ms)",
       nvl2(cms, cms, 0) "平均CCWAIT(ms)",
       nvl2(ams, ams, 0) "平均APWAIT(ms)",
       nvl2(clms, clms, 0) "平均CMWAIT(ms)",
       nvl2(ioms, ioms, 0) "平均IOWAIT(ms)",
       nvl2(ctms, ctms, 0) "平均CPU_WAIT(ms)",
       nvl2(bfgets, bfgets, 0) "平均buffer gets",
       nvl2(drd, drd, 0) "平均disk reads",
       nvl2(sd, sd, 0) "平均sort",
       nvl2(fet, fet, 0) "平均fetch",
       nvl2(rpd, rpd, 0) "平均rows process",
       snap_id
  from (select a.sql_Id,
               to_char(b.end_interval_time, 'yyyymmdd hh24:mi:ss') endtime,
               a.executions_delta exed,
               a.plan_hash_value,
               round(decode(a.executions_delta,0,0,a.elapsed_time_delta / a.executions_delta) / 1000,2) ems,
               round(decode(a.executions_delta,0,0,a.ccwait_delta / a.executions_delta) / 1000,2) cms,
               round(decode(a.executions_delta,0,0,a.apwait_delta / a.executions_delta) / 1000,2) ams,
               round(decode(a.executions_delta,0, 0,a.clwait_delta / a.executions_delta) / 1000,2) clms,
               round(decode(a.executions_delta,0, 0,a.iowait_delta / a.executions_delta) / 1000,2) ioms,
               round(decode(a.executions_delta, 0,0, a.cpu_time_delta / a.executions_delta) / 1000,2) ctms,
               round(decode(a.executions_delta, 0, 0,a.buffer_gets_delta / a.executions_delta),2) bfgets,
               round(decode(a.executions_delta,0, 0, a.disk_reads_delta / a.executions_delta),2) drd,
               round(decode(a.executions_delta,0,0, a.sorts_delta / a.executions_delta),2) sd,
               round(decode(a.executions_delta,0, 0,a.fetches_delta / a.executions_delta),2) fet,
               round(decode(a.executions_delta,0,0, a.rows_processed_delta / a.executions_delta), 4) rpd,
               b.snap_id
          from dba_hist_sqlstat a, dba_hist_snapshot b
           where sql_id = '62qcz0vz20a3t'
           and a.snap_id = b.snap_id
           and a.instance_number = b.instance_number
              --and b.instance_number=1
           and a.executions_delta <> 0
           and b.end_interval_time > sysdate - 15)
 order by snap_id

–查询某个会话的锁

select /*+rule*/SESSION_ID,OBJECT_ID,ORACLE_USERNAME,OS_USER_NAME,PROCESS,LOCKED_MODE from gv$locked_object where session_id=&sid;

–查询TMTX锁

select /*+rule*/* from v$lock where ctime >100 and type in ('TX','TM') order by 3,9;

–查询数据库中的锁

select /*+rule*/s.sid,p.spid,l.type,round(max(l.ctime)/60,0) lock_min,s.sql_id,s.USERNAME,b.owner,b.object_type,b.object_name from v$session s, v$process p,v$lock l,v$locked_object o,dba_objects b where  o.SESSION_ID=s.sid and s.sid=l.sid and o.OBJECT_ID=b.OBJECT_ID and s.paddr = p.addr and l.ctime >100 and l.type in ('TX','TM','FB') group by s.sid,p.spid,l.type,s.sql_id,s.USERNAME,b.owner,b.object_type,b.object_name order by 9,1,3,4;

说明:

dba_hist_active_sess_history/v$active_session_history查看SQL执行历史情况
v$session_wait/v$session_event查看数据库会话的等待事件
v$sga_target_advice数据库sga优化顾问视图
v$pga_target_advice数据库pga优化顾问视图
v$memory_target_advice内存优化顾问视图
dba_data_files查询表空间和对应数据文件
v$session_longops记录执行超过5s的sql,可以查询一个SQL语句执行了多长时间以及还要执行多长时间
v$fast_start_transactions/v$fast_start_servers可以查看所有回滚的事务
v$log视图可以查找到联机重做日志的日志序列号v$archived_log视图或
v$log_history视图中可以查找给定的归档重做日志的日志序列号
user_tab_columns视图将显示当前用户模式下的每张表的每一列的详细数据情况
gv$memory_dynamic_components记录内存变更的视图
gv$sql_monitor SQL监视视图
dba_tab_statistics表的信息统计**
数据库笔记整理 数据库笔记整理判断题笔记判断题1.在数据库系统阶段、数据具有物理独立性,但没有逻辑独立性。(错)2.系统故障是指造成系统停止运转的任何事件、使得系统要重新启动。例如,特定类型的硬件错误(CPU故障)、操作系统故障、DBMS代码错误、突然停电等等。(对)3.满足4NF的关系一定满足BCNF.(对)4.概念结构设计阶段得到的结果是E-R图表示的概念模型.(对)5.DB2和ORACLE数据库系统均属于全... 阅读详情

相关推荐

oracle如何查看等待事件

一、等待事件的分类 等待事件主要可以分两类,即空闲(idle)等待事件和非空闲(non-idle)等待事件。 1、空闲等待意味着Oracle正在等待某种动作的发生,实际上并不是因为繁忙而等待,而是因为没有事情做所以等待,如:smon timer,SMON进程的一些操作每隔一段时间循环执行的,即使系统不忙,此事件也不立即发生,而是等待计时器达到一定的时间才执行,此时出现的smon timer 等待事件,而系统并没有出现性能上的问题。多数的空闲等待对数据库性能的影响不大,可以不必过多的关注。 2、非空闲等

Auspicious航的博客 3934

问题分析指引之【异常等待事件】

一、前言 ORACLE等待事件,是ORACLE提供的一种非常强大的功能,能在数据库中指明正在发生的一些事件动作。通常只要ORACLE出现各类性能/异常/稀奇古怪问题,我第一件事情总是查询等待事件,这基本能定位到90%以上的问题原因。但是,处理ORACLE问题的时候不能单凭等待事件来分析,这样很可能进入死胡同。ORACLE毕竟是一个及其复杂的系统,需要把它和其周边的应用、操作系统、硬件、软件版本、配置等来做一个整体的评估才是一个优秀的DBA。 ORACLE等待事件如果细分的话可以分为很多种: SQL>

wc3083的博客 751

Oracle数据库性能优化与SQL调整指南

本文还有配套的精品资源,点击获取 简介:本书是针对Oracle数据库性能优化的实用指南,专注于提高SQL查询的执行效率。涵盖了SQL性能分析、索引策略、表设计与数据分布、查询优化器利用、内存结构与参数调优、并行执行策略、回滚段与事务管理、等待事件分析、数据库维护和性能监控与诊断等多个核心知识点。作者详细阐述了这些领域的关键概念和实践技巧,帮助数据库管理员深入理解并优化Ora...

weixin_28999139的博客 1257

【oracle等待会话及等待事件】

oracle等待会话及等待事件

beyo0102的博客 2309

智慧楼宇解决方案-全套大合集

智慧楼宇解决方案,楼宇能耗-环境-设备统一管控解决方案。

byte58的博客 2592

汇川伺服驱动器参数优化实战指南

本文详细介绍了汇川伺服驱动器参数优化的实战技巧,涵盖控制模式选择、电子齿轮比调整、刚性匹配与振动抑制等关键内容。通过实际案例和实用技巧,帮助工程师快速掌握伺服驱动器参数调校方法,提升设备运行精度和稳定性。特别针对高精度定位和高速响应场景提供了专业指导。

weixin_29070721的博客 735

Oracle等待事件查询语句

查询Oracle的等待事件 select * from ( select event, total_waits,total_timeouts,time_waited,average_wait from gv$system_event where time_waited > 0 order by time_waited desc ) where rownum <=10 ;

weixin_40913898的博客 969

避坑指南:Win11修改用户文件夹名称后,如何彻底解决残留文件与路径错误?

本文针对Win11用户修改用户文件夹名称后遇到的残留文件与路径错误问题,提供了一套完整的解决方案。从诊断进程占用、使用资源监视器与命令行强力清理,到修复系统环境变量与软件配置,并详细介绍了创建符号链接这一终极兼容方案,帮助用户彻底解决路径依赖问题,恢复系统稳定。

pz890123的博客 833

oracle 常见等待事件汇总

空闲事件可以通过stats$idle_event 表查询得到。一般来说,空闲等待是指系统因为无事可做的等待。可能表示在多表连接中,表的连接顺序存在问题。等待事件表明系统正在等待内存中的可用空间。DBWR 写出速度太慢或者IO 存在问题。控制文件的物理磁盘I/O 是否存在瓶颈。I/O 操作最为频繁的数据文件。没有很好的是用绑定变量(磁盘I/O 存在瓶颈。

485

用c++生成随机迷宫_自动生成随机迷宫(1)prim算法

“程序 = 数据 + 算法”,一款好的作品不单单是代码的堆砌,还有其灵魂的部分,那就是算法;算法是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。算法既然是解决某类型问题的规范,那么我们就学习它,并在我们的作品中使用它。从这一期开始做一个迷宫系列,包括用算法生成随机迷宫,用算法自动寻址走迷宫。 三大迷宫生成算法之一“随机Prim算法不是...

weixin_31787547的博客 2598

16、AI与无人机助力紧急器官移植及医疗物资运输

本文探讨了AI与无人机(UAV)集成模型在紧急器官移植和医疗物资运输中的应用。传统运输方式受限于交通、时间和环境因素,而基于图神经网络(GNN)的AI-UAV系统可实现高效、智能、全天候的医疗物资配送,具备实时温湿度监控、自动导航和适应复杂地形等优势。文章分析了该模型在血液、器官运输中的关键作用,展示了其在澳大利亚、中国、美国等国的实际应用案例,并通过表格与流程图说明运作机制。同时,文章还探讨了技术、法规和社会层面的挑战及应对策略,展望了未来技术融合、应用拓展和国际合作的发展趋势,凸显其在全球医疗物流中的广

lll78的博客 102

oracle知识整理_锁及等待事件SQL_第二部分

本文深入探讨Oracle数据库锁机制与等待事件分析的实战技巧。针对生产环境中常见的锁阻塞、死锁等问题,提供了7个核心SQL查询模板:1)阻塞会话追踪SQL,可定位会话间的锁等待关系;2)会话锁详情查询,展示锁类型与对象信息;3)DDL锁排查方案,包含查杀会话语句;4)锁会话终止命令生成;5)全局锁等待分析;6)跨节点阻塞分析;7)10046事件跟踪与TX锁专项分析方法。这些语句覆盖从行级锁竞争到系统级Hang分析的完整链路,均经过生产验证,可快速定位"会话卡死""SQL超时&q

shlei5580的专栏 204

华为MetaERP的交易计税模块(即“税务引擎”)在设计上确实受到Oracle E-Business Tax(EBTax)等国际先进税务架构理念的影响,但结合了华为自身全球化运营、多准则合规、高并发处

华为MetaERP税务引擎在借鉴Oracle EBTax三层架构基础上,创新升级为五层智能税务架构,实现从"税码驱动"到"场景+规则+AI驱动"的转变。该模块采用云原生微服务架构,支持全球190+国家税务规则动态加载,具备实时计税、多准则并行处理、AI风险预警等核心能力,深度适配金税工程等国内合规要求。通过税务数字孪生、RPA机器人等创新,形成自主可控的智能税务中枢,为跨国企业提供全栈国产化税务解决方案,重新定义ERP税务管理范式。

金牌架构师 114

oracle大对象实例_ORACLE各种对象、概念及关系整理(一文读懂)

一、Oracle数据库实例这一部分主要参考(抄袭):1、用户与Oracle数据库的交互流程下面这张图,描述了单实例体系结构大致的交互流程   (1)用户和用户进程交互用户进程可以是一般的客户端软件,像Oracle的sqlplus,sql developer,或者是一些驱动程序等,都属于用户进程。(2)用户进程和服务器进程交互服务器进程有时会称为前台进程,当然是相对于后台进程(后面会提到的数据库写...

weixin_39863631的博客 288

Oracle EBS AP 应付模块核心实现逻辑(极简骨架 + 分层拆解 + 业务流转 + 分录 + 核心表)

Oracle EBS AP应付模块采用四层逻辑架构:1)主数据层统一管控供应商基础信息;2)发票负债层通过三单匹配校验生成应付账款;3)付款核销层实现负债冲减;4)SLA层自动生成财务凭证。核心流程包括发票验证(匹配PO/收货单)、付款核销(全额/部分冲账)、会计分录自动生成(通过SLA引擎)。模块严格遵循"无匹配不负债、无验证不入账"原则,与采购、库存等模块深度集成,实现从供应商创建到付款核销的完整业务闭环,确保应付账款准确性和审计追溯能力。

金牌架构师 440

节省人力成本40%!仓储物流AI机器人调度系统实战案例(含路径规划算法与系统架构图)

首先,我们需要定义一个Node类self.x = x # 节点x坐标self.y = y # 节点y坐标self.g = g # 从起点到当前节点的实际成本(g值)self.h = h # 从当前节点到终点的启发式成本(h值)self.f = g + h # 总成本(f值)self.parent = None # 父节点(用于回溯路径)self.task_id = task_id # 任务IDself.priority = priority # 任务优先级(1=最高,5=最低)

小程序开发 950

oracle 触发器的整理

创建触发器的一般语法是:   CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPDATE [OF column [, column …]]} [OR {INSERT | DELETE | UPDATE [OF column [, column …]]}...]

码农的田园 393

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

根据操作系统进程号查看oracle对应的SQL语句内容

我想,根据操作系统进程号查看oracle对应的SQL语句内容,这一需求对sql优化有一定作用,今天整理了一下。 1、 先用ps -aux查询,发现有个进程占用大量CPU,记录下PID 2、查看哪个会话在执行什么S...

cjfcxf010101的博客 570

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【DB笔试面试683】在Oracle中,什么是ORA-01555错误?

♣题目部分在Oracle中,什么是ORA-01555错误? ♣答案部分在告警日志中记录的ORA-01555(snapshot too old,快照过旧)报错信息类...

小麦苗DBA宝典 2239

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

oracle select机制_Select 语句执行顺序以及如何提高Oracle 基本查询效率

今天把这几天做的练习复习了一下,不知道自己写得代码执行的效率如何以及要如何提高,于是乎上网开始研究一些材料,现整理如下:首先,要了解在Oracle中Sql语句运行的机制。以下是sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句...

weixin_39689347的博客 400

oracle拆分分区语法详解大全_浅谈Oracle分区表之范围分区

在oracle 10g世界里面,分区表主要分range,hash,list,range-hash,range-list五种类型,在oracle 11g中,则发展到了3*3的分区组合类型,以满足更多的应用场景!但无论在什么情况下,范围分区都是最常见的一种表分区方式,尤其在需要对过期的数据进行整理归档,只保留一定时期内的数据的条件下,几乎都会优先选择使用范围分区的方式!分区表可以说是一项百利而无一害的...

weixin_39532754的博客 887

oracle应用技术支持,oracle技术支持工程师岗位职责

2、Oracle相关企业级产品的运维支持,OracleEBS,R12,ERP一线的运维支持(主要方向)2、沟通协调二线团队合作完成故障处理,推动重大事件和疑难问题的解决4、知识库技术文档编写和维护5、通过内部培训,学习相关OracleEBS、SAP,PLM等基于企业开发的应用系统,然后提供运维支持服务。任职要求:1、大专及以上学历,有海外学习或工作经验者优先考虑2、熟悉和掌握OracleEBS(R12)FIN,SCM模块的运维支持工作。3、熟悉Linux基本命令、pl/sql查询语句。

2401_84538884的博客 439

oracle 字符集语句,oracle_oracle查询字符集语句分享,(1)查看字符集(三条都是等价 - phpStudy...

oracle查询字符集语句分享(1)查看字符集(三条都是等价的)select * from v$nls_parameters where parameter='NLS_CHARACTERSET'select * from nls_database_parameters where parameter='NLS_CHARACTERSET'select * from props$ where na...

weixin_33795542的博客 167

Oracle数据库语言与数据类型

归纳了Oracle数据库常用的语句并分类如下 语言类型 命令(功能) 数据定义语言DDL CREATE(创建)ALTER(修改)DROP(删除) 数据操纵语言DML INSERT(插入)DELETE(删除)SELECT FOR(查询)UPDATE(更新) 数据查询语言DQL ORDER BY子句GROUP BY子句以及基本查询语句 数据控制语言DCL GRANT(授权)REVOKE(撤销) 事务控制语言TCL COMMIT(提交)SAVEPOINT(保存点)ROLLBACK(

数据科学知识库 166

oracle05

1.数据处理 说完了所有的查询,下面说说增、删、改。 1.1.Update 在plsql Developer工具中,加上rowid可以更改数据。 使用工具进行更新数据的操作 在工具中更新数据方式一: 在工具中更新数据方式二: 提示:是否能使用工具修改,主要看语句有没有rowid。 1.2.Insert 1.2.1.批量插入 语法: INSERT I...

weixin_30843605的博客 134
上一篇: Oracle性能管理常用命令
下一篇: Oracle的冷备+恢复
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值