`
chandler
  • 浏览: 78802 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle学习笔记(七)

阅读更多

56 阻塞:

    这一段没有看得太明白。但是也不是云里雾里,只是了解了大概。常用的DML语句,都会造成阻塞的效果。InsertupdatedeleteMerge还有select for update.

其中,最麻烦的就是Insert。因为其余的都可以锁住行,而Insert要达到阻塞的效果。必须要使用触发器。

select for update nowait作用为由两个作用

1.验证你的数据查询之后是否会改变。

2 锁住行,

 

关于这一点,不是很明白。主要是不太明白何为真正意义上的阻塞?停止,还是其他。而这些语句,在实际的过程中又有什么意义?

 

57 死锁

   其实并发问题都会产生这个问题。

   这一段真的是看得云里雾里了。懂的只有概念。这里的论述让我觉得很不明了。

   首先,书中大多数的部分都是在说Oracle不需要太多的死锁。并且归纳为头号原因是外键未加索引。所以建议要加索引。

满足以下条件,那么外键不加索引

1.没有从父表删除行

2.没有更新父表的为一件/主键

3.没有从从父表联接子表

 

让我不太明白的是,这里是介绍死锁呢?还是介绍头号原因。

 

58.Oracle中的锁。

       其实,我以前对于锁有着自己的误解。怎么说呢。锁在我心目中是一种控制器,而不是一种手段。需要我们人为的参与。但是实际情况却并非如此。锁从某种意义上来说。只是一种数据的控制手段。我说的有点迷糊。

       何为控制器。控制器在这里。我给其的定义在于我们对其招之即来呼之即去的东西。何为手段手段?就是为了达到目的而用的方法。

       锁的存在,其更本的目的在于使得数据能够达到一致性。所以其只是手段。大部分由数据库控制,而不是我们。

 

首先,在其他数据库中,锁是一种很消耗资源的操作。但是在Oracle中则不然。因为Oracle中。把锁变成了数据的属性。具体会在第九章进行介绍。书中估计就介绍了INITRANSMAXTRANS两个属性。

 

 

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。书中写了很多介绍。但是我就直接写了结果。嘿嘿。

0
0
分享到:
评论

相关推荐

    Oracle学习笔记精华版

    Oracle学习笔记精华版Oracle学习笔记精华版Oracle学习笔记精华版Oracle学习笔记精华版

    Oracle学习笔记

    Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记

    Oracle学习笔记 Oracle学习笔记

    Oracle非常有用的笔记。。。。。。。。。。。Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记

    oracle学习笔记 oracle学习笔记

    oracle学习笔记 oracle学习笔记oracle学习笔记 oracle学习笔记

    oracle 个人学习笔记

    oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记

    Oracle学习笔记 PDF

    本文档主要是网易云李兴华老师进行授课时所作笔记,从Oracle11g数据库的安装到复杂查询做了详细的文档记录。

    Oracle学习笔记.pdf

    oracle学习笔记,包含所有oracle概念,包,函数,oracle的组成,oracle的plsq,oracle的存储过程,oracle的事务等

    oracle学习笔记-入门基础

    oracle学习笔记-入门基础-01-张园

    Oracle学习笔记.doc

    Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...

    韩顺平oracle学习笔记.pdf

    分享给需要的朋友们韩顺平oracle学习笔记.pdf 大家来下载吧!

    Oracle学习笔记-日常应用、深入管理、性能优化

    资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...

    oracle学习笔记整理

    学习oracle知识笔记整理,包括pl/sql编程,过程、函数、游标开发等。

    oracle学习笔记

    oracle学习笔记

    oracle学习笔记.txt

    超详细Oracle学习笔记,详细记录了oracle的学习过程中遇到的各种问题及基础知识,适合初中级oracle使用人员学习参考。

    Oracle学习笔记——日常应用、深入管理、性能优化 示例代码

    Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛应用。本书设计了大量的应用情景,介绍了数据库管理员和开发人员常用的管理、维护和优化Oracle 11g数据库的技术和...

    Oracle学习笔记_(PDF版)

    Oracle学习笔记

    全网最全的oracle学习笔记

    全网最全的oracle学习笔记,oracle学习笔记,oracle,### 4、oracle的七个服务 ```sql 1、Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如...

Global site tag (gtag.js) - Google Analytics