概述
还原数据是:
• 原始的、修改之前的数据副本
• 针对更改数据的每个事务处理而捕获
• 至少保留到事务处理结束
• 用于支持:
– 回退操作
– 读取一致性查询
– Oracle 闪回查询、Oracle 闪回
事务处理和 Oracle 闪回表
– 从失败的事务处理中进行恢复
还原数据
当某个进程更改了数据库中的数据时,Oracle DB 会保存旧值(还原数据)。按数据修改前的原样存储数据。通过捕获还原数据可以回退未提交的数据。还原数据用于支持读取一致性和闪回查询。还原还可用于“倒回”(闪回)事务处理和表。
读取一致性查询提供与查询开始时的数据一致的结果。如果要成功完成读取一致性查询,原始信息必须作为还原信息存在。如果原始数据不可用,则会收到“快照太旧”错误提示(ORA-01555)。只要保留了还原信息,Oracle DB 就能通过重建数据来满足读取一致性查询的要求。
闪回查询有目的地查找过去某个时间存在的某个版本的数据。只要过去那个时间的还原信息仍存在,闪回查询就能成功完成。Oracle 闪回事务处理使用还原功能来创建补偿事务处理,以便回退事务处理及其相关事务处理。使用 Oracle 闪回表功能可将表恢复到特定的时间点。
还原数据也可用于从失败的事务处理中进行恢复。如果在用户决定提交或回退事务处理之前用户会话异常结束(可能因为网络错误或客户机故障),就会导致事务处理失败。当实例崩溃或发出 SHUTDOWN ABORT 命令时,事务处理也可能会失败。
如果事务处理失败,则选择最安全的行为,即让 Oracle DB 撤销用户做出的所有更改,从而还原原始数据。
所有事务处理的还原信息将至少保留到事务处理结束,即使用以下方法之一结束事务处理时:
• 用户还原事务处理(回退事务处理)。
• 用户结束事务处理(提交事务处理)。
• 用户执行 DDL 语句,如 CREATE、DROP、RENAME 或 ALTER 语句。如果当前事务
处理包含任何 DML 语句,则数据库首先提交该事务处理,然后在新的事务处理中
执行并提交 DDL。
• 用户会话异常终止(回退事务处理)。
• 用户会话正常终止并退出(提交事务处理)。
保留的还原数据量及其保留时间取决于数据库活动量以及数据库配置。
Oracle 闪回事务处理利用联机重做日志来挖掘用于执行的相应还原 SQL。如果闪回事务处理调用中未提供事务处理开始时间,则只使用还原数据作为人为的时间边界,以此确定目标事务处理的重做挖掘开始时间。
最后
以上就是炙热季节为你收集整理的Oracle管理还原数据的全部内容,希望文章能够帮你解决Oracle管理还原数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复