Oracle-undo-还原管理

来源:互联网 发布:小学生口语打分软件 编辑:程序博客网 时间:2024/04/23 19:52

一、还原数据是什么?

  • 数据库改变前的一个拷贝(数据在改变前都会从数据库数据高速缓冲区拷贝一份到回滚段),任何更改类型事务皆会产生还原数据,至少被保持到事务结束。
  • 上面的备份将用于:Rollback操作、多用户下读一致操作和闪回(flashback)查询从失败事务中恢复。

1. Rollback:用回滚段作为恢复依据,执行DML以后,发出 rollback命令撤销DML所作变化。oracle利用记录在数据快ITL槽里的undo地址找到对应undo块,取出数据完成对事物所作的变化回滚。

2. 读一致性:用户A在查询某个表的数据时,正好另外一个用户B在update这个table,等用户Aselect到一半的时候,B commit了。那Oracle还是继续读回滚段中的数据(镜像)来完成A的select操作。ORACLE是以刚开始的时间为准点的

3. flashback:实现闪回数据库的基础是闪回日志,配置了闪回数据库后会自动创建闪回日志,只要数据库里数据发生变化,就会将数据被修改前旧址放入闪回日志。闪回主要用于出现逻辑错误时比如误删除表,误删除用户等,快速完成对业务数据的恢复.在undo_retention参数时间范围内,并且undo空间是guarantee属性的那么在undo空间中就会一直保持这修改过的数据,直到undo_retention timeout如果undo空间为noguarantee属性,那么undo_retention参数失效。在10g中undo_retention默认900s。