ORACLE 11G学习笔记——事务和锁
一、事务的四个特性是什么?分别解释…
1、原子性:事务是一个整体的工作单元,事务对数据库所做的操作,要么全部执行,要么全部取消。
2、一致性:事务在完成的时候,必须要使所有的数据保持一致状态。
3、隔离性:不同事务之间的修改,是隔离着的。
4、持久性:事务提交之后,对数据库所做的修改被永久保存。
二、事务的提交有那三种方式?分别说明…
1、显示提交:使用commit命令时当前事务生效。
2、自动提交:在SQL*Plus中执行“set autocommit on"命令。
3、隐式提交:除了显示提交以外的提交,如发出的DDL命令,程序中止和关闭数据库等。
三、事务回滚命令是什么?有什么作用?
rollback
在没有提交前,撤销对数据库的全部操作
四、回滚点的作用?请用完整的sql场景来解释…设置2个回滚点…
回滚点的作用类似于调试程序的中断点。利用回滚点可以将事务划分成若干小部分,这样就不必回滚整个事务,有更大的灵活性。
1、查询scoot用户下dept表中的信息:
2、设置一个名为sp1的回滚点
3、向dept表中插入一条编号为80的数据
4、设置一个名为sp2的回滚点
5、删除dept表中编号为50的数据
6、再次查看dept表,编号为50的已经删除,编号为80的已经新增
7、回退至sp2
8、再次查看dept表,编号为50的记录又存在了
9、回退至sp1
10、再次查询dept表,回到了初始状态,编号为50的记录没有删除,编号为80的记录也没有新增。
五、哪两种锁机制?分别解释…
1、共享锁:通过数据存取的高并行性来实现。如果获得了一个共享锁,多个用户可以再相同的时间读取相同的数据。
2、独占锁:防止共同改变相同的资源。如果一个表被锁定在独占模式下,其他的事务不能修改它,但是可以从中获得数据。
六、哪三种锁的类型?分别解释…
1、DML锁:保证并行访问数据的完整性。保证在事务提交之前,不能删除表。
2、DDL锁:保护方案对象的定义,调用一个DDL语句,就会隐式的提交事务。
3、内部锁:包含内部数据库和内部结构,用户不可访问,不需要控制其发生。