猜测:Oracle ash报告中SQL Text 出现"** SQL Text Not Available **"的原因

本文探讨了在使用HVR进行大规模数据同步时遇到的问题,特别是在Oracle AWR和ASH报告中观察到的SQLTextNotAvailable现象,并提出了可能的原因——未提交的事务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


猜测:Oracle ash报告中SQL Text 出现"** SQL Text Not Available **"的原因

今天在做HVR数据同步软件的数据同步测试,由于数据量比较大(1条记录14M,含有lob字段,3000条记录)并且IO很差,因此导致同步(确切的说是HVR的 refresh)很慢。
在hvr同步的过程,生成了awr报告和ash报告,awr报告很闲,如下:

 

插一句:log file parallel write 这个等待事件的平均每次等待时间为49ms,io实在是太差了。


ash报告的Top SQL Statements部分 出现了"** SQL Text Not Available **" ,如下:

 

 

ash报告的Top Sessions部分如下:

 

然后用如下查询确定这两个session正在执行的sql的sql_id:

SQL>  select sid,serial#,sql_id,event from v$session where (sid='1075' and serial#='364') or (sid='1074' and serial#='230');

       SID    SERIAL# SQL_ID        EVENT
---------- ---------- ------------- ----------------------------------------------------------------
      1074        230 9jnsccphbp7a9 SQL*Net message from client
      1075        364 bvgbvn8a7313c SQL*Net message from client

SQL>


而此时,查询目的表,是没有记录的,也就是说hvr正在工作,没有提交。

因此,我就猜测:Oracle ash报告中SQL Text 出现"** SQL Text Not Available **"的原因是没有提交。

 

补充一句:

此时的awr中,用9jnsccphbp7a9和bvgbvn8a7313c这两个sql_id去搜索,是找不到这两个sql的。用top中的操作系统进程id去反查sql,确实能看到9jnsccphbp7a9这条sql。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值