56 阻塞:
这一段没有看得太明白。但是也不是云里雾里,只是了解了大概。常用的DML语句,都会造成阻塞的效果。Insert,update,delete,Merge还有select for update.
其中,最麻烦的就是Insert。因为其余的都可以锁住行,而Insert要达到阻塞的效果。必须要使用触发器。
而select for update nowait作用为由两个作用
1.验证你的数据查询之后是否会改变。
2 锁住行,
关于这一点,不是很明白。主要是不太明白何为真正意义上的阻塞?停止,还是其他。而这些语句,在实际的过程中又有什么意义?
57 死锁
其实并发问题都会产生这个问题。
这一段真的是看得云里雾里了。懂的只有概念。这里的论述让我觉得很不明了。
首先,书中大多数的部分都是在说Oracle不需要太多的死锁。并且归纳为头号原因是外键未加索引。所以建议要加索引。
满足以下条件,那么外键不加索引
1.没有从父表删除行
2.没有更新父表的为一件/主键
3.没有从从父表联接子表
让我不太明白的是,这里是介绍死锁呢?还是介绍头号原因。
58.Oracle中的锁。
其实,我以前对于锁有着自己的误解。怎么说呢。锁在我心目中是一种控制器,而不是一种手段。需要我们人为的参与。但是实际情况却并非如此。锁从某种意义上来说。只是一种数据的控制手段。我说的有点迷糊。
何为控制器。控制器在这里。我给其的定义在于我们对其招之即来呼之即去的东西。何为手段手段?就是为了达到目的而用的方法。
锁的存在,其更本的目的在于使得数据能够达到一致性。所以其只是手段。大部分由数据库控制,而不是我们。
首先,在其他数据库中,锁是一种很消耗资源的操作。但是在Oracle中则不然。因为Oracle中。把锁变成了数据的属性。具体会在第九章进行介绍。书中估计就介绍了INITRANS和MAXTRANS两个属性。
59.DML锁
Tx锁(事务锁):事物发起第一个修改的时候,就会得到一个TX锁。知道事物提交或者回滚。
TM锁(DML Enqueue)。用于修改表的内容时,表的结构不会改变的锁。
书中介绍了一个方法。两句Sql语句。分别从V$TRANSACTION, V$SESSION,V$Lock表总查看锁的情况。具体可以在P209页看到。从这里可以查出一下细节信息。
60 DDL锁
这是一个排他的DDL操作。3中类型
排他DDL锁: 能看数据,但是不能修改
共享DDL锁, 能看数据,能修改数据
可中断解析锁: 这个锁我也不太明白什么意思。对其的理解是,如果你一个查询A对其他对象有依赖。那么你依赖的对象B会有这个锁。这个锁不能先知你所依赖的对象B修改。但是如果对象B修改。那么你的缓存数据会被刷新。
关于这个。你可以使用DBA_DDL_LOCKS这个书体。但是这个视图并非默认安装。书中的例子看得似懂非懂。只有一个大概的影响。但是具体有什么用。真没看懂。
61 LATCH闩
。其实闩在书中只讲明了其运行机制,但是具体是什么。只是说了是一个轻量级的串行化设备。后来网上查询了一些资料。发觉还是不要把闩当成锁的好。因为它根本不是锁。尽管它做的是锁的事情。但是完全和锁不同。
首先闩只运行于内存中。而不运行于其他地方。其实,其获得机制与锁完全不同。锁是申请的。而闩是一种随机的获得。感觉就好象获得CPU一样。一个事务可能获得闩。但是只能保持很少时间。同时,如果多个事务同时获得竞争闩,获得会是随机的。
所以在这里提出了一个“自旋”的观念。其实看明白之后,就是如果一个事务获得不了闩。它不会后退,不会做任何操作。而是试图再次获得。就是没有wait或者sleep。
关于其他的。说句实话。我真的看懂到底什么是闩。只知道它提供一种类似于锁的机制。然后,如果想要节省资源。最好用绑定变量。Java中就是使用prepared statment。书中写了很多介绍。但是我就直接写了结果。嘿嘿。
分享到:
相关推荐
### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...
Oracle学习笔记 Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接...
Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...
Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...
以下是对Oracle学习笔记中提到的一些关键知识点的详细解释: 1. **SQL执行顺序**: SQL语句的执行顺序是:`FROM` -> `WHERE` -> `SELECT` -> `GROUP BY` -> `HAVING` -> `ORDER BY`。首先从`FROM`子句开始,确定...
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...
以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...
根据提供的信息,我们可以总结出以下Oracle数据库学习的关键知识点: ...以上是基于提供的内容整理出的Oracle学习笔记中的关键知识点。通过理解这些基础知识,可以更好地管理和操作Oracle数据库。
Oracle DBA 学习笔记 标题:Oracle DBA 学习笔记 描述:学习使用维护 Oracle 数据库数年,对认为值得记录的 Oracle 维护脚本进行记录总结,存起来,虽然今后开源是方向,但不可否认 Oracle 仍然非常有水平的,在...
超详细Oracle学习笔记,详细记录了oracle的学习过程中遇到的各种问题及基础知识,适合初中级oracle使用人员学习参考。
Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛应用。本书设计了大量的应用情景,介绍了数据库管理员和开发人员常用的管理、维护和优化Oracle 11g数据库的技术和...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的特性和功能来优化数据管理和查询性能。本文主要探讨Oracle数据库的入门基础知识,特别是与索引相关的概念。 首先,我们要理解ROWID的概念。ROWID是...
全网最全的oracle学习笔记,oracle学习笔记,oracle,### 4、oracle的七个服务 ```sql 1、Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如...
### Oracle 学习笔记知识点概览 #### 一、Oracle 数据库系统参数查询与管理 在 Oracle 数据库的学习过程中,了解如何查看和管理数据库的系统参数是非常重要的。这些参数直接影响着数据库的性能和稳定性。 ##### ...
oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记