于是我就直接在上面改字段,在点打钩(记入改变)的时候提示,记录被另一个用户锁住,一开始还以为整个表被锁住了,后来发现,仅仅是这个字段不能改变,其他的字段可以。
网上找了资料,发现是:当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况造成的。网上也给出了答案:

1、查看数据库锁,诊断锁的来源及类型:

select object_id,session_id,locked_mode from v\(locked_object; 或者用以下命令: select b.owner,b.object_name,l.session_id,l.locked_mode from v\)locked_object l, dba_objects b
where b.object_id=l.object_id

SELECT lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#
FROM v\(locked_object l,dba_objects o,v\)session s
WHERE l.object_id=o.object_id
AND l.session_id=s.sid
ORDER BY o.object_id,xidusn DESC

2、找出数据库的serial#,以备杀死:

select t2.username,t2.sid,t2.serial#,t2.logon_time
from v\(locked_object t1,v\)session t2
where t1.session_id=t2.sid order by t2.logon_time;

3、杀死该session

alter system kill session 'sid,serial#'
用步骤2中查出来的记录,对应进该语句删除

就是这样子,以下是我操作的方法:

第一步:(只是用于查看哪些表被锁住,真正有用的是第二、第三步)

select b.owner,b.object_name,l.session_id,l.locked_mode
from v$locked_object l, dba_objects b
where b.object_id=l.object_id
后:
OWNER OBJECT_NAME SESSION_ID LOCKED_MODE
1 BSZCGL TDISPOSE_ACCEPT_F 1115 3
2 BSZCGL TDISPOSE_ACCEPT_F 1097 3
3 BSZCGL TDISPOSE_ACCEPT_Z 1116 3
4 BSZCGL TDISPOSE_ACCEPT_Z 1111 3
5 BSZCGL TDISPOSE_ACCEPT_Z 1103 3
6 BSZCGL TDISPOSE_ACCEPT_Z 1100 3
7 BSZCGL TDISPOSE_ACCEPT_Z 1097 3
8 BSZCGL TDISPOSE_ACCEPT_Z 1092 3
9 BSZCGL TDISPOSE_DAMAGE_Z 1106 3
10 BSZCGL TZC6_22CL 1097 3

可以看出,那些表被锁住

第二步:

select t2.username,t2.sid,t2.serial#,t2.logon_time
from v\(locked_object t1,v\)session t2
where t1.session_id=t2.sid order by t2.logon_time;
后:
USERNAME SID SERIAL# LOGON_TIME
1 BSZCGL 1115 132 2011-12-6 14:51:35
2 BSZCGL 1097 116 2011-12-6 14:51:57
3 BSZCGL 1097 116 2011-12-6 14:51:57
4 BSZCGL 1097 116 2011-12-6 14:51:57
5 BSZCGL 1111 155 2011-12-6 14:56:29
6 BSZCGL 1103 292 2011-12-6 14:57:34
7 BSZCGL 1116 388 2011-12-6 15:04:56
8 BSZCGL 1100 240 2011-12-6 15:08:13
9 BSZCGL 1106 228 2011-12-6 15:26:20
10 BSZCGL 1092 10 2011-12-6 15:26:46

第三步:(关键)

执行:(alter system kill session 'sid,serial#')具体如下:
alter system kill session '1115,132'
alter system kill session '1097,116'
alter system kill session '1111,155'
alter system kill session '1103,292'
alter system kill session '1116,388'
alter system kill session '1100,240'
alter system kill session '1106,228'
alter system kill session '1092,10'
执行成功,会提示执行完毕!
有可能执行完一条之后,其他的ID也跟着消失,执行完3后,在执行2,检查时候清除完毕

转载于:https://www.cnblogs.com/happig/p/5897063.html

