一、解决过程
2010年3月15日上午9点半左右,数据库出现大规模的分布式事务等待。
EVENT
----------------------------------------------------------------
enq: DX - contention
enq: DX - contention
enq: DX - contention
enq: DX – contention
进一步查询引起事务等待的阻塞进程
SQL> select sid,type,id1,id2,block,REQUEST from v$lock
2 where type='DX' and block=1;
SID TY ID1 ID2 BLOCK REQUEST
---------- -- ---------- ---------- ---------- ----------
3141 DX 37 0 1 0
SQL> select serial#,sid from v$session where sid=3141;
SERIAL# SID
---------- ----------
25334 3141
根据sid,Oracle杀进程
SQL>alter system kill session ‘3141,25334’;
ORA-00031: session marked for kill
根据pid,操作系统杀进程
SQL> select spid from v$process,v$session where v$process.addr=v$session.paddr
2 and sid=3141;
SPID
------------
545572
oracle.orcl2@hisdb02:/home/oracle$kill -9 545572
数据库恢复正常
二、原因分析
此次数据库产生大规模分布式事务锁,是由医疗设备管理信息系统业务模块使用dblink同步数据库信息,导致查询DBA_PENDING_TRANSACTIONS挂起。目前已改用物化视图同步数据库信息,该业务模块引起的死锁已经解决。
分享到:
相关推荐
### Oracle AWR 分析之 enq: IV - Contention 案例解析 #### 一、概述 在Oracle数据库管理中,AWR (Automatic Workload Repository) 是一个非常重要的工具,用于诊断性能瓶颈并帮助优化数据库操作。本文将详细介绍...
总的来说,解决 `enq: PS - contention` 这类问题需要深入了解Oracle的并行执行机制,结合实际环境调整数据库配置,并通过监控和分析找到最佳的解决方案。此外,良好的数据库设计、SQL优化和合理的资源管理策略也是...
cause:当插入新的索引条目时,发现索引块中没有足够的空间容纳新的索引条目,索引块就会产生分裂(分为5-5分裂...这时就会表现为enq: TX - index contention。本例中索引块分裂属于5-5 分裂,此分裂可以通过awr报告观察
本文档详细介绍了由于序列cache值设置不当导致CPU利用率过高的故障分析及解决过程。 首先,需要了解enq:SQ-contention等待事件。该事件指的是当两个或多个会话试图同时使用同一个序列时,由于序列的当前值被一个...
5. **enq:DX-contention**:分析DX-contention类型的队列等待,了解其背后的机制及应对措施。 6. **enq:SQ-contention序列等待**:解释SQ-contention类型的队列等待,并提供相关的调优技巧。 #### 1.2.2 相关参考...
6. **参考官方文档**:案例中提到了MOS (My Oracle Support) 的文档ID 1472175.1,这是一篇关于如何解决`enq: TX-allocate ITL entry`等待事件的文章,可以根据具体情况进行参考。 #### 五、总结 本案例通过具体的...
【故障处理】队列等待之TX - allocate ITL entry 引起的死锁处理 队列等待是数据库性能问题中的常见现象,特别是Oracle数据库中,它涉及到事务处理、并发控制和资源分配。TX - allocate ITL entry等待事件是由于...
6. **询问(ENQ)** - 十进制:5 - 八进制:005 - 十六进制:05 - 二进制:00000101 - HTML实体:`` - 描述:用于请求对方发送确认或响应。 7. **收到通知(ACK)** - 十进制:6 - 八进制:006 - ...
当系统activity增加或者降低的时候,oracle SMON进程会自动ONLINE或者OFFLINE rollback segments。这样导致某些与undo segments相关的latch或者enqueue被...导致系统很多活跃session都开始等待enq: US - contention。
**ENQ (Enquiry, 请求)** - **二进制**: 0000101 - **十进制**: 5 - **十六进制**: 05 - **说明**: 用于请求对方发送确认信息。 ##### 7. **ACK (Acknowledgment, 收到通知)** - **二进制**: 0000110 - **十进制...
- **字符**:ENQ (enquiry) - **解释**:用于询问对方是否准备就绪。 7. **收到通知(ACK)** - **二进制**:00000110 - **八进制**:6 - **十进制**:6 - **十六进制**:06 - **字符**:ACK (acknowledge)...
### 故障处理:Oracle_lhr_队列等待之TX - row lock contention #### 一、概述 在Oracle数据库管理中,“enq:TX-rowlockcontention”是一种常见的队列等待事件,通常与行级别的锁定冲突有关。这种冲突可能会导致...
- 使用`v$session_wait`视图查找等待类型的`ENQ: TX - row lock contention`或`ENQ: TX - deadlock`。 - 查询`v$deadlock`和`v$deadlock_monitor`视图获取死锁信息。 - 执行`DBMS_LOCK.MONITOR`过程来监控死锁...
本篇博客主要聚焦于四种特定的序列等待事件:enq SQ - contention、row cache lock、DFS lock handle和enq SV - contention。 1. **enq SQ - contention**: 这个等待事件发生在多个会话尝试获取对序列(sequence...
- 锁等待情况(如ENQ: TX - ROW LOCK contention) Prometheus会定期抓取oracledb-exporter提供的这些指标,并根据预设的规则进行报警和可视化展示。你可以利用Prometheus的Alertmanager设置告警规则,当特定指标...
### ASCII码精解 #### 一、概述 **ASCII码**(American Standard Code for Information Interchange,美国标准信息交换代码)是一种...掌握这些基础知识有助于我们在实际开发过程中更加灵活地运用各种字符编码方案。
ASCII码是计算机中广泛使用的字符编码标准之一。它采用7位二进制数来表示所有的大写和小写字母、数字0到9、标点符号以及在美式英语中使用的特殊控制字符。由于7位最多可以表示128种不同的字符,因此ASCII码的范围是...
- 等待资源:比如enq: TM - contention和library cache lock。 - 用户进程等待:比如log file parallel write和log file sync。 ### OWI性能调优方法 针对Oracle等待事件进行调优,通常需要一系列的分析和诊断步骤...