工作随记:oracle中偶发遇到存储过程编辑,删除等卡死问题

文章目录


最近有几个客户也询问过:我的存储过程怎么编译、调试有时候就卡死不动了,而且还没办法删除,本次又碰到实际情况,做一个简单查询判断

一、查询session是否占用

通过动态性能表v$db_object_cache我们可以获取到表,索引,簇,PL/SQL过程和包装,并触发。在共享池对象级别的统计信息。

此次要查询的存储过程名称为:CONFIRMFEE

sql 复制代码
select * from v$db_object_cache where name ='CONFIRMFEE';

这里发现LOCKS=2,那也就意味着有2个session在锁定着存储过程。

二、通过对象名称定位对应SID

SQL 复制代码
select * from v$access where object='CONFIRMFEE';

三、通过对应的SID查询session信息

session信息中可以看到机器信息,调用程序有助于大家排查

SQL 复制代码
select * from v$session where sid='2575';

四、kill掉session

SQL 复制代码
select 'alter system kill session '''||SID||','||SERIAL#||''' immediate;' from v$session where sid='1320';

至此,应该可以解决大部分的此类问题。

相关推荐
2401_831419442 小时前
如何防止MongoDB副本集被误初始化_副本集名称(replSetName)锁定
jvm·数据库·python
阿丰资源2 小时前
基于Spring Boot的美容院管理系统(附源码+数据库+文档)
数据库·spring boot·后端
徐子童2 小时前
复合索引会失效的场景
数据库·mysql·面试题·索引失效
abc123456sdggfd2 小时前
解决Socket图像传输中断问题:基于分块接收与可靠发送的完整教程
jvm·数据库·python
2401_833033622 小时前
SQL中RIGHT JOIN真的很少用吗_数据完整性检查与反向关联分析
jvm·数据库·python
摇滚侠2 小时前
sqlplus “/ as sysdba“ 什么意思
java·数据库·oracle
duangww2 小时前
OPEN SQL去掉文本中间的空格
数据库·abap
zxrhhm2 小时前
MySQL 索引回表(Back to Table)详解
数据库·mysql
m0_741481782 小时前
Vue.js核心基础之响应式系统与虚拟DOM渲染关联机制
jvm·数据库·python
Gauss松鼠会2 小时前
GaussDB数据库统计信息自动收集机制
数据库·经验分享·sql·oracle·gaussdb