oracle 执行存储过程时出现卡死

1 问题出现:

  最近刚到新公司,再看代码时,涉及到了存储过程的问题,该存储过程涉及到了表的更新操作。第一次调试的时候非常快就运行完了。第二次就卡死了,然后单步调试,发现卡死在 update 语句了。

2 问题解决

     最后发现是第一次执行的时候没有提交事务,把事务提交就不会出现卡死了。

3 结论

    由于在PLSQL Developer执行update时没有commit,oracle将该条记录锁住了。

原文地址:https://www.cnblogs.com/wjx1993/p/9531525.html

时间: 2024-08-24 19:48:30

oracle 执行存储过程时出现卡死的相关文章

oracle执行update时卡死问题的解决办法

今天进行项目开发时,为了测试项目中SQL执行效果,就用PLSQL Developer执行了一下,没有commit就继续敲代码了,之后重新使用PLSQL Developer时,可能是网络原因,PLSQL Developer断开了与数据库连接并且卡死,便强制结束了.代码敲完后进行测试,项目执行后没效果,并且无响应,debug后发现jdbc执行SQL时没反应了,问了一下谷老师才找到原因. 由于在PLSQL Developer执行update时没有commit,oracle将该条记录锁住了. 可以通过以

java连接oracle执行存储过程小程序

下面是一个java连接Oracle 执行一个没有返回值的存储过程的小例程. package com.test; import java.sql.*; public class procedure {     public static void main(String[] args) {         Connection ct=null;         CallableStatement cs=null;         try {             Class.forName("o

通过OCILIB连接oracle执行存储过程

#include <iostream> #include "ocilib.hpp" using namespace std; using namespace ocilib; #pragma comment(lib,"ociliba.lib") #pragma comment(lib,"ocilibw.lib") int main() {    try    {                int ncout = 0, iin = 1

EF执行存储过程时超时问题

异常信息:Message = EF "Timeout 时间已到.在操作完成之前超时时间已过或服务器未响应." ((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 360;

SQLSERVER创建该存储过程时不会出错,但是执行存储过程时报错

创建该存储过程时,不会出错,但是执行存储过程时,会报出下面这样的错误 这是因为在存储过程创建时,它先做语法检查,如果通过了语法检查,它会尝试解析它包含的对象名,如果存在也会解析该对象引用的对象是否存在.如果引用的对象名不存在,解析会在存储过程首次执行时触发.即在首次执行存储过程时,查询处理器从 sys.sql_modules 目录视图中读取该存储过程的文本,并检查该过程所使用的对象名称是否存在.这一过程称为延迟名称解析,因为存储过程引用的表对象不需要在创建该存储过程时就存在,而只需在执行该存储过

创建和执行存储过程

源地址: http://cache.baiducontent.com/c?m=9d78d513d9d431a94f9d92697d60c015134381132ba1d4020fd2843e91732d43506793ac57240773d7d20c6116dc494beb8021023c1454c18cb8895dacca866f6fd6286e365ac45613a004b29b18789437902db8ee4fbbadf045cff994ce8c0a009644020ed5add70f5

闲谈Oracle执行计划的步骤顺序

经过长时间学习Oracle,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西.Oracle执行计划的每一步返回一组行,它们或者为下一步所使用,或者在最后一步时返回给发出SQL语句的用户或应用.由每一步返回的一组行叫做行源(row source).下面得树状图显示了从一步到另一步行数据的流动情况.每步的编号反映了在你观察Oracle执行计划时所示步骤的顺序(如何观察Oracle执行计划将被简短地说明).一般来说这并不是每一步被执行的先后顺序. Oracle执行计划的每一步或者

Oracle定时任务执行存储过程备份日志记录表

写在前面 需求 备份系统日志表T_S_LOG, 按照操作时间字段OPERATETIME, 将每天的日志增量备份到另一张表. 思路 1.创建一张数据结构完全相同的表T_S_LOG_BAK作为备份表 2.查出T_S_LOG中需要备份的数据 3.将数据赋给游标变量 4.遍历游标将数据逐条插入T_S_LOG_BAK 5.创建无参存储过程将游标的这部分操作作为存储过程主体执行 6.创建定时任务定时执行该存储过程 操作环境 Oracle11g T_S_LOG日志表(部分数据) 1 -- ----------

ORACEL创建存储过程和根据Oracle定时任务机制执行存储过程

oracle定时执行存储过程 --创建一个存储过程,每天定时执行,将满足条件的设备插入到pinpai_Report表中. CREATE OR REPLACE procedure prc_job_report is begin INSERT into pinpai_Report SELECT s.type, s.remark, G .GROUPID, s."CATEGORY" CATEGORY, s.DEVTYPE devtype, s.VENDOR vendor, SUM (CASE