oracle px execute reply,关于昨天的PX Deq: Execute Reply重新开贴请教
昨天的问题我把parallal_max_servers设置为0暂时解决了。
但今天上午用户又打电话说问题重现了。
今天上午又仔细的分析了一下。把结果贴出来:
问题的表像是查询同义词DBA_PENDING_TRANSACTIONS时一直持续执行状态,无返回数据,等待事件为:PX Deq:Execute Reply
同义词定义如下:
create or replace public synonym DBA_PENDING_TRANSACTIONS
for SYS.DBA_PENDING_TRANSACTIONS;
视图SYS.DBA_PENDING_TRANSACTIONS定义如下:
create or replace view sys.dba_pending_transactions as
(((select formatid, globalid, branchid
from gv$global_transaction
where preparecount > 0 and refcount = preparecount)
minus
(select global_tran_fmt, global_foreign_id, branch_id
from sys.pending_trans$ tran, sys.pending_sessions$ sess
where tran.local_tran_id = sess.local_tran_id
and tran.state != 'collecting'
and dbms_utility.is_bit_set(tran.session_vector, sess.session_id)=1)
)
union
(select global_tran_fmt, global_foreign_id, branch_id
from sys.pending_trans$ tran, sys.pending_sessions$ sess
where tran.local_tran_id = sess.local_tran_id
and tran.state != 'collecting'
and dbms_utility.is_bit_set(tran.session_vector, sess.session_id)=1)
)
上面语句后面两部分查询没有问题,第一部分查询也同样出现等待:PX Deq:Execute Reply
所以我将问题定位在视图gv$global_transaction上。
通过sql_trace跟踪,发现
select *
from
GV$GLOBAL_TRANSACTION where rownum < 2
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.01 0.00 0 0 0 0
Execute 1 0.00 0.57 0 0 0 0
Fetch 1 0.00 9.15 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 0.01 9.74 0 0 0 0
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Rows Row Source Operation
------- ---------------------------------------------------
0 COUNT STOPKEY (cr=0 pr=0 pw=0 time=575792 us)
0 PX COORDINATOR (cr=0 pr=0 pw=0 time=575787 us)
0 PX SEND QC (RANDOM) :TQ10000 (cr=0 pr=0 pw=0 time=0 us)
0 VIEW GV$GLOBAL_TRANSACTION (cr=0 pr=0 pw=0 time=0 us)
0 FIXED TABLE FULL X$K2GTE2 (cr=0 pr=0 pw=0 time=0 us)
重开一新会话,sid为3039.对X$K2GTE2进行查询,出现等待:
select * from X$K2GTE2 where rownum < 2;
enq: DX - contention
inactive transaction branch
上面两个等待交替出现,我理解可能跟分布式事物有关。
通过对v$lock查询:
select * from v$lock where type='DX'
C000000CBD897080 C000000CBD8970A0 3057 DX 36 0 6 0 1444 1
C000000CBD8A4BF8 C000000CBD8A4C18 3058 DX 46 0 6 0 1381 0
C000000CBD8A4C90 C000000CBD8A4CB0 3039 DX 36 0 0 4 6 0
根据我的理解,是会话3057持有该锁,3039正在等待。
查看会话3057执行的语句:
select sql_text
from v$sqlarea
where hash_value = (select sql_hash_value from v$session where sid = 3057)
整理如下:
INSERT INTO STATQ_AGENT_CARD
SELECT :B1,
:B5,
MAX(ARB.AGENTID),
MAX(P.RECDEFID),
P.FORMNUM,
AR.RESID,
MAX(AR.SERVNUMBER),
MAX(TO_CHAR(P.RECDATE, 'YYYYMMDD')) RECDATE,
MAX(OP.OPERNAME) RECOPNAME,
MAX(ORG.ORGNAME) RECORGNAME,
MAX(P.CUSTNAME) CUSTNAME,
SUM(DECODE(AC.FEEID,
'SIM',
AC.FEE - AC.DISCOUNT,
'UIM',
AC.FEE - AC.DISCOUNT,
0)) SIMFEE,
SUM(DECODE(AC.FEEID, 'TEL', AC.FEE - AC.DISCOUNT, 0)) CHSTELFEE,
SUM(DECODE(AC.FEEID, 'Prepay', AC.FEE - AC.DISCOUNT, 0)) CHPREFEE,
SUM(DECODE(AC.FEEID, 'Dep', AC.FEE - AC.DISCOUNT, 0)) DEPFEE,
SUM(NVL(AC.FEE - AC.DISCOUNT, 0)) HJFEE
FROM TBCS.RECEPTION P,
TBCS.AGENT_RES AR,
TBCS.AGENT_RES_BASE ARB,
TBCS.BAT_INSTALL_INDIV_CHARGE AC,
TBCS.OPERATOR OP,
TBCS.ORGANIZATION ORG
WHERE P.REGION = :B1
AND P.RECORGID LIKE :B4
AND P.RECDATE >= :B3
AND P.RECDATE < :B2
AND AR.REGION = :B1
AND P.OID = AR.RECID
AND P.RECDEFID = 'AgentGetCard'
AND P.RECOPID = OP.OPERID
AND P.RECORGID = ORG.ORGID
AND AR.REGION = AC.REGION(+)
AND AR.OID = AC.INSTALLRECID(+)
AND AR.RE
对上面涉及到的表进行查看,都是本地表,没有dblink。
3057是一套报表系统,很多会话都在执行这同一条语句。每一时刻都有3-5个会话在执行这同一条语句。
为了确定问题,我联系了业务人员,问是否可以先将报表系统停掉。得到用户的许可。
停掉报表系统后果然症状消失。为了验证,我又让开发人员开了一个报表进程执行这条语句,问题果然又重现。可以肯定问题就在这儿了。
但我不明白的是,上面执行的这个句子跟表X$K2GTE2有什么关系?原理是什么?
oracle px execute reply,关于昨天的PX Deq: Execute Reply重新开贴请教相关推荐
- px是什么意思计算机二级,px是什么意思?照片中的px是什么的缩写?
px是什么意思? px(Pixel,像素)是可以在数字显示设备上显示和表示的数字图像或图形的最小单位.像素是数字图形中的基本逻辑单元.将像素组合在一起以在计算机显示器上形成完整的图像,视频,文本或任何 ...
- html em px的不同,CSS:区别 px、em、rem
区别px 在缩放页面时无法调整那些使用它作为单位的字体.按钮等的大小: em 的值并不是固定的,会继承父级元素的字体大小,代表倍数: rem 的值并不是固定的,始终是基于根元素 的,也代表倍数. em ...
- android dp转px的公式_公式px到dp,dp到px android
注意:上面广泛使用的解决方案基于displayMetrics.density.但是,文档解释说这个值是一个舍入值,与屏幕"桶"一起使用.例如.在我的Nexus 10上,它返回2,其 ...
- android分辨率px跟dp,Android屏幕适配 px,dp,dpi及density的关系与深入理解
PX(pixel): 即传统计算机语言中描述的像素,在Android则代表绝对像素. 之所以Android中不推荐使用这种单位,正是因为不同生产厂商,不同品牌,不同屏幕的设备,其分辨率亦不一. 举例来 ...
- css rem和px换算,移动端的vw px rem之间换算
一.vw px rem em是什么 1.vw:就是相对视口宽度(Viewport Width).1vw = 1% * 视口宽度.也就是说,一个视口就是100vw. 2.px:px应该是在css中使用最 ...
- react中px转rem(px2rem和px to rem rpx的使用)
.比如设计稿是750px,假设根元素字体大小设置为100px,则1rem = 100px;所以为了适应各种屏幕尺寸:一般设置根元素font-size 为 屏幕宽度/UI设计图宽度 *100+'px', ...
- px是什么意思计算机二级,px是什么
相信很多人都对px这个词很陌生,但我们又经常在网页中看到px,那么px到底是什么意思呢?一起来了解一下吧. PX PX代表计算机语言中的像素.页面中的px是Pixel的缩写,也就是像素,在表示图片或者 ...
- 昨天搭完梯子之后就打不开12306查询的网页了
我一开始以为是所有https都不能打开,但是我试了半天只有这个打不开,今天正打算写一个爬虫呢结果出了这档子事.有没有大佬知道怎么办啊在线等挺急的
- oracle 的setup没反应,win10系统下setup.exe打不开没反应如何解决
最近有win10纯净版系统用户反映说碰到这样一个问题,就是在双击setup.exe的时候没有任何反映,打不开,遇到这样的问题该怎么办呢,接下来给大家讲解一下win10系统下setup.exe打不开没反 ...
- css font size 单位,css中font-size的单位总结:px、em、pt
px:基于像素的单位.像素是一种有用的单位,因为在任何媒体上都可以保证一个像素的差别确实是可见的. em :一般用来测量长度的通用单位(例如元素周转的页边空白和填充),当用于指定字体大小时,em单位是 ...
最新文章
- Spring Boot通过命令行启动发生FileNotFoundException
- Fedora17 开启ssh服务
- Java泛型之泛型参数
- ssas脚本组织程序_微服务架构:从事务脚本到领域模型
- 红橙Darren视频笔记 ViewGroup事件分发分析 基于API27
- 【小结】背知识点的小技巧
- 文件分配表(File Allocation Table)入门
- #浪潮之巅#苹果公司和乔布斯神话----有感
- 用Quartus仿真计数器模块:
- 电脑html接口是什么意思,HDMI、DVI 我们的电脑为什么会有这么多种视频接口?
- mysql备份数据库/备份表
- 闹钟android 代码,android 闹钟app源码(Alarm)
- 手机上怎么做电子档文件(实用技巧)
- CSS3实现径向渐变
- 校招回忆录---小米篇
- java unicode是什么意思_(转)谈谈对Java中Unicode、编码的理解
- win7下ie6兼容测试之Windows7(win7)下 XP Mode 下载、安装、设置完全图解
- C语言画贝塞尔曲线的函数
- android os 魅蓝2,魅蓝2抢先评测:除了两点 无可挑剔!
- 大学计算机作业与实验报告东北农业大学,大学课程数字化测图实习报告.doc
热门文章
- 一段让你虎躯一震的代码
- 金融数据api接口记录(二)
- H5微信分享 自定义图标和内容(以及二次分享图片丢失的解决办法)
- 团队管理--领导力的重要性
- nginx: [warn] the “user“ directive makes sense only if the master process runs with super-user privi
- 播布客学习视频_C学习笔记_simple
- python爬虫-喜马拉雅_晚安妈妈睡前故事
- python中imag是什么意思_Python-在imag中查找主要/最常见的颜色
- 英特尔推出物联网零售平台 RRP,并将在零售业投资 1 亿美元
- 主力吸筹的两种模式以及躺赢股市的三种票