oracle session 的 sqlID 为空

最近AWR报告中经常出现一个统计显示某SQL语句长时间执行

图片说明
但通过V$SESSION视图又查不到相应的session
SELECT * FROM v$session s WHERE s.SQL_ID = '0n5hua47qnvcr';

通过检查代码得知此SQL为某个存储过程的某个游标代码。
再查询视图v$access,发现有三个session一直未有断开。
图片说明

PREV_SQL_ID显示上一执行SQL语句正是'0n5hua47qnvcr'的上一步。通过计算执行时间正好符合AWR报告中显示的执行时间。

系统一直运行正常,但AWR中一直显示该SQL排名第一。请教各位大神,为何会出现这种情况?网上有说这是ORACLE的BUG?
图片说明
1.为何SESSION的SQL ID是空的
2.为何如何解决这种问题?

PS:该SQL是通过ID查询的,不存在全表扫描或执行时间太长的情况,系统也一直正常运行,未出现宕机或者很卡的现象,也未收到用户任何异常反馈。

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问