[terry笔记]RMAN综合学习之备份http://www.cnblogs.com/kkterry/p/3308405.html

[terry笔记]RMAN综合学习之恢复 http://www.cnblogs.com/kkterry/p/3308407.html

[terry笔记]RMAN综合学习之配置 http://www.cnblogs.com/kkterry/p/3308409.html

一、rman恢复的基础概念和机制

1.在rman中,恢复主要有两个动作,一般在mount下进行:

restore:利用备份集文件,替换损坏的数据文件。
recover:应用归档或者redo,将数据库恢复到崩溃前的状态。
 
2.完全恢复or不完全恢复
完全恢复就是应用全部的归档和redo日志。
不完全恢复就是应用部分归档和redo日志,主要语法是restore/recover...until…,不完全恢复在open的时候需要加上resetlogs。
 
3.rman恢复的时候会去找最近可用的备份集(除非加上until子句)。如果备份集中有某个备份片段存在io错误,rman会自动寻找这个备份片段的冗余,并进行复制修复,如果没有冗余,会去找之前备份集中相应的数据块。
recover时,如果采用了增量备份,rman会首先去寻找增量备份。
 
二、恢复语法、例子
1.一个简单的全库完全恢复例子(开启归档):
rman target /

configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to 'c:\backup\%F';
allocate channel c1 device type disk format 'c:\backup\bak_%T_%u_%s_%p';
backup database plus archivelog delete all input format 'c:\backup\bak_%T_%u_%s_%p'; RMAN> shutdown immediate
数据库已关闭
数据库已卸装
Oracle 实例已关闭 /*首先用rman全备,并关闭数据库,删除system01.dbf、sysaux01.dbf、undotbs01.dbf、users01.dbf、temp、spfile、controlfile*/ RMAN> startup nomount
/*即使没有spfile,利用rman数据库实例也会以最小状态启动。*/
restore spfile from 'c:\backup\C-197157272-20130906-00';
restore controlfile from 'c:\backup\C-197157272-20130906-00';
/*因为rman备份信息记录在控制文件中,所以在恢复参数文件、控制文件的时候需要指定恢复目录*/ RMAN> restore database;
启动 restore 于 06-9月 -13
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=133 设备类型=DISK
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 C:\U01\ORADATA\KKTERRY\SYSTEM01.DBF
通道 ORA_DISK_1: 将数据文件 00002 还原到 C:\U01\ORADATA\KKTERRY\SYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 C:\U01\ORADATA\KKTERRY\UNDOTBS01.DBF
通道 ORA_DISK_1: 将数据文件 00004 还原到 C:\U01\ORADATA\KKTERRY\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 C:\BACKUP\BAK_20130906_11OJ5P6K_33_1
通道 ORA_DISK_1: 段句柄 = C:\BACKUP\BAK_20130906_11OJ5P6K_33_1 标记 = TAG20130906T110244
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:07
完成 restore 于 06-9月 -13 RMAN> recover database;
/*不成功,因为把redo删除了,redo中有需要恢复的日志,如果没有删除redo,会恢复成功。*/ sqlplus / as sysdba
alter database open resetlogs; /*如果在非归档模式下,在执行restore前需要先恢复之前备份的控制文件,并且在recover后,需要open resetlogs*/
2.恢复表空间:
sql 'alter tablespace xxx offline immediate';
restore tablespace xxx;
recover tablespace xxx;
sql 'alter tablespace xxx online';
 
3.恢复数据文件:
sql 'alter database datafile 6 offline';
restore datafile 6;
recover datafile 6;
sql 'alter database datafile 6 onlien';
 
如果磁盘损坏想指定新的位置:
run{
set new name for datafile 6 to '/xxx/xxx.dbf';
restore datafile 6;
switch datafile 6;
recover datafile6;
}
 
4.恢复归档日志,一般是用来logminer或者DG备库需要归档日志。
run{
set archivelog destination to '/xxx/xxx';
restore archivelog sequence between 10 and 20;
}
 
5.恢复控制文件和参数文件
restore spfile/controlfile from autobackup;
restore spfile/controlfile to '/xxx/xxx' from autobackup; /*如果修改过autobackup的默认位置,则rman找不到autobuckup*/
1.复制参数、控制文件的备份到默认位置$ORACLE_HOME/dbs(linux/unix),$ORACLE_HOME/database(win)
2.手动制定恢复位置:restore spfile/controlfile from '/xxx/xxx';
6.有归档无备份,数据文件丢失
/*从数据文件创建起,到其丢失,中间的所有归档文件如果都在,可以不用备份即可恢复(system/sysaux/undo/users除外)*/
alter database create datafile '/xxx/xxx' as '/xxx/xxx';
recover datafile x;
 
7.redo丢失,数据库起不来或者直接崩溃。
/*由于redo的特性,无法备份,只能在每组redo多做几个组员进行冗余,如果丢失就看人品了。*/
1)非current丢失(v$log、v$logfile):
startup mount
alter database clear logfile group x;
alter database open; 2)current丢失
recover database until cancel;
alter database open resetlogs;
alter system set '_allow_resetlogs_corruption'=true scope=spfile

