探索ORACLE不完全恢复之--基于时间恢复
作者:吴伟龙 Name:Prodence Woo
QQ:286507175 msn:hapy-wuweilong@hotmail.com
基于SCN恢复 第一篇
1、在删除数据之前,察看下SCN号是多少:
SQL> col name format a45
SQL> set line 300
SQL>select name,checkpoint_change# from v$datafile_header;
NAMECHECKPOINT_CHANGE#
---------------------------------------------------------------
/DBBak2/oradata/WWL/system01.dbf 1487389
/DBBak2/oradata/WWL/undotbs01.dbf 1487389
/DBBak2/oradata/WWL/sysaux01.dbf 1487389
/DBBak2/oradata/WWL/users01.dbf 1487389
/DBBak2/oradata/WWL/wwl01.dbf 1487389
/DBBak2/oradata/WWL/wwl02.dbf 1487389
/DBBak2/oradata/WWL/wwl03.dbf 1487389
7 rows selected.
SQL> select file#,checkpoint_change#from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1487389
2 1487389
3 1487389
4 1487389
5 1487389
6 1487389
7 1487389
7 rows selected.
SQL>
2、删除测试用表:
SQL> drop table wwl002 purge;
Table dropped.
SQL> drop table wwl003 purge;
Table dropped.
SQL> drop table wwl004 purge;
Table dropped.
SQL> drop table wwl005 purge;
Table dropped.
3、开始做基于SCN的恢复:
SQL> recover database until change1487389;
ORA-00279: change 1436429 generated at07/12/2012 09:54:38 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_3_788372282.dbf
ORA-00280: change 1436429 for thread 1 isin sequence #3
Specify log: {<RET>=suggested |filename | AUTO | CANCEL}
auto
ORA-00279: change 1440657 generated at07/12/2012 14:00:52 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788450452.dbf
ORA-00280: change 1440657 for thread 1 isin sequence #1
ORA-00279: change 1440855 generated at07/12/2012 15:08:58 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788454538.dbf
ORA-00280: change 1440855 for thread 1 isin sequence #1
ORA-00279: change 1441316 generated at07/12/2012 15:19:50 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788455190.dbf
ORA-00280: change 1441316 for thread 1 isin sequence #1
ORA-00279: change 1442275 generated at07/12/2012 15:52:01 needed for thread 1
ORA-00289: suggestion : /DBSoft/product/10.2.0/db_1/dbs/arch1_1_788457121.dbf
ORA-00280: change 1442275 for thread 1 isin sequence #1
ORA-00279: change 1442953 generated at07/12/2012 16:25:06 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788459106.dbf
ORA-00280: change 1442953 for thread 1 isin sequence #1
ORA-00279: change 1462958 generated at07/12/2012 16:28:16 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_2_788459106.dbf
ORA-00280: change 1462958 for thread 1 isin sequence #2
ORA-00278: log file'/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788459106.dbf' no longer needed forthis recovery
ORA-00279: change 1462963 generated at07/12/2012 17:17:59 needed for thread 1
ORA-00289: suggestion : /DBSoft/product/10.2.0/db_1/dbs/arch1_1_788462279.dbf
ORA-00280: change 1462963 for thread 1 isin sequence #1
ORA-00279: change 1483784 generated at07/12/2012 17:54:25 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_2_788462279.dbf
ORA-00280: change 1483784 for thread 1 isin sequence #2
ORA-00278: log file'/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788462279.dbf' no longer needed forthis recovery
ORA-00279: change 1486119 generated at07/12/2012 20:35:27 needed for thread 1
ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788474127.dbf
ORA-00280: change 1486119 for thread 1 isin sequence #1
Log applied.
Media recovery complete.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS orNORESETLOGS option for database open
SQL> alter database open resetlogs;
Database altered.
SQL>
4、至此,数据已经恢复完成:
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ -----------------
WWL001 TABLE
WWL002 TABLE
WWL003 TABLE
WWL004 TABLE
WWL005 TABLE
SQL> select * from wwl005;
ID NAME
---------- ---------------------------------------------
1 wwl
2 prodence
3 woo
4 xgx
5 cms
SQL>
分享到:
相关推荐
oracle scn修改工具,可以直接修改oracle scn,在极端情况下恢复使用,比如解决ORA-600 2662等类似错误,使用说明:https://www.xifenfei.com/2022/06/win-oracle-scn-patch.html
### Oracle RMAN 异机不完全恢复 #### 实验背景 在实际的数据库管理工作中,可能会遇到因误操作导致的数据丢失或损坏的情况。在这种情况下,如何有效地利用备份数据完成数据库的恢复工作至关重要。本实验模拟了一...
Oracle数据库的不完全恢复是一种特殊的恢复机制,它用于在某些特定情况下,如丢失部分归档日志或数据文件,使得完全恢复无法实现时,通过应用部分日志来恢复数据库到故障发生前的一个特定状态。不完全恢复的目标是尽...
1. 当事务开始时,系统会为该事务分配一个唯一的SCN。 2. 数据修改首先发生在Buffer Cache中,如果需要的数据块不在缓存中,会被加载进来。 3. 事务对Buffer Cache中的数据块进行修改,这些被修改的数据块被标记为...
【断档恢复-基于SCN号恢复】 在Oracle数据库环境中,数据保护是非常关键的一环,尤其是在采用Data Guard(DG)架构的系统中。Data Guard提供了一种高可用性和灾难恢复解决方案,通过创建一个备用数据库(standby ...
### ORACLE全库备份与不完全恢复操作指南 在企业级数据库管理中,ORACLE数据库因其卓越的性能、稳定性和安全性而备受青睐。然而,面对数据丢失或损坏的情况,掌握有效的备份与恢复策略至关重要。本文将详细介绍...
- **不完全恢复**:恢复到指定的时间点或SCN。 ##### 3.4 RMAN和用户管理的重建和恢复 - **RMAN重建和恢复**:使用RMAN工具进行数据库的重建和恢复。 - **用户管理重建和恢复**:手动或使用其他工具进行数据库的...
Oracle介质恢复是数据库管理中的一个重要环节,尤其是在处理数据丢失或损坏的情况下。本文将详细探讨Oracle介质恢复的内部过程,通过对控制文件(controlfile)、重做日志(redolog)、数据文件(datafile)等内容的深入...
2. 确保数据库一致性:SCN 帮助 Oracle 决定在一次突然中断或者 SHUTDOWN ABORT 后,是否需要一个崩溃恢复。 3. 维护查询的一致性和多版本:Oracle 还使用数据块的 SCN 来维护查询的一致性和多版本。 Checkpoint ...
### SCN号与Oracle数据库恢复研究 #### 一、SCN与Checkpoint 在Oracle数据库中,SCN(System Change Number)是一个非常重要的概念,它用来标识数据库中的任何改变。SCN是Oracle内部使用的数字序列,每当数据库发生...
不完全恢复通常发生在需要将数据库回滚到某一个时间点,但是不是完全恢复到上一次完全备份的时间点。它分为多种类型,比如基于时间的恢复、基于撤销段的恢复和基于SCN的恢复。这些分类的写法和实施过程都依赖于SCN的...
- **不完全恢复**:恢复到故障发生前的某个时间点(或SCN),可能导致数据丢失。 #### 六、归档模式与非归档模式 - **归档模式**:允许将重做日志文件归档,为长期的数据保留提供了可能性,适合需要进行历史数据...
**SCN(System Change Number,系统变更号)**是Oracle数据库内部用于标识事务处理中的事件顺序以及确保数据一致性的关键机制之一。SCN是一种逻辑的时间戳,它用于排序数据库中发生的事件,以满足事务的ACID特性...
然而,在实际操作中,数据库管理员或开发者可能会不小心删除了重要数据,这时候如何恢复这些数据成了一个重要的问题。本文将介绍如何查看 Oracle 表的历史记录和恢复删除的数据。 一、查看表操作历史记录 要查看表...
Oracle系统的System Change Number (SCN)是其内部用于记录数据库变化的关键组件,它是一个不断递增的数值,确保了数据库操作的顺序性和一致性。SCN的重要性在于,它不受操作系统时间的影响,避免了由于时间篡改导致...
SCN是Oracle数据库内部用于跟踪数据库状态变化的一个重要机制,对于确保数据的一致性、完整性以及恢复过程的成功具有不可替代的作用。 #### 二、SCN概述 SCN是一种递增的数字序列,用于标识数据库中的事务处理或...
总结来说,Oracle备份与恢复是数据库管理中的核心技能,涉及到实例恢复、介质恢复、不同类型的不完全恢复策略,以及使用如`exp`和`imp`等工具进行数据迁移。了解并熟练掌握这些概念和技术,能够帮助DBA有效地应对...
本文主要探讨如何在Oracle DG环境中利用RMAN(Recovery Manager)执行基于SCN(System Change Number)的增量备份与恢复,这对于保持主备数据库的一致性至关重要。 在Oracle DATAGUARD中,基于SCN的增量备份允许只...
综上所述,SCN在Oracle数据库中扮演着极其重要的角色,无论是对于事务处理的安全性保障,还是对于故障恢复的策略制定,都有着不可或缺的作用。正确理解和运用SCN的概念,可以帮助我们更高效地管理和维护Oracle数据库...
Oracle 12c 闪回技术 Flashback Database.pdf Oracle 12c 闪回技术 Oracle ...Oracle 12c SCN详解.pdf Oracle 12c RMAN备份与恢复数据库.pdf Oracle 12c EXPDP和IMPDP指令详解.pdf Oracle 12c EXP和IMP指令详解.pdf