易截截图软件、单文件、免安装、纯绿色、仅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问(之十一)

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

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

901. CHAINED_ROWS
存储带LIST CHAINED ROWS子句的ANALYZE命令的输出.
902. CHAINGE_SOURCES
允许发行者查看现有的变化资源.
903. CHANGE_SETS
允许发行者查看现有的变化设置.
904. CHANGE_TABLES
允许发行者查看现有的变化表.
905. CODE_PIECES
ORACLE存取这个视图用于创建关于对象大小的视图.
906. CODE_SIZE
......

oracle manager database control invalid start

启动“OracleDBConsole”时---出现“Agent process exited abnormally during initialization.”
在运行"emctl start dbconsole " 发现是找不到指定文件,在网上找了一下原因, 更改的指定文件夹的名称,但还是不能启动服务,结果认真看了一下,是CTRL+C,CTRL+V 然后才启动成功,所以特定写下来,记 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号