`
zljpp
  • 浏览: 260040 次
社区版块
存档分类
最新评论

Oracle Rman跨resetlogs版本恢复

阅读更多

RMAN> startup nomount;

RMAN> sql 'alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''";
--因为rman默认以环境变量来读取时间格式,与sqlplus的固定格式不同,所以,此处要设定时间格式变量。
RMAN> restore controlfile from autobackup until time '2009-03-10 18:15:00';
注意,仍然需要适当的还原控制文件。
RMAN> alter database mount;
RMAN> restore database;
RMAN> sql "alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''";
RMAN> recover database until time '2009-03-10 18:15:00';

 

此时,出现以下错误:

RMAN-03002: recover 命令 (在 03/10/2009 19:21:19 上) 失败
RMAN-20207: UNTIL TIME 或 RECOVERY WINDOW 在 RESETLOGS 时间之前

 

20207错误:默认的认为until time或RECOVERY WINDOW的时间不能早于resetlogs的时间. 既然resetlogs了,就不认识之前的归档日志信息了。把之前的归档日志排除在可供恢复的选择之外了。这只是默认的行为,可能处于节省系统资源的考虑,毕竟resetlogs之前的数据再利用可能很小。

 

其解决可按以下方法处理:

1.找到数据库的当前incarnation号:

RMAN> list incarnation of database "test";

数据库原型列表
DB 关键字  Inc 关键字 DB 名  DB ID            STATUS  重置 SCN  重置时间
------- ------- -------- ---------------- --- ---------- ----------
1       1       TEST     1978860036       PARENT  1          30-8月 -05
2       2       TEST     1978860036       PARENT  534907     05-3月 -09
3       3       TEST     1978860036       PARENT  762990     10-3月 -09
4       4       TEST     1978860036       PARENT  764885     10-3月 -09
5       5       TEST     1978860036       PARENT  765443     10-3月 -09
6       6       TEST     1978860036       PARENT  767488     10-3月 -09
7       7       TEST     1978860036       PARENT  771807     10-3月 -09
8       8       TEST     1978860036       PARENT  774320     10-3月 -09
9       9       TEST     1978860036       PARENT  779541     10-3月 -09
10      10      TEST     1978860036       PARENT  782000     10-3月 -09
11      11      TEST     1978860036       PARENT  783792     10-3月 -09
12      12      TEST     1978860036       CURRENT 801599     10-3月 -09  --此行原型(incarnation)号状态为current,即当前

 
所以,数据库的前一个(resetlogs之前)原型号为11.

我们重新启动数据库到mount状态(因为需要知道是重置哪个库,所以要挂载)

 

2.重置数据库到前一个原型(注意:此时的控制文件已经在前面的步骤中,还原到了适当的时间点。实际上,我们应该在nomount前还原控制文件)

RMAN> reset database to incarnation 11;

将数据库重置为原型 11

RMAN> sql "alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''";
RMAN> restore database;
RMAN> recover database until time '2009-03-10 18:15:00';
RMAN> alter database open resetlogs;  (此时,数据库的incarnation编号将再次上涨)

数据库正常打开

分享到:
评论

相关推荐

    Oracle RMAN异机不完全恢复

    本实验的主要目的是展示如何使用Oracle RMAN工具实现跨机器的不完全恢复。具体而言,需要将主机A上的全库备份文件及参数文件传输到主机B上,并在此基础上恢复被误删除的`test`表,使其回到某个特定的时间点或系统...

    oracle rman 恢复攻略

    Oracle RMAN(Recovery Manager)是Oracle数据库管理系统中用于备份和恢复的重要工具。它提供了全面的数据保护策略,包括完整数据库备份、增量备份、表空间备份等。本篇将详细讲解如何利用RMAN进行数据库恢复,主要...

    Oracle 11g rman 异机还原再升级到 12c PDB

    本文档详细记录了从Oracle 11.2.0.4版本数据库通过RMAN工具进行异地备份恢复,并最终升级至12c PDB环境的过程。 #### 数据库版本确认 **源数据库 (11g):** ``` Oracle Database 11g Enterprise Edition Release ...

    三思Oracle_RMAN数据备份恢复

    Oracle数据库是企业级广泛应用的数据库管理系统,而RMAN(Recovery Manager)是Oracle提供的一种强大的备份和恢复工具。本文将深入探讨如何利用RMAN进行Oracle数据的备份与恢复,以确保在面临数据丢失或系统故障时能...

    Oracle 11g 基于RMAN的备份与恢复.docx

    在Oracle数据库中,恢复管理器(RMAN)是进行备份和恢复的主要工具。以下是对Oracle 11g基于RMAN的备份与恢复的详细说明: 1. 备份整个数据库: 要备份整个数据库,可以通过RMAN命令行工具进行操作。在命令行输入`...

    Open resetlogs操作对Oracle数据库恢复的影响.pdf

    3. Oracle数据库的版本特性:Oracle9i与Oracle10g及以上版本在数据库恢复操作中的差异,特别是对于resetlogs操作和归档日志新格式的应用。 4. 数据库备份的策略和技巧:掌握如何在不同的应用场景下,制定合理的...

    Oracle_RMAN(备份与恢复管理器)

    ### Oracle RMAN (备份与恢复管理器)详尽解析 #### 一、RMAN概述 RMAN(Recovery Manager),即恢复管理器,是Oracle数据库自带的一款强大的备份和恢复工具。RMAN的设计目的是为了简化Oracle数据库管理员的工作...

    rman备份与恢复

    RMAN(Recovery Manager)是Oracle数据库中用于执行备份、恢复以及灾难恢复的重要工具。它提供了强大的自动化功能,可以进行在线或离线的数据备份,并支持增量备份、归档日志备份等多种备份方式。 #### 二、创建表...

    Oracle11g通过DBF恢复数据

    在Oracle11g中,可以使用RMAN的`RESTORE DATABASE`或`RESTORE DATAFILE`命令来恢复数据文件。 4. **应用重做日志**:恢复数据文件后,必须应用从故障时间点到当前的重做记录,以使数据达到一致状态。`RECOVER ...

    ORACLE数据库跨平台迁移

    ORACLE数据库跨平台迁移 ORACLE数据库跨平台迁移是指将WINDOWS平台上的ORACLE数据库迁移到LINUX平台,当前LINUX平台只装数据库软件,不建库。本文将详细介绍如何使用RMAN Convert database特性来实现数据库跨平台...

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

    Oracle 11g版本,即11.2.0,提供了多种恢复策略来应对这种情况。在这个过程中,log文件(redo logs)和ctl控制文件起着决定性的作用。 首先,dbf文件,全称Datafile,是Oracle数据库存储数据的基本单元。当数据库...

    RMAN异地恢复操作步骤

    RMAN(Recovery Manager)是Oracle提供的一种强大的工具,用于备份、恢复和灾难恢复。本文将详细介绍如何使用RMAN实现异地恢复操作。 #### 二、准备工作 **1. 创建目录** - **服务器A**: 源服务器,IP地址为155....

    oracle9i的rman全备在10g上的恢复

    Oracle数据库的RMAN(Recovery Manager)是Oracle提供的一个强大的备份和恢复工具,它与数据库服务器紧密集成,提供了全面的数据保护方案。本话题主要探讨如何在Oracle 10g环境中使用RMAN对Oracle 9i的完整备份进行...

    RMAN恢復数据库到指定時間點

    在Oracle数据库管理中,RMAN(Recovery Manager)是一种强大的工具,用于备份、还原和恢复数据库。它提供了多种方式来保护数据免受各种灾难的影响,其中包括将数据库恢复到指定时间点的功能。这种不完全恢复的方法...

    数据库异机恢复(RMAN)

    如果恢复的数据库版本不一致,可能会出现ORA-01092、ORA-00704、ORA-39700等错误,可以使用startup mount pfile='/tmp/a.ora'命令来解决问题。 结论 数据库异机恢复是数据库管理员非常重要的一个任务。使用RMAN...

    rman 异机恢复 更改数据文件目录恢复文档

    Oracle RMAN(Recovery Manager)是Oracle数据库管理系统中一个强大的备份和恢复工具,它提供了全面的数据保护方案。在“异机恢复”场景中,RMAN允许用户将数据库从一台服务器恢复到另一台服务器,即使两台服务器上...

    RMAN异机恢复实践全图解析

    在Oracle数据库管理中,RMAN(Recovery Manager)是一个强大的工具,用于备份、恢复和数据库维护。本篇文章将深入解析RMAN异机恢复的实践全过程,帮助IT专业人员理解和掌握这一关键技术。 首先,理解RMAN的基本功能...

Global site tag (gtag.js) - Google Analytics