`
sony-soft
  • 浏览: 1105095 次
文章分类
社区版块
存档分类
最新评论

探索ORACLE不完全恢复之--基于检查点恢复 第二篇

 
阅读更多

探索ORACLE不完全恢复之--基于检查点恢复 第二篇

作者:吴伟龙 Name:Prodence Woo

QQ:286507175 msn:hapy-wuweilong@hotmail.com



基于SCN的恢复,第二篇

1、察看当前的SCN,以便于后期数据丢失用来恢复:

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

1511297

SQL> select file#,checkpoint_change#from v$datafile;

FILE# CHECKPOINT_CHANGE#

---------- ------------------

1 1510535

2 1510535

3 1510535

4 1510535

5 1510535

6 1510535

7 1510535

7 rows selected.

SQL> col name format a45

SQL>set line 300

SQL> select name,checkpoint_change# fromv$datafile_header;

NAMECHECKPOINT_CHANGE#

---------------------------------------------------------------

/DBBak2/oradata/WWL/system01.dbf 1510535

/DBBak2/oradata/WWL/undotbs01.dbf 1510535

/DBBak2/oradata/WWL/sysaux01.dbf 1510535

/DBBak2/oradata/WWL/users01.dbf 1510535

/DBBak2/oradata/WWL/wwl01.dbf 1510535

/DBBak2/oradata/WWL/wwl02.dbf 1510535

/DBBak2/oradata/WWL/wwl03.dbf 1510535

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.

SQL> conn / as sysdba

Connected.

3、对数据库执行了DML操作后,数据库的SCN号改变了。

SQL>select current_scn from v$database;

CURRENT_SCN

-----------

1511437

4、开始执行restore,到备份时候的状态:

RMAN> restore database;

Starting restore at 13-JUL-12

using target database control file insteadof recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=47 devtype=DISK

channel ORA_DISK_1: starting datafilebackupset restore

channel ORA_DISK_1: specifying datafile(s)to restore from backup set

restoring datafile 00001 to/DBBak2/oradata/WWL/system01.dbf

restoring datafile 00002 to/DBBak2/oradata/WWL/undotbs01.dbf

restoring datafile 00003 to/DBBak2/oradata/WWL/sysaux01.dbf

restoring datafile 00004 to/DBBak2/oradata/WWL/users01.dbf

restoring datafile 00005 to/DBBak2/oradata/WWL/wwl01.dbf

restoring datafile 00006 to/DBBak2/oradata/WWL/wwl02.dbf

restoring datafile 00007 to/DBBak2/oradata/WWL/wwl03.dbf

channel ORA_DISK_1: reading from backuppiece /DBSoft/product/10.2.0/db_1/dbs/01nft4mu_1_1

channel ORA_DISK_1: restored backup piece 1

piecehandle=/DBSoft/product/10.2.0/db_1/dbs/01nft4mu_1_1 tag=TAG20120712T095437

channel ORA_DISK_1: restore complete,elapsed time: 00:01:06

Finished restore at 13-JUL-12

5、开始执行恢复,到我们删除表之前的状态:

SQL> recover database until change1511297;

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 at 07/12/201215: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 is insequence #2

ORA-00278: log file'/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788459106.dbf' no

longer needed for this 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 for this 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

ORA-00279: change 1487388 generated at07/12/2012 21:31:17 needed for thread 1

ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch1_1_788477477.dbf

ORA-00280: change 1487388 for thread 1 isin sequence #1

Log applied.

Media recovery complete.

SQL>

6、执行完恢复之后,SCN被清空

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

0

7、这个时候我们需要对redo也进行清空

SQL> alter database open restlogs;

8、由此可以见得,数据已经恢复回来了:

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 RMAN异机不完全恢复

    ### Oracle RMAN 异机不完全恢复 #### 实验背景 在实际的数据库管理工作中,可能会遇到因误操作导致的数据丢失或损坏的情况。在这种情况下,如何有效地利用备份数据完成数据库的恢复工作至关重要。本实验模拟了一...

    oracle数据库恢复工具ODU-Linux版

    Oracle数据库是全球广泛使用的大型企业级关系型数据库管理系统,其稳定性和可靠性深受...同时,理解Oracle的备份和恢复策略也是数据库管理的关键技能,对于任何使用Oracle数据库的组织来说,这都是必不可少的知识点。

    oracle数据库不完全恢复

    Oracle数据库的不完全恢复是一种特殊的恢复机制,它用于在某些特定情况下,如丢失部分归档日志或数据文件,使得完全恢复无法实现时,通过应用部分日志来恢复数据库到故障发生前的一个特定状态。不完全恢复的目标是尽...

    oracle-database-server-12cR2-preinstall

    12cR2是12c的第二个主要更新,引入了许多新特性和改进,包括多租户架构、SQL增强、存储优化以及云集成等。 Oracle 12cR2 Preinstall RPM 包含了以下关键知识点: 1. **依赖管理**:该包自动处理Oracle数据库所需的...

    Oracle 12c备份恢复-RMAN工具技术手册

    RMAN 还可以用 Oracle 数据库的形式给库使用第二个存储位置。这需要在数据库中创建一个模式,称为 RMAN 目录。该目录应在数据库中创建,仅用于这个目的。该目录可以记录许多目标的元数据,用作所有备份信息的中心库...

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    头文件:/usr/include/oracle/11.2/client64/ 下,如果在使用时报错找不到头文件,记得看路径是否是这个。 包文件:/usr/lib/oracle/11.2/client64/ 下,包含{bin、lib}两个文件夹; 1.3 创建文件夹: #mkdir -p /...

    c3p0-oracle-thin-extras-0.9.2.1

    c3p0-oracle-thin-extras-0.9.2.1

    oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm

    oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm client 安装包 rpm -&gt; deb : sudo alien xxx.rpm

    Oracle 19c 备份恢复-导入导出

    Oracle 19c 备份恢复-导入导出 Oracle 19c 备份恢复-导入导出是指使用 Oracle 数据库提供的工具 exp 和 imp 实现数据库的备份恢复和数据的导入导出。本文将详细介绍 Oracle 19c 备份恢复-导入导出的基本命令、工作...

    Oracle经典书籍之---ORACLE-RAC

    《Oracle经典书籍之---ORACLE-RAC》是一本专门探讨Oracle Real Application Clusters(RAC)技术的专业书籍,英文原版提供了深入的理论知识和实践经验。Oracle RAC是Oracle数据库的一项重要特性,它允许多个数据库...

    oracle11g-client-win-64客户端安装包

    oracle11g-client-win-64客户端安装包

    Oracle11g 崩溃后-dbf数据库文件恢复

    2. **启动恢复模式**:在Oracle服务器上启动实例,进入恢复模式(NOMOUNT或MOUNT状态)。 3. **恢复控制文件**:如果控制文件丢失或损坏,可以使用`RESTORE CONTROLFILE`命令从备份恢复。 4. **挂载数据库**:使用...

    ORACLE全库备份(不完全)恢复笔记

    ### ORACLE全库备份与不完全恢复操作指南 在企业级数据库管理中,ORACLE数据库因其卓越的性能、稳定性和安全性而备受青睐。然而,面对数据丢失或损坏的情况,掌握有效的备份与恢复策略至关重要。本文将详细介绍...

    oracle 数据恢复 参考文档

    Oracle 数据恢复参考文档 Oracle 数据恢复是指在 Oracle 数据库崩溃或损坏时,通过各种方法和技术恢复数据库的过程。本文档旨在提供一种有效的 Oracle 数据恢复方法,以便快速恢复 Oracle 数据库。 Oracle 数据库...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm 64位 只为了方便大家下载,请还是以官方的为准

    Oracle通过DBF恢复数据

    ### Oracle通过DBF恢复数据 #### 一、背景介绍 在日常工作中,Oracle数据库作为企业级数据管理系统之一,经常面临着各种意外情况,如误删除、误操作或系统故障导致的数据丢失。在这种情况下,如何有效地恢复数据...

    Oracle11g备份恢复笔记文档

    - **不完全恢复**:恢复到故障发生前的某个时间点(或SCN),可能导致数据丢失。 #### 六、归档模式与非归档模式 - **归档模式**:允许将重做日志文件归档,为长期的数据保留提供了可能性,适合需要进行历史数据...

    1.Oracle特殊恢复入门.pdf

    ### Oracle特殊恢复原理与实战知识点概述 #### 一、Oracle特殊恢复概览 - **特殊恢复定义**:在Oracle数据库管理中,特殊恢复是指当常规的备份和恢复手段不足以解决问题时,采用的一种更为复杂的恢复过程。它通常...

    Oracle 备份与恢复

    - **不完全恢复**:恢复到指定的时间点或SCN。 ##### 3.4 RMAN和用户管理的重建和恢复 - **RMAN重建和恢复**:使用RMAN工具进行数据库的重建和恢复。 - **用户管理重建和恢复**:手动或使用其他工具进行数据库的...

Global site tag (gtag.js) - Google Analytics