oracle死锁测试
测试一个死锁,看看oracle会报什么错误,以及oracle如何处理
1.创建测试表,测试数据
2.第一轮update,delete 两个会话,不同的行
3.第二轮,delete,update两个会话,分别是上述对方操作的行
4.观察alert报错信息
1.创建测试表,测试数据
SYS@ora122>create table yy_test(id int,name varchar2());
SYS@ora122>insert into yy_test values(1,'aa');
SYS@ora122>insert into yy_test values(2,'bb');
SYS@ora122>commit;
2.第一轮update,delete 两个会话,不同的行
会话一、操作一
SYS@ora122>select sid from v$mystat group by sid; SID
---------- SYS@ora122>update yy_test set id= where name='aa'; row updated.
会话二、操作二 SYS@ora122>select sid from v$mystat group by sid; SID
---------- Elapsed: ::00.01
:: SYS@ora122>delete yy_test where id=; row deleted.
3.第二轮,delete,update两个会话,分别是上述对方操作的行
会话一、操作三
14:: SYS@ora122>delete yy_test where id=;
delete yy_test where id=
*
ERROR at line :
ORA-: deadlock detected while waiting for resource
会话二、操作四
:: SYS@ora122>update yy_test set id= where name='aa';
--第四个操作hang 住,等待第一个操作update释放资源 发现,当操作四update操作执行时,oracle过了几秒内,瞬间将第三个操作申请的tm 3号锁及delete 操作强制回收,但是会话一并未断开,且之前执行的update操作还是有效的
4.观察alert报错信息
--24T14::23.183647+:
diag_adl:ORA-: Deadlock detected. See Note 60.1 at My Oracle Support for Troubleshooting ORA- Errors. More info in
file /u01/app/ora122/diag/rdbms/orcl/ora122/trace/ora122_ora_8522.trc. The following deadlock is not an ORACLE error. It is a
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock: Deadlock graph:
------------Blocker(s)----------- ------------Waiter(s)------------
Resource Name process session holds waits serial process session holds waits serial
TX-00CF000B--- X X
TX-00BD0016--- X X 3013
*** 2019-01-24T14:30:22.894735+08:00 (CDB$ROOT(1))
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=1, mask=0x0)
----- Error Stack Dump -----
----- Current SQL Statement for this session (sql_id=8dabarvhbg58k) -----
delete yy_test where id=2
oracle死锁测试的更多相关文章
- 教您如何检查oracle死锁,决解死锁
oracle死锁问题一直困扰着我们,下面就教您一个oracle死锁的检查方法,如果您之前遇到过oracle死锁方面的问题,不妨一看…… oracle死锁问题一直困扰着我们,下面就教您一个oracle死 ...
- Oracle DG测试failover和后续恢复报告
Oracle DG测试failover和后续恢复报告 一.概述 二.验证过程: 2.1 A库异常关闭 2.2 B库进行failover切换为新主库 2.3 要求C库成为新主库的备库 2.4 要求A库成 ...
- oracle 死锁
oracle 死锁 --查用户名,查客户端机器 SELECT distinct s.username,s.MACHINE, s.sid||','||s.serial# FROM gv$session ...
- loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试
调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...
- 【锁】Oracle死锁(DeadLock)的分类及其模拟
[锁]Oracle死锁(DeadLock)的分类及其模拟 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...
- Oracle数据库测试和优化最佳实践: OTest介绍 (转)
当前Oracle数据库最佳测试工具OTest * Otest是用于Oracle数据库测试.优化.监控软件. * Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王 ...
- Oracle死锁处理实例
Oracle死锁常规语句 1.查询Oracle死锁常规语句 SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username, l ...
- Oracle死锁
当两个或多个用户相互等待锁定的数据时就会发生死锁,这时这些用户被卡在不能继续处理业务,oracle可以自动检测死锁并解决他们,通过回滚一个死锁中的语句,释放锁定的数据,回滚的话会遇到ora-00060 ...
- Oracle死锁查询及处理
一.数据库死锁的现象程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错.二.死锁的原理当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提交,另一条对于这一列数据做更 ...
随机推荐
- python中RabbitMQ的使用(路由键模糊匹配)
路由键模糊匹配 使用正则表达式进行匹配.其中“#”表示所有.全部的意思:“*”只匹配到一个词. 匹配规则: 路由键:routings = [ 'happy.work', 'happy.life' , ...
- Pick-up sticks
Pick-up sticks Stan has n sticks of various length. He throws them one at a time on the floor in a r ...
- IntelliJ IDEA下载及安装,破解
IntelliJ IDEA下载及安装,破解 百度百科:IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助 ...
- Script to Collect Log File Sync Diagnostic Information (lfsdiag.sql) (文档 ID 1064487.1)
the article from :http://m.blog.itpub.net/31393455/viewspace-2130875/ Script to Collect Log File Syn ...
- 【转】你必须知道的EF知识和经验
注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...
- python 文件的打开与读取
python 文件的打开与读取 其实网上其他人写的都挺好的,我也是看他们的.办公室用的2.7.笔记本用的3.6.发现没有file 类,尴尬了 with open(r'C:\Users\HBX\Docu ...
- python(4)之字典
字典的操作方式如下: info={ 'stu1101':"xiaohai", 'stu1102':'liming', 'stu1103':"heima", } ...
- chrome shortkeys
[{"action":"scrolldownmore","activeInInputs":true,"blacklist" ...
- Mysql索引引起的死锁
提到索引,首先想到的是效率提高,查询速度提升,不知不觉都会有一种心理趋向,管它三七二十一,先上个索引提高一下效率..但是索引其实也是暗藏杀机的... 今天压测带优化项目,开着Jmeter高并发访问项目 ...
- UVALive 3401 - Colored Cubes 旋转 难度: 1
题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...