- 4
- 0
- 约1.32万字
- 约 10页
- 2016-10-09 发布于贵州
- 举报
Oracle数中锁、序列、索引管理
详析Oracle数据库中锁、序列、索引管理
锁
1.1什么是锁
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。而锁就是用于控制事务对数据的访问,实现事务的并发控制,保持数据库的一致性。
1.2锁的类型
DDL锁:被Oracle自动的发布和释放
DML锁:在事务处理的开始时被施加,而且在事务处理完成时被释放(使用Commit或Rollback时被释放)
内部锁:由Oracle自己管理以保护内部数据库结构
注:DDL锁由数据库自动管理;DML锁和内部锁可以由用户直接或间接管理。
1.3锁的粒度
1)TX锁:行级锁(事务锁),会阻止这行上其它DML操作,直到Commit或Rollback时被释放,它只有X排他锁
2)TM锁:表级锁。
2.1)Row-S 行共享(RS):共享行锁,即可被其他事务查询该行。
2.2)Row-X 行专用(RX):用于行的修改,即禁止其他事务对该行的所有操作。
2.3)Share 共享锁(S):阻止其他DML操作
2.4)S/Row-X 共享行专用(SRX):阻止其他事务操作
2.5)exclusive 专用(X):独立访问使用
3)数据库级锁:锁定数据库为限制模式alter system enable restricted
原创力文档

文档评论(0)