[terry笔记]RMAN综合学习之恢复的更多相关文章

  1. [terry笔记]RMAN综合学习之备份

    rman是最经济实惠的oracle备份工具,在这里做一个rman的整体学习. 文章中大多是rman命令的语法,还是最好做做实验,以便印象深刻,因为大多数数据库的备份就是按时跑脚本,恢复也不是经常能遇到 ...

  2. [terry笔记]RMAN综合学习之配置

    [terry笔记]RMAN综合学习之备份http://www.cnblogs.com/kkterry/p/3308405.html [terry笔记]RMAN综合学习之恢复 http://www.cn ...

  3. RMAN综合学习之备份

    rman是最经济实惠的oracle备份工具,在这里做一个rman的整体学习. 文章中大多是rman命令的语法,还是最好做做实验,以便印象深刻,因为大多数数据库的备份就是按时跑脚本,恢复也不是经常能遇到 ...

  4. Oracle RMAN 学习:恢复

    Oracle RMAN 学习:恢复 6 rman恢复 Rman中的恢复对应restore,recover Restore,数据修复,利用备份集的数据文件来替换已损坏的数据文件或将其恢复到另外一个位置, ...

  5. openresty 学习笔记小结:综合应用实例

    openresty 学习笔记小结:综合应用实例 这个综合实验实现的功能其实很简单,用户访问一个页面,显示一个默认页面.输入参数(post或者get都可以),如果参数在数据库查询得到并满足一定条件,根据 ...

  6. Hyper-V安装Oracle Linux6_4 Oracle db 12c并使用rman做异机恢复

    本文记录在Windows Server 2012 R2上安装Oracle Enterprise Linux 6.4以及使用RMAN进行进行异机恢复的过程. Windows服务器增加Hyper-V功能 ...

  7. rman进行备份、恢复

    rman备份可以很复杂,但学习需要由浅入深,下面是最常见的几种备份.恢复方式. 备份数据的路径与大小: SQL> show parameter  DB_RECOVERY_FILE_DEST NA ...

  8. 笔记-redis深入学习-1

    笔记-redis深入学习-1 redis的基本使用已经会了,但存储和读取只是数据库系统最基础的功能: 数据库系统还得为可靠实现这两者提供一系列保证: 数据.操作备份和恢复,主要是持久化: 高可用:主要 ...

  9. 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用

    目录 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用 21.1 read命令键盘读取变量的值 21.1.1 read常用见用法及参数 21.2 流程控制语句if 21.2 ...

随机推荐

  1. C#中char[]与string之间的转换

    string 转换成 Char[] string ss = "abcdefg"; char[] cc = ss.ToCharArray(); Char[] 转换成string st ...

  2. 解决:对 PInvoke 函数的调用导致堆栈不对称问题 <转载>

    问题描述: 在使用托管代码调用非托管代码时,发生“对 PInvoke 函数“UseTwiHikVisionDllTest!UseTwiHikVisionDllTest.TwiHikVision::Ge ...

  3. Linux平台下Lotus Domino服务器部署案例

    Linux平台下Lotus Domino服务器部署案例 几年前我写了篇<RHAS2.1下安装中文LotusDominoR6.5图解>这篇文档被多个大型网站转载,曾帮助过很多公司系统管理员部 ...

  4. 【Hibernate 7】浅谈Hibernate的缓存机制

    一.Hibernate缓存机制简介 对于Hibernate本身来说,它的缓存主要包括三部分:session缓存(一级缓存).二级缓存.查询缓存. 1.1,session缓存 随着session的关闭而 ...

  5. infusion度量金字塔数据解释

    inFusion能够探测超过20中代码味道和代码缺陷,包括重复代码,破坏封装的类(如数据类或者万能类),高耦合的方法和类,以及一些设计不合理的类继承结构.当我们使用inFusion工具分析代码时,在分 ...

  6. 安装Ecshop首页出现报错:Only variables should be passed by referen

    出现下面这就话: Strict Standards: Only variables should be passed by reference in E:\Tools\ECShop_V2.7.3_UT ...

  7. http 301、304状态码

    在利用httpwatch进行抓包分析时,我们经常会看到200.301.304这几个状态码.具本三者是什么意思呢? 200表示正常0k,这个是地球人都知道的了. 301 Moved Permanentl ...

  8. SQL Server 开发指南

    SQL Server 数据库设计 一.数据库设计的必要性     二.什么是数据库设计     三.数据库设计的重要     四.数据模型          实体-关系(E-R)数据模型        ...

  9. Windows server 2008 R2远程桌面终端连接数的破解

    Windows server 2008 R2远程桌面终端连接数的破解 日常工作中,经常需要远程连接到服务器上,然而在公司里,老总.同事都需要连接到服务器上,而默认的服务器系统同时连接的最大连接数只有2 ...

  10. Apache虚拟主机配置(多个域名访问多个目录)

    Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...