oracle 被另一个用户锁定相关推荐

  1. oracle 被另一用户锁定,Oracle报错记录被另外一个用户锁定的解决方案

    原因 当一个用户对数据进行修改时,若没有进行提交或者回滚,Oracle不允许其他用户修改该条数据,在这种情况下修改,就会出现:"记录被另外一个用户锁定"错误. 解决 查询用户.数据 ...

  2. oracle中复制一个用户

    oracle中复制一个用户 现场人员需要将USRDB用户复制出来,弄个USRDB1用户,在这个用户上导入数据做测试. 复制方案的思路: 1.查USRDB的默认表空间,PROFILE,系统权限,对象权限 ...

  3. oracle如何删除一个用户下的所有数据?

    在oracle中,如何删除一个用户下的所有数据? 1.用sql*plus,或者在plsql.toad中使用sys身份登陆数据库 2.然后执行下面语句: DROP USER user_name (用户名 ...

  4. oracle如何导入一个用户,Oracle 把一个用户的数据导入另一个用户 (数据泵)

    Oracle 把一个用户的数据导入另一个用户 (数据泵) 发布时间:2020-06-06 23:38:49 来源:51CTO 阅读:6700 作者:crazy_charles 192.168.0.1- ...

  5. Oracle如何清除一个用户下的所有表

    执行该操作要慎重,不然可能会造成很严重的后果! 使用工具: plsql developer Oracle 数据库 前段时间部署程序的时候导入数据有问题,需要重新导入.然后保险起见把原来的表全部删掉之后 ...

  6. oracle中创建一个用户,只能查看指定的视图,如何授权,创建别名

    1.create user A identified by Apassword,创建用户,用户名是A,密码是Apassword 2.grant connect to A --授予connect权限 3 ...

  7. oracle如何清空一个用户下的所有表中的数据?

    -- 大概 这个样子,如果没有 FK 的话,一下子就都删掉了. begin for x in (select table_name from user_tables) loop execute imm ...

  8. oracle查看表中记录数,Oracle 查询某一用户下所有表的记录数

    要查询Oracle下某一个用户下所有表的记录条数,可以采用如下办法: 1.创建function count_tables_rows create or replace function count_t ...

  9. Oracle回应用户锁定,自治数据库是更好选择

    自治数据库是近年来Oracle比较大的创新,根据Oracle自己的描述:自治式数据库云采用了机器学习技术实现了自动化,因而不再需要人力的介入,从根本上消除了人为差错,也不再需要手工进行微调.修补.更新 ...

最新文章

  1. 那些很骚很酷很有内涵的话
  2. 河北职称计算机2012试题,2012年河北省职称计算机考试试题及答案.doc
  3. c# wpf 面试_WPF 基础面试题及答案(一)
  4. org.eclipse.jdt.internal.compiler包下的类找不到
  5. 【.NET 日常开发技巧】一个性能强悍的HttpClient 库
  6. 如何计算机操作维护培训,电脑基本操作培训教材.ppt
  7. linux-x86_64 error,Linux-x86_64 Error: 5: Input/output error的问题
  8. python n个list如何组成矩阵_学完Python,我决定熬夜整理这篇总结...
  9. 大数据时代的全能日志分析专家--Splunk安装与实践
  10. ks.cfg配置详解
  11. Cmake编译 OPENCV_DNN_CUDA 报错: CMake Error at modules/dnn/CMakeLists.txt:39 (message):
  12. html英文期刊参考文献,外文期刊参考文献标准格式
  13. 谷歌Chrome浏览器保存网页为PDF
  14. 【视频音效素材】火遍全网的2000款热门短视频搞笑剪辑素材+经典音效包素材来了
  15. 浅谈JSONP跨域漏洞
  16. [Vani有约会]雨天的尾巴
  17. NAND FLASH 坏块相关知识
  18. ubuntu 22.04设置字体为Garuda(mac字体Lucida Grande的开源替代)
  19. TypeScript——Web前端开发的救赎
  20. GitHub添加SSH key

热门文章

  1. 哪些模块可用于python性能分析_Python调用C模块以及性能分析
  2. python方法调用名字不一样_python中调用父类同名方法
  3. 阿里云虚拟机mysql_打开虚拟机里mysql
  4. win10系统如何安装iis信息服务器,win10系统安装iis服务功能的具体方法【图文教程】...
  5. 我的世界服务器如何修改加载规模,我的世界服务器预加载区域怎么调小
  6. python netty_Netty源码解读(一)概述
  7. 记录两段经典标定代码
  8. arraylist从大到小排序_初学Python最简易入门之十四排序算法10对字典排序
  9. 给定一个数组求里面数字拼在一起组成的最小数字
  10. UNITY技巧-查找脚本被哪个场景引用