工作随记: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';

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

相关推荐
l1t13 小时前
用docker安装oracle 19c
运维·数据库·docker·oracle·容器
Java&Develop13 小时前
DataEase图表页面传参至数据库查询方法 和页面筛选方法 sql传参
数据库·sql
Boilermaker199213 小时前
[MySQL] 设计范式与 E-R 图绘制
mysql·oracle·设计规范
+VX:Fegn089513 小时前
计算机毕业设计|基于springboot + vue作业管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
@zulnger13 小时前
Python 连接 MySQL 数据库_pymysql
数据库·python·mysql
别来无恙blwy14 小时前
SQL Server高可用自动故障转移失败(短时间内多次转移失败,只需一步可处理)
数据库·windows·sqlserver·负载均衡·可用性测试
gjc59214 小时前
MySQL 主从复制全解析:从基础原理到高级实战简介(附架构图)
数据库·mysql
kong790692814 小时前
MySQL的安装与卸载
数据库·mysql
JIngJaneIL14 小时前
基于java+ vue办公管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
tq108615 小时前
回到原点再出发2
数据库