oracle deadlock】的更多相关文章

Get the directory of alert log sqlplus / as sysdba show parameters udmp SQL> show parameters dump "NAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------background_core…
Example to show the dead lock caused by lack of index on foreign key of child table. Session 1: create table p ( x int primary key );create table c ( x references p ); insert into p select rownum from all_users where rownum <= 2;insert into c select…
---oracle versionSQL> select * from v$version where rownum=1;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production ---session 241SQL> select…
Basic operation su - oracle sqlplus / as sysdba show parameter background show parameter user_dump_dest background_dump_dest: path_to_trace_file deadlook error code is: ORA-00060 Refer to dead lock article http://asktom.oracle.com/pls/asktom/f?p=100:…
[锁]Oracle死锁(DeadLock)的分类及其模拟 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 死锁的概念及其trace文件 ② 死锁的分类 ③ 行级死锁的模拟 ④ ITL的概念.ITL结构 ⑤ ITL引发的死锁处理 ⑥ ITL死锁的模拟 Tips: ① 本文在itpub(http://blog.itpub.net/26736162).博客园(http:/…
我是一名软件包工头,哪里有问题就干哪里. 这次是 Oracle 出毛病了,我就临时兼了DBA的职,没办法,谁叫我是工头呢.打开百度就开干. 这次关键词是:APPARENT DEADLOCK!!! 丫的看这三个感叹号,Tomcat真矫情.一个Oracle跑了5年了,毛病多我可以理解,关键是原因太奇葩,我不能接受. 百度之后,发现是 Oracle 的  listener.log 过大引起的(见此文). listener.log 的路径:$ORACLE_HOME\diag\tnslsnr\机器名\li…
当两个或多个用户相互等待锁定的数据时就会发生死锁,这时这些用户被卡在不能继续处理业务,oracle可以自动检测死锁并解决他们,通过回滚一个死锁中的语句,释放锁定的数据,回滚的话会遇到ora-00060 deadlock detected while waiting for resource oracle编程艺术上面提过,死锁的两种原因:外键未加索引,位图索引并发. 外键无索引导致死锁: oracle在更新主表的时候,会去寻找所有以主表的主键作为外键的数据表,然后看从表是否有该外键的索引,如果没有…
ORACLE的告警日志里面包含许多有用的信息,尤其是一些ORACLE的ORA错误信息,所以有必要及时归档.监控数据库告警日志的ORA错误,及时提醒数据库管理员DBA处理这些错误信息,那么我们首先来看看告警日志的内容片断: Thread 1 advanced to log sequence 37749 (LGWR switch) Current log# 6 seq# 37749 mem# 0: /u01/oradata/SCM2/redo06.log Thu Jun 27 15:02:30 20…
AUTONOMOUS TRANSACTION(自治事务)的介绍 在基于低版本的ORACLE做一些项目的过程中,有时会遇到一些头疼的问题,比如想在执行当前一个由多个DML组成的transaction(事务)时,为每一步DML记录一些信息到跟踪表中,由于事务的原子性,这些跟踪信息的提交将决定于主事务的commit或rollback. 这样一来写程序的难度就增大了, 程序员不得不把这些跟踪信息记录到类似数组的结构中,然后在主事务结束后把它们存入跟踪表.哎,真是麻烦! 有没有一个简单的方法解决类似问题呢…
AUTONOMOUS TRANSACTION(自治事务)的介绍 在基于低版本的ORACLE做一些项目的过程中,有时会遇到一些头疼的问题,比如想在执行当前一个由多个DML组成的transaction(事务)时,为每一步DML记录一些信息到跟踪表中,由于事务的原子性,这些跟踪信息的提交将决定于主事务的commit或rollback. 这样一来写程序的难度就增大了, 程序员不得不把这些跟踪信息记录到类似数组的结构中,然后在主事务结束后把它们存入跟踪表.哎,真是麻烦! 有没有一个简单的方法解决类似问题呢…
ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源: --首先得到被锁对象的session_idselect session_id from v$locked_object; --通过上面得到的session_id去取得v$session的sid和serial#,然后对该进程进行终止.--SELECT sid, serial#, username, osuser FROM v$session; SELECT sid, serial#, username, osuser FRO…
oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT 问题如下: SQL> conn scott/tiger@vm_database Connected to Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 Connected as scott ...... SQL> drop table student2;drop table student2ORA-00054: 资源正忙, 但指定以 NOWAIT 方…
转 http://blog.chinaunix.net/uid-7374279-id-2057574.html 写在前面:今天客户来访(日本人),问我DB2和Oracle区别.因为不是DBA(勉强的理由),我还真没有认真总结过.但我的第一感觉:一个是instance,一个是Database.建Ora库和DB2的库是不一样的.实在是はずかしい. 系统结构概述 首先,我们需要理解 Oracle 使用的架构,并理解它与 DB2 的不同之处.图 1 展示了 Oracle 的系统结构.将该图与 图 2 进…
一.为什么要有锁的机制 我们都知道数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性. 二.加锁的目的 加锁是实现数据库并发控制的一个非常重要的技术.当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁.加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作. 三.排他锁和共享锁 在数据库中有两种基本的锁类型:排它…
跟踪文件由各个后台进程生成,警报日志中记录关键操作包括:     ·所有启动和关闭命令,包括中间命令,如alter database mount     ·实例的所有内部错误(ORA-600错误,只能报告给Oracle Support解决)     ·任何检测到的数据文件块损坏情况     ·任何已经发生的死锁     ·影响数据库物理结构的所有操作,如创建或重命名数据文件和联机重做日志     ·调整内部参数值的alter system命令     ·所有日志开关和日志归档文件 以Oracle…
如果有两个会话,每个会话都持有另一个会话想要的资源,此时就会发生死锁.用下面实验来说明死锁的产生原因和解决办法.SESSION1:SQL> create table t2 as select * from emp;SQL> select * from t2 where empno=7369; EMPNO ENAME      JOB              MGR HIREDATE                 SAL       COMM     DEPTNO---------- ---…
[锁]Oracle锁系列 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 锁的概念.分类.及其模拟 ② 查询锁的视图及视图之间的关联 ③ 锁的参数(DML_LOCKS.DDL_LOCK_TIMEOUT) ④ FOR UPDATE及FOR UPDATE OF系列 ⑤ 带ONLINE和不带ONLINE创建索引的锁情况(是否阻塞DML操作) ⑥ 包或存过不能编译的解决方法…
关于并发insert操作发生deadlock这个情况,一直有很多争议,而且网上的帖子所有的例证和模拟其实不一定反映了真实的情况,例如:https://www.percona.com/blog/2012/03/27/innodbs-gap-locks/http://www.cnblogs.com/LBSer/p/5183300.html http://www.cnblogs.com/bamboos/p/3532150.html 不少的类似例子应该来说其实不少有猜测和为了重现而重现的目的.事实上开两…
名词术语1.Cross Boundary Hang 交叉边界hang.在12.1.0.1中,hang manager可以检测database和asm之间的hang.2.Deadlock or Closed Chain 死锁或关闭链条.打破死锁链条的唯一方法是让其中某些会话完成其工作或被终止.3.Hang or Open Chain hang或开放链条.从hang manager角度讲,hang就是一些会话无法进一步处理工作,这不是死锁或循环链条.hang or open chain有一个根本阻塞…
简单命令 1.显示服务器上的可用实例:ps -ef | grep smon2.显示服务器上的可用监听器:ps -ef | grep -i listener | grep -v grep3.查看Oracle存档目录的文件系统使用情况:df -h4.统计alter.log文件中的行数:[root@rac01 ~]# find / -name alert*5.CRONTAB一个crontab文件中包含有六个字段:分钟 0-59小时 0-23月中的第几天 1-31月份 1 - 12星期几 0 - 6,…
Skip Headers Oracle® Database Patch 19121551 - Database Patch Set Update 11.2.0.4.4 (Includes CPUOct2014)   Released: October 14, 2014 This document is accurate at the time of release. For any changes and additional information regarding PSU 11.2.0.4…
问题如下: SQL> conn scott/tiger@vm_databaseConnected to Oracle Database 11g Enterprise Edition Release 11.1.0.6.0Connected as scott ...... SQL> drop table student2; drop table student2 ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效=========================…
一.锁 数据库是一个多用户使用的共享资源.当多个用户并发地存储数据时,数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性. 锁是实现数据库并发控制的一个非常重要的技术.当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁.加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作. 二.阻塞 定义:当一个会话保持另一个会话正在请求的资源上的锁定时,就会发生阻塞.被阻塞的会话将一直挂…
本着实验优先的原则,先模拟死锁的发生,然后在列一下死锁产生的四个必要条件和处理死锁的一般策略. 1.创建两个简单的表t1_deadlock和t2_deadlock,每个表中仅仅包含一个字段asys@ora10g> conn sec/secConnected.sec@ora10g> create table t1_deadlock (a int); Table created. sec@ora10g> create table t2_deadlock (a int); Table crea…
hanganalyze是ORACLE的一款性能诊断工具,这个款工具是从oracle 8.0.6开始可用,在oracle数据库出现严重的性能问题的时候它可以帮助你定位问题所在. 1.首先说说hanganalyze工具的用法 对于单实例数据库语法如下 alter session set events 'immediate trace name hanganalyze level '; 或则使用oradebug进行hanganalyze conn /as sysdba SQLPLUS>oradebug…
Oracle Statspack报告中各项指标含义详解~~学习性能必看!!! Data Buffer Hit Ratio#<#90# 数据块在数据缓冲区中的命中率,通常应该在90%以上,否则考虑加大 db_block_buffers(9i 以上可是db_cache_size) Buffer Nowait Ratio#<#99# 在缓冲区中获取buffer 的未等待比率 Library Hit Ratio#<#98# 主要代表着sql在共享区的命中率,通常在98%以上 In Memory…
数据库事务概括 1. 说明 一组SQL,一个逻辑工作单位,执行时整体修改或者整体回退. 2.事务相关概念 1)事务的提交和回滚:COMMIT/ROLLBACK 2)事务的开始和结束 开始事务:连接到数据库,执行DML.DCL.DDL语句 结束事务: 1. 执行DDL(例如CREATE TABLE),DCL(例如GRANT),系统自动执行COMMIT语句 2. 执行COMMIT/ROLLBACK 3. 退出/断开数据库的连接自动执行COMMIT语句 4. 进程意外终止,事务自动rollback 5…
检查两天内的须要重视的信息: vi   alter_error.sh echo "Check Alter Error:" cat $TRACE/alert_$ORACLE_SID.log | grep -E ^ORA-\|Reconfig\|abort\|Shut\|^Start\|error\|Instance\|Suspend\|Resuming\|Deadlock\|"`date "+%b %d"`"\|"`date -d las…
1.监控等待事件select event,sum(decode(wait_time,0,0,1)) prev, sum(decode(wait_time,0,1,0)) curr,count(*)from v$session_wait group by event order by 4; Lock wait occur when a session attempts to acquire a lock that is already held by another session. A sess…
自治事务 自治事务是独立的事务操作,如果考虑到事务回滚,必须单独写成一个触发器来完成, 一个事务A在另一个事务B内被调用,那个事务A是自治事务,自治事务A执行过程中会脱离其session内未执行完毕的事务的影响. 如果session从B事务开始——A事务开始和结束——B事务结束 上述的A事务不受没有完成的B事务的影响,然后A事务执行完毕后再次回到B事务执行没有完成的B事务. 通过pragma autonomous_transaction将一个pl/sql程序结构设定为自治事务,pragma是编译…