昨天的问题我把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重新开贴请教相关推荐

  1. px是什么意思计算机二级,px是什么意思?照片中的px是什么的缩写?

    px是什么意思? px(Pixel,像素)是可以在数字显示设备上显示和表示的数字图像或图形的最小单位.像素是数字图形中的基本逻辑单元.将像素组合在一起以在计算机显示器上形成完整的图像,视频,文本或任何 ...

  2. html em px的不同,CSS:区别 px、em、rem

    区别px 在缩放页面时无法调整那些使用它作为单位的字体.按钮等的大小: em 的值并不是固定的,会继承父级元素的字体大小,代表倍数: rem 的值并不是固定的,始终是基于根元素 的,也代表倍数. em ...

  3. android dp转px的公式_公式px到dp,dp到px android

    注意:上面广泛使用的解决方案基于displayMetrics.density.但是,文档解释说这个值是一个舍入值,与屏幕"桶"一起使用.例如.在我的Nexus 10上,它返回2,其 ...

  4. android分辨率px跟dp,Android屏幕适配 px,dp,dpi及density的关系与深入理解

    PX(pixel): 即传统计算机语言中描述的像素,在Android则代表绝对像素. 之所以Android中不推荐使用这种单位,正是因为不同生产厂商,不同品牌,不同屏幕的设备,其分辨率亦不一. 举例来 ...

  5. css rem和px换算,移动端的vw px rem之间换算

    一.vw px rem em是什么 1.vw:就是相对视口宽度(Viewport Width).1vw = 1% * 视口宽度.也就是说,一个视口就是100vw. 2.px:px应该是在css中使用最 ...

  6. react中px转rem(px2rem和px to rem rpx的使用)

    .比如设计稿是750px,假设根元素字体大小设置为100px,则1rem = 100px;所以为了适应各种屏幕尺寸:一般设置根元素font-size 为 屏幕宽度/UI设计图宽度 *100+'px', ...

  7. px是什么意思计算机二级,px是什么

    相信很多人都对px这个词很陌生,但我们又经常在网页中看到px,那么px到底是什么意思呢?一起来了解一下吧. PX PX代表计算机语言中的像素.页面中的px是Pixel的缩写,也就是像素,在表示图片或者 ...

  8. 昨天搭完梯子之后就打不开12306查询的网页了

    我一开始以为是所有https都不能打开,但是我试了半天只有这个打不开,今天正打算写一个爬虫呢结果出了这档子事.有没有大佬知道怎么办啊在线等挺急的

  9. oracle 的setup没反应,win10系统下setup.exe打不开没反应如何解决

    最近有win10纯净版系统用户反映说碰到这样一个问题,就是在双击setup.exe的时候没有任何反映,打不开,遇到这样的问题该怎么办呢,接下来给大家讲解一下win10系统下setup.exe打不开没反 ...

  10. css font size 单位,css中font-size的单位总结:px、em、pt

    px:基于像素的单位.像素是一种有用的单位,因为在任何媒体上都可以保证一个像素的差别确实是可见的. em :一般用来测量长度的通用单位(例如元素周转的页边空白和填充),当用于指定字体大小时,em单位是 ...

最新文章

  1. Spring Boot通过命令行启动发生FileNotFoundException
  2. Fedora17 开启ssh服务
  3. Java泛型之泛型参数
  4. ssas脚本组织程序_微服务架构:从事务脚本到领域模型
  5. 红橙Darren视频笔记 ViewGroup事件分发分析 基于API27
  6. 【小结】背知识点的小技巧
  7. 文件分配表(File Allocation Table)入门
  8. #浪潮之巅#苹果公司和乔布斯神话----有感
  9. 用Quartus仿真计数器模块:
  10. 电脑html接口是什么意思,HDMI、DVI 我们的电脑为什么会有这么多种视频接口?
  11. mysql备份数据库/备份表
  12. 闹钟android 代码,android 闹钟app源码(Alarm)
  13. 手机上怎么做电子档文件(实用技巧)
  14. CSS3实现径向渐变
  15. 校招回忆录---小米篇
  16. java unicode是什么意思_(转)谈谈对Java中Unicode、编码的理解
  17. win7下ie6兼容测试之Windows7(win7)下 XP Mode 下载、安装、设置完全图解
  18. C语言画贝塞尔曲线的函数
  19. android os 魅蓝2,魅蓝2抢先评测:除了两点 无可挑剔!
  20. 大学计算机作业与实验报告东北农业大学,大学课程数字化测图实习报告.doc

热门文章

  1. 一段让你虎躯一震的代码
  2. 金融数据api接口记录(二)
  3. H5微信分享 自定义图标和内容(以及二次分享图片丢失的解决办法)
  4. 团队管理--领导力的重要性
  5. nginx: [warn] the “user“ directive makes sense only if the master process runs with super-user privi
  6. 播布客学习视频_C学习笔记_simple
  7. python爬虫-喜马拉雅_晚安妈妈睡前故事
  8. python中imag是什么意思_Python-在imag中查找主要/最常见的颜色
  9. 英特尔推出物联网零售平台 RRP,并将在零售业投资 1 亿美元
  10. 主力吸筹的两种模式以及躺赢股市的三种票