1、什么是还原数据,还原数据有什么用途?
还原数据是原始的、修改之前的数据副本。
用途:用于支持回退操作;读取一致性查询;Oracle闪回查询、Oracle闪回事务处理和Oracle闪回表以及从失败的事务处理中进行恢复。
2、还原数据是如何存储的?
还原信息存储在还原段中,还原段存储在还原表空间中,且这个还原表空间只能用于还原段,只能于单个实例相关联,有自己特殊的恢复注意事项;在任意给定的时间,一个给定的实例只能有一个表空间是当前可写还原表空间。
3、还原数据的状态有几种,请详细加以描述。
活动:未提交的还原信息。在事务结束之前支持活动事务且不能被覆盖。
未过期:提交过的还原信息。不再需要用来支持运行的事务处理
过期:过期的还原信息。不再需要用来支持运行的事务处理,活动事务处理需要空间时会覆盖过期的还原信息。
4、请对还原(undo)和重做(redo)给出一个完整的对比说明。
还原 | 重做 | |
记录 | 如何还原更改 | 如何重现更改 |
用途 | 回退、读取一致性、闪回 | 前滚数据库更改 |
存储地方 | 还原段 | 重做日志文件 |
避免 | 在多用户系统中出现读取不一致 | 数据丢失 |
5、请描述还原数据和还原段的关系。
所有的还原数据都保存在还原段中。
6、请说明设置还原保留期并进行保证的原理?
在保留期内,所有的还原数据都还在还原段,查询优先于事务,如果事务处理生成的还原数据超过了可用空间,事务处理会失败。
7、什么是临时还原,临时还原有什么好处?
临时还原:临时对象,用来降低I/O系统的消耗,存储在临时表空间
好处是减少了在临时表空间存储的数量;减少了重做日志大小。