Oracle-查找函数session,并结束此函数的session执行,查看错误日志

2023-12-14 21:56:05

select * from V$DB_OBJECT_CASHE WHERE locks >0 and pins >0 and TYPE like 'FUNCTION';--查找执行的函数,如果查存储过程则PROCEDURE,找到对应的name值了。

SELECT * FROM V$ACCESS WHERE OWNER='过程的所属用户' AND NAME='刚才查到的过程名';--有的版本需查表GV$ACCESS,查是得SID

SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID'--查出SID和SERIAL#

SELECT SPID FROM V$PROCESS WHERE ADDR='刚才查到的PADDR';

(1).先杀Oracle数据库进程:

ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#' IMMEDIATE;--如果不加IMMEDIATE,则只是改状态,加上则立即杀死。

(2).再杀操作系统进程:

KILL -9 刚才查出的SPID

在SQLplus客户端执行 show?parameter?dump_dest? ;数据background_dump_dest所在目录。

或者select * from v$diag_info where name ='Diag Trace';可以看到日志位置。

目录下alert_库实例名.log文件就是了。

引用:oracle+找死锁,Oracle数据库中如何查找session中的死锁-CSDN博客

文章来源:https://blog.csdn.net/u012289341/article/details/134933091
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。