今天执行了一个很简答的更新数据的SQL,结果一直执行不过去。最开始我以为是我的过滤条件不对,导致数据量太大,但是当我用select语句去执行时,发现过滤条件并没有问题,然后便开始了面向百度。

原来是发生了锁表现象,先将我的处理过程做一个总结:

1、使用SQL查看我们的锁表进程

SELECT SESS.SID,SESS.SERIAL#,LO.ORACLE_USERNAME,LO.OS_USER_NAME,AO.OBJECT_NAME,LO.LOCKED_MODE
FROM V$LOCKED_OBJECT LO, DBA_OBJECTS AO, V$SESSION SESS
WHERE AO.OBJECT_ID = LO.OBJECT_ID
AND LO.SESSION_ID = SESS.SID

能查出来数据则说明存在锁表进程

记录下我们对应进程的SID、SERIAL#,为后面杀进程做准备

2、使用SQL杀死我们的锁表进程

ALTER SYSTEM KILL SESSION 'SID,SERIAL#';

3、杀死进程再次执行第一步就没有对应的数据了

什么是锁表?为什么会发生?

数据库使用的是独占式封锁机制,当执行对应的SQL语句时(INSERT、UPDATE、DELETE),我们的表就会被锁住,直到commite、回滚或者退出数据库用户,才能执行下一条。

这里的细节和数据库的事务并发问题有关

事务的隔离级别和并发问题

数据库执行update语句,一直执行不完【已解决】相关推荐

  1. mysql update语句卡死_oracle执行update语句时卡住问题分析及解决办法

    问题 开发的时候debug到一条update的sql语句时程序就不动了,然后我就在plsql上试了一下,发现plsql一直在显示正在执行,等了好久也不出结果.但是奇怪的是执行其他的select语句却是 ...

  2. 关于Access数据库执行Update语句后,不报错,但影响行数总是返回0的问题

    最近碰到一个奇怪的问题,使用Access数据库执行Update语句后,不报错,但影响行数总是返回0. 因为是第一次碰到这个问题,纠结了半天.后来在网上搜索得到解决方案: SQL语句传参数的顺序和语句中 ...

  3. update语句的执行过程

    更多内容关注微信公众号:fullstack888 昨天很多同学在后台问,为什么Update是二阶段提交?紧接上文,我们了解了:深入理解Mysql执行过程及执行顺序.今天我们主要分析一下update语句 ...

  4. Oracle执行UPDATE语句的步骤

    执行UPDATE语句的步骤: 如果数据和回滚数据不在数据库高速缓冲区中,则Oracle服务器进程将把它们从数据文件中读到数据库高速缓冲区中. Oracle服务器进程在要修改的数据行上加锁(行一级的锁, ...

  5. 执行update语句,返回受影响行数为0的几种情况

    首先我们都很清楚执行update语句,返回的结果是受影响的行数这是要先说的, 其次本人遇到执行update语句返回0的情况有两种 1.Update的sql语句中的where条件不成立时,返回结果是0 ...

  6. mysql update锁表_MySQL执行update语句是锁行还是锁表分析

    我们在数据库执行update语句的时候,到底是锁表还是锁行?这里直接用MySQL上例子测试下. 一.环境准备 1.新建一个表create table test_update( id BIGINTnot ...

  7. oracle执行update语句卡死

    oracle执行update语句卡死 问题:当在plsql上执行update语句时,一直在显示正在执行中,很久不出结果.执行select语句或者是其他表的update语句时,可以正常执行 原因:只有u ...

  8. mysql基础架构(一条update语句如何执行)

    update语句如何执行? 一.流程分析 二.重要的日志模块 1.redo log 2.binlog 3.两阶段提交 三.小结 一.流程分析 与查询流程不一样的是,更新流程涉及,两个重要的日志模块,r ...

  9. 执行update语句,用没用到索引,区别大吗?

    前言: 我们都知道,当执行 select 查询语句时,用没用到索引区别是很大的,若没用到索引,一条 select 语句可能执行好几秒或更久,若使用到索引则可能瞬间完成.那么当执行 update 语句时 ...

  10. win7安装mysql5.7.16后,执行update语句导致mysql服务停止

    碰到一个很怪异的问题,在win7环境将mysql5.6版本卸载,安装mysql5.7.16后,执行update语句时,导致mysql服务停止! 在linux环境下使用同样的库和执行同样的update语 ...

最新文章

  1. [推荐]SharePoint开发WebCast
  2. Linux 中内核级加强型火墙的管理
  3. 八、结构模式之组合(Composite)模式
  4. python base64编码_JS和Python实现AES算法
  5. 云原生数据库崛起,阿里云POLARDB当选世界互联网领先科技成果
  6. C/C++ 进程的探索(fork函数)
  7. RiPro主题-子主题huzao-child V4.0简洁大气集成后台美化包
  8. 细数SkyEye异构仿真的5大特色
  9. ref out的用法
  10. CentOS增加用户到sudo用户组
  11. JavaScript遍历DOM
  12. tp3.2 模型page和limit方法区别
  13. 第二章 Maven的安装和配置
  14. 呼吸机吸气触发:压力触发与流量触发
  15. win10如何设置计算机网络访问,win10系统设置允许或拒绝从网络中访问本地电脑的操作方法...
  16. vrp java_HCIA-VRP基础及操作
  17. xml和html的区别和联系
  18. linux下低格u盘,u盘低级格式化操作
  19. Vue天地图之图层类型切换
  20. 爱心代码(网上整理)

热门文章

  1. python异常类父类_python【第五篇】异常处理
  2. 几点预防内存泄露的小建议
  3. Luogu4438[HNOI/AHOI2018] 道路
  4. Request header field mytoken is not allowed by Access-Control-Allow-Headers in preflight (请求头设置问题)
  5. shell编程四剑客之 find
  6. df 查看显示所有磁盘的信息
  7. jdbc map获取keys_小前端读源码 - React(浅析Keys原理)
  8. 微光app电脑版_有哪些适合学生使用的 App?②
  9. c语言中宽字节,fgetwc读取的是宽字节么?
  10. 大学计算机社团学什么好,大学哪些社团组织最值得加入?很多人工作后才知道!...