博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rman之resetlogs及恢复备份控制文件的一点理解
阅读量:4177 次
发布时间:2019-05-26

本文共 1525 字,大约阅读时间需要 5 分钟。

版本:

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> 

(1)alter database resetlogs;

在数据库被resetlogs后,db就多了一个incarnation(化身)。

假设一个全新的db,incarnation为i1,archive log是1,2,3,4,5,需要做一次不完全恢复,按照如下步骤

restore database from tag fullbk01;

recover database until sequence 4; #注意这里只应用了4之前的归档日志,4本身不会被应用

alter database open read only; #在以resetlogs打开前,可先以read only方式打开,检查是否恢复到了想要的位置

alter database open resetlogs; #数据库以resetlogs打开后,新的incarnation(i2)就开始了,v$log.SEQUENCE#重新从1开始

如果在resetlogs之后发现是日志4其实需要恢复的,这时就需要先恢复控制文件再restore dtabase了,

直接restore database from tag fullbk01,会发现归档日志只显示i1的1,2,3和i2的所有归档,因为在当前的控制文件中,i1日志3以后的4和5都已经被reset(丢弃)掉了,

10g新引入了一个特性,可以直接从fullbk01恢复到i1的1,2,3和i2的任意一个归档,跨越了i1和i2两个incarnation,这个叫做跨越resetlogs时间点恢复。

(2)恢复老的控制文件

startup nomount;

restore controlfile from '/u01/rmanbkp/full01_16ob6tgi_1_1'; #如果知道控制文件的备份文件,恢复时直接指向该文件即可

控制文件恢复后即可以按照(1)的步骤恢复到3以后的日志了。

REF:

1. To recover the database with an autobackup of the control file without a recovery catalog

2. 使用Oracle10g新特性,跨越Resetlogs时间点进行恢复

3. incarnation

A separate version of a database. The incarnation of the database changes when you open it with the RESETLOGS option, but you can recover backups from a prior incarnation so long as the necessary redo is available.

转载地址:http://wstai.baihongyu.com/

你可能感兴趣的文章
vsftpd 报错refusing to run with writable root inside chroot
查看>>
vsftpd配置
查看>>
树莓派交叉编译opencv4.10容易出错的几个地方
查看>>
Android默认语言修改
查看>>
Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第一章-交叉编译
查看>>
Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第三章-ubuntu上传编译库文件到板子
查看>>
Ubuntu18上交叉编译树莓派3B+ opencv4.10 (非常详细) 第二章-依赖库
查看>>
Effective C++ 自己不足的地方摘要
查看>>
ubuntu安装和完全卸载命令
查看>>
QT保存文本为ANIC和Unicode
查看>>
高效程序员的45个习惯:敏捷开发修炼之道 - 读后感
查看>>
linux灰度图数组保存为bmp图像
查看>>
linux获取MAC地址办法
查看>>
简单的c++ UDP类 + 多线程 win32编程
查看>>
推荐一本挺好的Android书籍
查看>>
Android EditText和Button控件搭配如何更好看些
查看>>
Android相对布局
查看>>
Android - 自定义标题栏
查看>>
Android ListView 动态添加一行数据
查看>>
MFC 查找文件夹内指定后缀的文件名
查看>>