- 1
- 0
- 约1.14千字
- 约 18页
- 2017-12-26 发布于河北
- 举报
Oracle9i第11章 事务和锁
第十三章 事务和锁;事务;对事务的控制包含事务提交、事务回滚和设立保存点。
在Oracle中规定,提交之后的更新操作是不能撤消的,未提交的更新操作是可以撤消的。这种操作可以通过COMMIT和ROLLBACK命令来实现。
在提交之前,只有修改了数据的用户才能看到数据的改变,而其它用户看到的是改变之前的数据。在提交之后,数据库的数据才会真正改变,这时其它用户和修改数据用户看到的内容是一致的。;事务的提交;自动提交
用户可以使用SET命令来设置自动提交环境。如下所示:
SET AUTO ON
经过设置后,SQL PLUS会自动提交用户的更新工作。
一旦设置了自动提交,用户每一次执行DML语句(INSERT、UPDATE和DELETE语句),系统将会立即自动进行提交。;事务的回滚;保存点;锁;数据操作(DML)锁;DML锁的用途
保护被多个用户并行存取的数据的完整性。DML锁可以防止同时进行的DML操作的破坏性干扰。
例如,DML锁保证一张表中的指定行一次仅能被一个事务修改。它们还保证如果对某个表的DML操作事务还未提交时,该表便不能被删除。;DML锁的模式
下面列举了用于DML的Oracle锁模式:
行共享(Row Share, RS):行共享锁是一个共享的表锁。它是一个在被查询行上的专用锁。
行专用(Row Execlusive, RX):行专用锁通常表明持有该锁的事务已经对表中的行完成了一次或多次修改。;共享锁(Share, S):假如一个事务持有一个共享表锁,那么它便防止其它事务在该表中执行DML操作。
共享行专用(Share Row Execlusive, SRX):假如一个事务包含一个SRX表锁,那么它防止其它事务执行DML或SELECT……FOR UPDATE语句。
专用(Execlusive, X):专用锁是表锁的最具限制性的形式,它允许持有表锁的事务对该表进行独占操作。;字典(DDL)锁;专用DDL锁
当诸如CREATE、ALTER和DROP这样的语句用于一个对象时使用此锁。
专用DDL锁的特征是假如另外一个用户保留了任何级别的锁的话,那么本用户将不能得到表中的专用DDL锁。
例如,另一个用户在该表上有一个未提交的事务,那么对此表的ALTER TABLE语句将会失效。;共享DDL锁
当诸如GRANT和GREATE PACKAGE这样的语句用于一个对象时使用此锁。
共享锁的特征是一个共享DDL锁不能阻止类似的DDL语句或任何DML语句用于一个对象上,但是它能防止另一个用户改变或删除已引用的对象。
共享DDL锁的另一个特征是在DDL语句执行期间它一直维持,直到发生一个隐含的提交。;手工锁定;死锁;小结
您可能关注的文档
- java课件第一课.ppt
- Jiuzhaigou 九寨沟 Tourism English ppt.ppt
- jsp实用案例教程第一章.ppt
- JSP程序设计基础教程(第5章).ppt
- Kaiseven的CPA课件:会计—Chapter2 金融资产.ppt
- JSP第一堂课.ppt
- kjx2010sch2.1会计要素与会计等式.ppt
- KPI(关键绩效指标)---培训课件.ppt
- L--第八章吸收4.ppt
- KFC的繁衍对我市的经济影响.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)