ORACLE 11G学习笔记——事务和锁

一、事务的四个特性是什么?分别解释…
1、原子性:事务是一个整体的工作单元,事务对数据库所做的操作,要么全部执行,要么全部取消。
2、一致性:事务在完成的时候,必须要使所有的数据保持一致状态。
3、隔离性:不同事务之间的修改,是隔离着的。
4、持久性:事务提交之后,对数据库所做的修改被永久保存。

二、事务的提交有那三种方式?分别说明…
1、显示提交:使用commit命令时当前事务生效。
2、自动提交:在SQL*Plus中执行“set autocommit on"命令。
3、隐式提交:除了显示提交以外的提交,如发出的DDL命令,程序中止和关闭数据库等。

三、事务回滚命令是什么?有什么作用?
rollback
在没有提交前,撤销对数据库的全部操作

四、回滚点的作用?请用完整的sql场景来解释…设置2个回滚点…
回滚点的作用类似于调试程序的中断点。利用回滚点可以将事务划分成若干小部分,这样就不必回滚整个事务,有更大的灵活性。
1、查询scoot用户下dept表中的信息:
ORACLE 11G学习笔记——事务和锁
2、设置一个名为sp1的回滚点
ORACLE 11G学习笔记——事务和锁
3、向dept表中插入一条编号为80的数据
ORACLE 11G学习笔记——事务和锁
4、设置一个名为sp2的回滚点
ORACLE 11G学习笔记——事务和锁
5、删除dept表中编号为50的数据
ORACLE 11G学习笔记——事务和锁
6、再次查看dept表,编号为50的已经删除,编号为80的已经新增
ORACLE 11G学习笔记——事务和锁
7、回退至sp2
ORACLE 11G学习笔记——事务和锁
8、再次查看dept表,编号为50的记录又存在了
ORACLE 11G学习笔记——事务和锁
9、回退至sp1
ORACLE 11G学习笔记——事务和锁
10、再次查询dept表,回到了初始状态,编号为50的记录没有删除,编号为80的记录也没有新增。
ORACLE 11G学习笔记——事务和锁
五、哪两种锁机制?分别解释…
1、共享锁:通过数据存取的高并行性来实现。如果获得了一个共享锁,多个用户可以再相同的时间读取相同的数据。
2、独占锁:防止共同改变相同的资源。如果一个表被锁定在独占模式下,其他的事务不能修改它,但是可以从中获得数据。

六、哪三种锁的类型?分别解释…
1、DML锁:保证并行访问数据的完整性。保证在事务提交之前,不能删除表。
2、DDL锁:保护方案对象的定义,调用一个DDL语句,就会隐式的提交事务。
3、内部锁:包含内部数据库和内部结构,用户不可访问,不需要控制其发生。