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

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

相关推荐
黑牛儿1 分钟前
MySQL 实战进阶:从单表优化到分布式数据库适配
数据库·分布式·mysql
momin~1 分钟前
MySQL-part3【数据库约束、表设计】
数据库·mysql
todoitbo2 分钟前
时序数据库选型指南:从大数据场景出发
大数据·数据库·时序数据库
芯盾时代4 分钟前
政务行业面临的网络风险
网络·数据库·网络安全
fire-flyer7 分钟前
第 3 篇:ClickHouse 表结构设计的核心原则
大数据·数据库·clickhouse
FinTech老王8 分钟前
时序数据库存储引擎解密:LSM-Tree vs B-Tree vs 倒排索引,谁最适合时序场景?
数据库·时序数据库·lsm-tree
阿坤带你走近大数据9 分钟前
存储过程在 oracle数据库管理工具里定时自动化运行方案
数据库·oracle·自动化
熬夜的咕噜猫12 分钟前
数据库常用SQL命令
数据库·oracle
William Dawson15 分钟前
【实战分享】DTU设备高并发数据接入全流程(Redis + RabbitMQ + 数据库)
数据库·redis·rabbitmq
wregjru15 分钟前
【MySQL】5. 数据更新与查询详解
java·数据库·mysql