前言:
今天姐妹们对“oracle账户不断的被锁”大约比较看重,朋友们都想要分析一些“oracle账户不断的被锁”的相关文章。那么小编同时在网上搜集了一些关于“oracle账户不断的被锁””的相关内容,希望小伙伴们能喜欢,我们一起来了解一下吧!概述
没有并发就没有锁,这一块虽然很多概念性东西,但是理解下对于高并发的考虑还是有帮助的,下面先介绍下理论的东西。
Oracle中锁的分类
Enqueues---队列类型的锁,通常和业务相关的。
Latches ---系统资源方面的锁,比如内存结构,SQL解析..
锁的原则
1、只有被修改时,行才会被锁定。
2、当一条语句修改了一条记录,只有这条记录上被锁定,在Oracle数据库中不存在锁升
级。
3、当某行被修改时,它将阻塞别人对它的修改。
4、当一个事务修改一行时,将在这个行上加上行锁(TX),用于阻止其它事务对相同行
的修改。
5、读永远不会阻止写。
6、读不会阻塞写,但有唯一的一个例外,就是select ...for update。
7、写永远不会阻塞读。
8、当一行被修改后,Oracle通过回滚段提供给数据的一致性读。
Oracle锁的类型
SQL> select type,name from V$lock_type;TM锁和TX锁
1、TM 表锁
发生在insert,update,delete以及select for update操作时,目的是保证操
作能够正常进行,并且阻止其它人对表执行DDL操作。
2、TX锁 事务锁(行锁)
对于正在修改的数据,阻止其它会话进行修改。
篇幅有限,关于锁的一些总结的概念性东西就写到这了,后面用实验介绍下update、delete、select update的几种锁定,感兴趣的朋友可以关注下!
标签: #oracle账户不断的被锁