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

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

相关推荐
lunz_fly199212 分钟前
Oracle清理:如何安全删除trace, alert和archivelog文件?
oracle
薛定谔的算法2 小时前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端
Databend3 小时前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库
得物技术4 小时前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql
Raymond运维8 小时前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉9 小时前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql
RestCloud1 天前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud1 天前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化