Oracle事务
2018年1月9日
10:49
1作用:
保证数据安全
2 实现原理:
设置一个时间节点副本出现问题回滚
3 四个特点acid:
- 原子性atomic :要么执行要么回滚
- 一致性consistent :所有事务数据一致
- 隔离性isolation : 多个事务有顺序执行
- 持久性durability :不丢数据
4执行sql:
- 显示调用: commit才会写到数据库
- 隐式调用:自动commit
5 回滚:
- 设置保存点 SAVEPOINT banda_sal;
- 回滚 ROLLBACK TO SAVEPOINT banda_sal;
- 注意中间不能提交 提交后不会回滚
6 隔离现象问题:
- 脏读 事务A修改数据没有commit,其实数据库已经被修改,事务B读取到了数据,A回滚,B的数据不对
- 不可重复读 事务A先读,事务B修改了同一条数据,A的结果出现问题
- 幻读 事务A读数据,T2插入数据,A再次读数据发现与上次数据不同
7 oracl的默认隔离级别:
READ_COMMITED 允许不可重复读、幻读,不允许脏读
8测试语句:
SELECT * FROM DEPT;
SAVEPOINT banda_sal;
UPDATE DEPT SET DNAME = '1';
ROLLBACK TO SAVEPOINT banda_sal;