如何查找正在运行的存储过程名称及解决会话监控相关问题
Oracle会话监控:查询正在运行的存储过程名称
查询语句
执行以下SQL可直接获取运行中SQL对应的存储过程对象及代码行号:
SELECT sql_id, (SELECT o.owner || '.' || o.OBJECT_NAME FROM dba_objects o WHERE o.OBJECT_ID = v.PROGRAM_ID) AS object_name, 'LINE-' || v.program_line# AS line_number FROM v$sql v WHERE v.PROGRAM_ID IS NOT NULL;
说明:
- 原参考语句中的
cu为笔误,实际对应v$sql视图的PROGRAM_ID字段,添加PROGRAM_ID IS NOT NULL过滤条件可仅返回关联了存储过程、函数等PL/SQL对象的运行中SQL记录- 若当前数据库账号无
dba_objects查询权限,可将查询对象替换为all_objects,仅返回当前账号可见的存储过程对象
内容的提问来源于stack exchange,提问作者yagnesh
相关产品推荐
相关产品推荐

