易截截图软件、单文件、免安装、纯绿色、仅160KB

深入浅出oracle锁 原理篇

    在现代的多用户多任务系统中,必然会出现多个用户同时访问共享的某个对象,这个对象可能是表,行,或者内存结构,为了解决多个用户并发性访问带来的数据的安全性,完整性及一致性问题,必须要有一种机制,来使对这些共享资源的并发性访问串行化,oracle中的锁就可以提供这样的功能,当事务在对某个对象进行操作前,先向系统发出请求,对其加相应的锁,加锁后该事务就对该数据对象有了一定的控制权限,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作(可以做select动作,但select 利用的是undo中的前镜像数据了).
    Oracle锁的分类
    Oracle锁基本上可以分为二类
    a:共享锁(share locks)  也称读锁,s锁
    b:排它锁 (exclusive locks) 也称写锁,x锁
    在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两种基本的锁类型来对数据库的事务进行并发控制。
    按锁保护的内容分类
    oracle提供多粒度封锁机制,按保护对象来分,据此又可以分为
    a:dml锁, data locks 数据锁,用来保护数据的完整性和一致性
    b:ddl锁, dictionary locks 字典锁,用来保护数据对象的结构,如table,index的定义
    c:内部锁和闩 internal locks and latchs 用来保护数据库内部结构,如sga内存结构
    dml锁
    DML锁主要包括TM锁和TX锁,其中TM锁称为表级锁,TM锁的种类有S,X,SR,SX,SRX五种,TX锁称为事务锁或行级锁。当Oracle执行delete,update,insert,select for update  DML语句时,oracle首先自动在所要操作的表上申请TM类型的锁。当TM锁获得后,再自动申请TX类型的锁,并将实际锁定的数据行的锁标志位(lb 即lock bytes)进行置位。在记录被某一会话锁定后,其他需要访问被锁定对象的会话会按先进先出的方式等待锁的释放,对于select操作而言,并不需要任何锁,所以即使记录被锁定,select语句依然可以执行,实际上,在此情况下,oracle是用到undo的内容进行一致性读来实现的。
    在 O


相关文档:

ORACLE常见问题1000问(之三)

88. CHR()的反函数是?
   ASCII()
   SELECT CHAR(65) from DUAL;
   SELECT ASCII('A') from DUAL;
   89. 字符串的连接
   SELECT CONCAT(COL1,COL2) from TABLE
   SELECT COL1||COL2 from TABLE
   90. 怎么把select出来的结果导到一个文本文件中?
   SQL>SPOOL C:\ABCD.TXT;
  ......

ORACLE常见问题1000问(之十)

485. DBA_2PC_NEIGHBORS
包含未决事务的引入或流出的连接信息.
486. DBA_ALL_TABLES
显示数据库中所有表的描述.
487. DBA_APPLICATION_ROLES
所有的具有函数定义的验证策略的角色.
488. DBA_ASSOCIATIONS
显示用户定义的统计信息.
489. DBA_AUDIT_EXISTS
列出AUDIT NOT EXISTS和AUDIT EXISTS产生的审计跟踪.
490. ......

ORACLE常见问题1000问(之十一)

645. USER_ALL_TABLES
包含对用户可用的表的描述.
646. USER_ARGUMENTS
列出对用户可存取的对象中的参数.
647. USER_ASSOCIATIONS
当前用户所拥有的相关对象的用户定义的统计.
648. USER_AUDIT_OBJECT
关于对象的语句审计跟踪记录.
649. USER_AUDIT_SESSION
关于用户连接或断开的全部审计跟踪记录.
650. USER_AUD ......

ORACLE常见问题1000问(之十二)

783. ALL_ALL_TABLES
用户可存取的所有表.
784. ALL_ARGUMENTS
用户可存取的对象的所有参数.
785. ALL_ASSOCIATIONS
用户定义的统计信息.
786. ALL_BASE_TABLE_MVIEWS
用户可存取的所有物化视图信息.
787. ALL_CATALOG
用户可存取的全部表,同义词,视土和序列.
788. ALL_CLUSTER_HASH_EXPRESSIONS
用户可存取的聚 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号