Oracle 19c存储过程死循环(一直显示正在执行)

在调试存储过程时,调用之后一直提示“正在执行中”,正常情况下数据量不大早应该结束了,检查之后发现有一个参数没设置自增导致了死循环。

询问同事如何终止该存储过程,同事说尝试一下重新编译...结果编译界面也死了淦

本来是想着自己的数据库 直接重启试试 ;但是本着严谨的态度,找到了最终的解决方案!

查阅动态性能视图v$db_object_cache

列名数据类型描述
OWNERVARCHAR2(64)对象所有者(如果是应用的sql语句,此列值一般都为空)
NAMEVARCHAR2(1000)对象名称 (sql语句或者匿名块/游标的前1000个字符)
DB_LINKVARCHAR2(64)数据库的链接名 如果存在dblink
NAMESPACEVARCHAR2(28)库缓存中对象命名类型: TABLE/PROCEDURE, BODY, TRIGGER, INDEX,CLUSTER, OBJECT
TYPEVARCHAR2(28)对象类型 (for example, sequence, procedure, function, package, package body, trigger)
SHARABLE_MEMNUMBER对象占用可共享内存的大小(单位:btyes)
LOADSNUMBER  这个对象被加载到内存的次数. 当这个对象无效的时候这个值仍然会增加.
EXECUTIONSNUMBER  无效的(Not used. See V$SQLAREA to see actual execution counts.)
LOCKSNUMBER当前锁住这个对象的session数
PINSNUMBER当前执行这个对象的session数
KEPTVARCHAR2(3)告知是否对象常驻shared pool(yes/no),有赖于这个对象是否已经利用PL/SQL 过程DBMS_SHARED_POOL.KEEP“保持”(永久固定在内存中)
CHILD_LATCHNUMBER保护这个对象的子锁数目.

查阅被锁对象信息视图v$access

列名数据类型描述
SID NUMBER 访问一个对象的会话ID
OWNER VARCHAR2(64)对象的拥有者
OBJECTVARCHAR2(1000)对象名称
TYPEVARCHAR2(24)对象的类型标识符

查阅基础信息视图v$session

列名数据类型描述
SADDRRAW(4 | 8)会话地址
SIDNUMBER会话标识符
SERIAL#NUMBER会话序列号。用于唯一标识会话的对象。保证在会话结束且另一个会话以相同的会话 ID 开始时,将会话级命令应用于正确的会话对象。
AUDSIDNUMBER审核会话 ID
PADDRRAW(4 | 8)拥有会话的进程的地址
USER#NUMBEROracle 用户标识符
USERNAMEVARCHAR2(128)Oracle 用户名

(详见V$SESSION

1.查询被锁存储过程

select *  from v$db_object_cache  where locks<>0 and type='PROCEDURE'; 

2.查询搜索到的存储过程名称 

SELECT * FROM V$ACCESS  WHERE object='PROCESS_STUDENT';  

3.查询该会话的会话序列号

SELECT SID,SERIAL# FROM V$SESSION WHERE SID='620';

4.杀死该会话

alter system kill session '620,28350';

5.再次执行第1步语句查询是否还存在被锁会话

6.再次编译存储过程

编译成功,至此会话被杀死,问题解决。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 19c是一种数据库管理系统。如果您想卸载Oracle 19c,可以按照以下步骤进行操作: 1. 首先,您可以参考中的卸载教程,根据步骤进行操作。这个教程可以帮助您详细了解卸载Oracle 19c的过程。 2. 如果您无法在开始菜单中找到Oracle 19c的选项,您可以尝试前往"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Oracle - OraDB19Home1\应用程序开发"目录下查找。 3. 在卸载之前,建议您创建一个还原点,以便在需要时可以还原到安装Oracle之前的状态。您可以参考中的步骤来创建还原点。 4. 完成上述步骤后,您可以按照卸载教程中的指导,逐步执行卸载操作,以完成Oracle 19c的卸载过程。 请注意,具体的卸载步骤可能因您的操作系统版本和Oracle 19c安装配置而有所不同。因此,在卸载之前,请确保参考正确的卸载教程,并在执行操作之前备份重要的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Oracle19c安装,基本配置教程(超详细)](https://blog.csdn.net/m0_51545690/article/details/126748727)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值