平台:oracle 9.2.0.8 + hpux 11.31
现象描述:月底系统繁忙,问题频出,这个和上篇不是同一个系统。100多个enqueue等待事件,平日运行稳定是应该一个都没有
SID SERIAL# OSUSER USERNAME SVRPROC PROCESS EVENT P1 P2 P3
------ ---------- -------- -------- ------------ ------------ ------------------------------ --------------------- ---------- ----------
3893 65320 sadmin LDAPUSER 3150 21304:27520 enqueue 1213661190 14 3233832969
4030 32072 sadmin LDAPUSER 19910 32792:26336 enqueue 1213661190 14 3233832969
.....
根据p1快速定位到类型为HW mode6,在通过p2,p3可以定位到具体的数据块和对象,这里的p2,p3和v$lock中的ID1,ID2的值相同
SQL> @enqueue.sql
SID Lock Mode
------ -------- ----------------------------------------
52 HW 6
75 HW 6
SQL> SELECT chr(to_char(bitand(1213661190,-16777216))/16777215)||
2 chr(to_char(bitand(1213661190, 16711680))/65535) "Lock",
3 to_char( bitand(1213661190, 65535) ) "Mode" from dual;
Lo M
-- -
HW 6
根据p2定位的数据块
SQL> select DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE(3233832969) FILE#,
2 DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK(3233832969) BLOCK#
3 from dual;
FILE# BLOCK#
---------- ----------
771 24585
定位到具体的对象
SQL> select owner, segment_type, segment_name
2 from dba_extents
3 where file_id = 771
4 and 24585 between block_id and block_id + blocks -1;
OWNER SEGMENT_TYPE SEGMENT_NAME
------------------------------ ------------------ ----------------------------------------------------------------------------------------------------
SIEBEL TABLE CX_LOG3
从statspack已可以看到,top sql都是关于此对象的sql,也验证了前面的判断。
SQL> set linesize 200;
SQL> /
HV SQL_TEXT BUFFER_GETS EXECUTIONS ELAPSED_TIME_HOUR CPU_TIME_S DISK_READS AVG_TIME_S AVG_ROWS
---------- ------------------------------- ----------- ---------- ----------------- ---------- ---------- ---------- ----------
2196997211 INSERT INTO SIEBEL.CX_LOG3 ( 15247165 550447 19.29 412.25 1480 .126 1
3813933981 INSERT INTO SIEBEL.CX_LOG3 ( 13642539 474684 17.98 360.93 46049 .136 1
2105053489 INSERT INTO SIEBEL.CX_LOG3 ( 7461687 264451 11.35 222 2157 .155 1
4155853741 INSERT INTO SIEBEL.CX_LOG3 ( 7971754 241499 7.84 178.65 2315 .117 1
4019360030 SELECT T2.CONFLICT_ID, -3.791E+09 4288 7.11 18327.24 157042 5.969 .7
为什么会有Enqueue HW等待呢?metalink中HW多出现在并发对表大量进行DML操作时,当表含有Lob字段时,争用会更加严重。该表虽无lob,但有VARCHAR2(2000 CHAR)的长字符字段,估计效果相当于lob。解决办法:
由于历史原因,该表空间是Manual Segment Space Management(MSSM)管理方式,当分配新的extent时,会导致enqueue HW
解决办法比较可行的看样子只能是alter table <TABNAME> allocate extent,提前分配空间了。不知道增加extent的大小,一次分配更大的extent能够解决问题.当然最好的办法还是使用ASSM。
alter table CX_LOG5 allocate extent ( size 1000M);
资料中解决此类问题的方法还有:
HW enqueue The HW enqueue is used to serialize the allocation of space beyond the high water mark of a segment.
If this is a point of contention for an object, then manual allocation of extents solves the problem.
Use Freelists:Cause multiple jumps in High Water Mark
Pre-Allocate Extents:Alter table XXXX allocate extent;
Hidden Parameter:bump_highwater_mark_count
ASSM:Automatic segment space management
分享到:
相关推荐
Enqueue是麻省理工学院许可的开源项目,其持续发展完全取决于社区和我们客户的支持。 如果您想加入他们,请考虑: 消息队列。 它包含构建在传输组件之上的高级功能。 客户端组件类型即插即用或消费组件大大简化了...
oracle Enqueue Waits的介绍ppt,全面、权威
:grinning_face_with_smiling_eyes:安装添加到您的Gemfile: gem "resque-enqueue-logging"用法只需扩展Resque::Plugins::EnqueueLogging ,所有的钩子都将被设置。 class SortUserJob extend Resque :: Plugins ::...
余烬服务工人排队 一个Ember Service Worker插件,可捕获失败的突变请求(例如POST,PUT,DELETE),并将其排队以进行后台处理。 它使用Mozilla的localforage db包装器将由于网络故障(例如Flacky网络或脱机模式)...
它为所有与Enqueue相关的功能和软件包的生产开发和测试提供了一个友好的环境。 特征: 。 采用接口(受启发)。 经过战斗测试。 用于生产。 支持的运输 基于 基于 基于 支持。 支持。 临时队列支持。 设计...
使用wp_enqueue_scripts动作调用wp_enqueue_script()函数,或者使用admin_enqueue_scripts动作在管理页面调用wp_enqueue_script()函数,或者使login_enqueue_scripts动作在登录页面调用wp_enqueue_script()函数。...
Enqueue是麻省理工学院许可的开源项目,其持续发展完全取决于社区和我们客户的支持。 如果您想加入他们,请考虑: 消息队列捆绑 将消息队列组件集成到Symfony应用程序。 资源资源 由Forma-Pro开发 Forma-Pro是一家...
enqueue_sidekiq_job RSpec块匹配器 安装 # Gemfile group :test do gem 'rspec-enqueue_sidekiq_job' end 用法 检查某个作业是否已排入队列。 expect { AwesomeWorker . perform_async } . to enqueue_sidekiq_...
3945无线驱动 for linux ,版本要高于2.6.18,然后按照说明进行驱动即可。
在我之前的文章中,曾经分析过产生TX锁的几种情况。但是,在发现TX锁时,我们如何鉴别是哪一种情况导致的呢?当存在TX等待队列时,如何找到锁所在的对象呢?记录锁这类锁是事务插入/删除/更新数据记录时加在记录的锁...
enqueue:入队 dequeue:出队 队列是一种基本的数据结构,在平常的应用中十分广泛,多数情况队列都是用链表实现的。但是对于本题而言,用链表实现就有这样一个问题:由于每个结点都存在至少一个指向前一个结
wp-enqueue-util 一个方便的 WordPress 排队工具。
Resque::延迟Resque 的作业排队延迟。 将仅在指定延迟后或将来特定时间出现以供处理的作业入队。... 调用Resque.enqueue_in或Resque.enqueue_at而不是Resque.enqueue例如: class User after_create :send_call_to
使用RedisTimeSeries,RedisGears和Redis Data Source for Grafana的弹出式商店演示 弹出商店演示..., '*', xlen) execute('TS.ADD', 'ts:enqueue:' + x['key'], '*', x['value'])# Stream Reader for any Queuegb = G
WP Enqueue Masher最小化并连接排队的脚本和样式。 它是Automattic的的分支。 激活和配置后不可见 安全,可靠和高效 安装 使用内置的WordPress插件安装程序下载并安装。 通过单击“激活”链接在管理员的“插件”...
函数说明 将CSS样式文件加入队列。 函数用法 参数说明 $handle (字符串)(必需)样式表文件名。 默认值:None ...(字符串)(可选)WordPress根目录下的样式表路径 示例: ‘/css/mystyle.css’。...
BLOG_Oracle_lhr_ 【等待事件】等待事件系列(5.1)--Enqueue(队列等待) .pdfBLOG_Oracle_lhr_ 【等待事件】等待事件系列(5.1)--Enqueue(队列等待) .pdf
传输可用于使您的消息排队或与第三方之间收发消息。 安装 composer require xtreamwayz/psr-container-messenger 文献资料 所有项目文档都位于文件夹中。 如果您想为文档做出贡献,请提交拉取请求。 您可以在线阅读...
而数据库管理客户端还是原来旧版本的加密方式,主要在于安装MySQL8.0过程中的Authentication Method这一配置过程,有了不同的加密方式,所以如果选择强加密(默认应该是这种),就会出现上诉报错问题,那么只要修改...