正德厚生,臻于至善

Oracle基于回滚段查询关联的会话 SID

要基于回滚段查询关联的会话 SID,可通过以下方法实现:

方法 1:通过事务视图关联查询

SELECT s.sid, r.name AS rollback_segment_name
FROM v$session s
JOIN v$transaction t ON s.saddr = t.ses_addr
JOIN v$rollname r ON t.xidusn = r.usn
WHERE r.name = '&rollname';

注释:

  • v$transaction.xidusn 字段表示事务使用的回滚段编号,与 v$rollname.usn 关联
  • v$rollname.name 为回滚段名称,需替换为实际名称

方法 2:结合锁信息查询

SELECT s.sid, r.name AS rollback_segment_name
FROM v$lock l
JOIN v$session s ON l.sid = s.sid
JOIN v$rollname r ON TRUNC(l.id1/65536) = r.usn
WHERE l.type = 'TX' AND r.name = '&rollname';

注释:

  • v$lock.id1 的高 16 位存储回滚段编号(USN),通过 TRUNC(id1/65536) 提取
  • l.type='TX' 过滤事务锁

关键视图说明

  1. v$rollname
    存储所有在线回滚段的信息,包含字段 usn(回滚段编号)和 name(名称)
  2. v$transaction
    包含活跃事务信息,xidusn 字段对应回滚段编号
  3. v$session
    提供会话详细信息,sid 为会话唯一标识
  4. v$lock
    记录锁信息,事务锁 (TX) 的 id1 字段包含回滚段信息

操作建议

  • 替换回滚段名称‌:将上述 SQL 中的 回滚段名称 替换为目标回滚段名称(如 _SYSSMU922_1763818300$
  • 权限要求‌:查询需要访问 v$sessionv$transaction 等动态性能视图的权限(通常需 DBA 权限)
  • 扩展监控‌:若需观察回滚进度,可结合 v$transaction.used_urec 和 used_ublk 字段分析回滚进度
赞(0) 打赏
未经允许不得转载:徐万新之路 » Oracle基于回滚段查询关联的会话 SID

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册