【DM版本】: DM8
【问题描述】:从O自己用迁移工具同步了库到DM8,赞了几个小问题上来问下……一个存储过程跑了几个小时,有什么命令能查到目前执行到哪里了?过程代码一千多行,应用到一定阶段触发调用,不好调试定位,我试了管理工具调试却蛮快的可能因为手工调试时候对应数据没入库或者刚好清了……需要一个侧面查看命令。不方便上传也不能截图过程代码,请大佬们指点一下,给个方法就行
试一下,在 V$SESSIONS 里先找到执行存储过程的会话,然后看会话列表后面的 CUR_LINENO、CUR_MDTNAME、CUR_SQLSTR 三个字段,具体用途可以参考官方文档

在数据库参数开启ENABLE_MONITOR=1和MONITOR_SQL_EXEC=1后,过程在跑时找到对应会话ID,通过系统过程SP_SESSION_BT过程打印会话栈(代码行以及SQL)。
call sp_session_bt(<SESS_ID>);
SESS_ID可以从select * from v$sessions where state='ACTIVE';查到