一. RMAN 还原与恢复基础

在RMAN 用于中,还原与恢复是两个不同的概念。

还原(restore):指访问先前生成的备份,从中得到一个或多个对象,然后在磁盘上的某个位置还原这些对象。

恢复(recover):是一个数据库与给定时间点相一致以保证能够打开这个数据库的实际进程,该进程通常是通过应用重做(包括联机重做日志和归档的重做日志)来完成的。

数据库中的数据状态对数据库是非常重要的,在数据库启动时要求数据与给定的时间状态一致。 如果数据库是一致的,就可以打开这个数据库,如果不一致,就不能打开。 通过使用回滚段,就可以在启动和运行数据库时保持这种一致性。 正常关闭数据库时,数据文件会再一次一致。

Oracle 严格要求数据的一致性。 当我们在恢复数据文件后重新启动数据库时,Oracle 会检测这些数据文件是否状态不一致。 Oracle 会跟踪每个数据库数据文件头中的当前SCN和控制文件中的当前SCN。 打开数据库时,Oracle 要经历3个阶段: 未加载,加载和打开。 数据库启动进入打开阶段时,Oracle 会开始尝试打开这个数据库。 在尝试打开数据库的时候,Oracle 检测控制文件中的SCN以及每个数据文件中的SCN,如果这些SCN 不匹配,Oracle 就会知道数据库存在某些错误并且处于不一致的状态。

如果发现数据库是不一致的。 Oracle 就需要判断是否能够基于联机重做日志来恢复这个数据库,或者是否需要归档的重做日志来完成恢复操作。 如果Oracle 能够使用联机重做日志来执行恢复操作,它就会执行灾难恢复(或者在RAC 环境中执行实例恢复操作)。 如果Oracle 不能使用联机重做来确保数据库的一致性,它就会停止启动进程,通知报告需要执行介质恢复操作。

二. RMAN 还原与恢复前的操作

启动数据库恢复时,我们必须先恢复服务器参数文件,然后恢复控制文件。

补充知识: 先对控制文件和spfile的备份的知识做下回顾:

当我们修改为自动备份后,在每次备份之后都会自动备份控制文件和初始化pfile.

RMAN> show all;

CONFIGURE CONTROLFILE AUTOBACKUP ON; -- 该参数默认是关闭的

RMAN> backup database;

......

启动 Control File and SPFILE Autobackup 于 25-6月 -10

段 handle=D:/APP/ADMINISTRATOR/FLASH_RECOVERY_AREA/ORCL/AUTOBACKUP/2010_06_25/O1

_MF_S_722604317_6288DYQF_.BKP comment=NONE

完成 Control File and SPFILE Autobackup 于 25-6月 -10

配置控制文件和参数文件的自动备份时的一些规则:

(1) 在RUN 程序块之外执行每个RMAN的backup 或者 copy 命令时,都会自动备份控制文件和参数文件。

(2) 使用使用了RUN 程序块,而且该程序块的最后一个命令不是backup 或者copy,在RUN 程序块结尾处会备份控制文件和参数文件。

除了上面2种自动控制文件备份类型,我们还可以配置另一种特殊的控制文件备份类型。该类型发生在数据库变化时,这些变化包括添加新的表空间,添加数据文件,添加联机重做日志等。 这些自动备份类型只在磁盘上发生,使用configure controlfile autobackup命令的特殊选项可以简化备份。如:

Configure controlfile autobackup format for device type disk to 'd:/backup/sid_%F';

使用了该选项,RDBMS 会在数据结构的变化控制文件产生影响时自动备份控制文件。强调一点,只支持磁盘。

手动的备份控制文件

Alter database backup controlfile to 'd:/backup/orcl_backup.ctl';

手工备份spfile:

RMAN> backup spfile ;

启动 Control File and SPFILE Autobackup 于 26-6月 -10

段 handle=D:/APP/ADMINISTRATOR/FLASH_RECOVERY_AREA/ORCL/AUTOBACKUP/2010_06_26/O1

_MF_S_722706435_62CD44SN_.BKP comment=NONE

完成 Control File and SPFILE Autobackup 于 26-6月 -10

三、还原服务器参数文件

1、使用RMAN(不使用FRA)从自动备份中恢复服务器参数文件

ORACLE 会默认地在$ORACLE_HOME/dbs 或者 $ORACLE_HOME/DATABASE 目录中创建服务器参数文件与控制文件。

还原服务器参数文件的一般过程是先设置ORACLE_SID 和 登陆 RMAN, 然后设置DBID, 使RMAN知道需要查找哪一个数据库的服务器参数文件,还必须在这个操作的同时启动数据库实例。

启动数据库实例后,如果使用默认的位置来存储控制文件的自动备份,就可以简单的执行:Restore spfile from autobackup, 这样RMAN 就可以查找包含最新服务器参数备份的控制文件备份集。 一旦恢复了服务器参数文件,就必须关闭重启数据库实例。如果使用的是非默认位置,就需要分配一个指向该位置的通道,然后在使用相同的方法来还原服务器参数文件。

执行 restore spfile from autobackup 命令时,Oracle 会在默认位置中(或者在使用allocate channel 命令定义的为位置中)查找自动的控制文件备份集。 RMAN 创建控制文件自动备份片时,会使用默认的命名约定: C-DBID-DATE-序列号。 如:C-1247395743-2010627-00。 注意的是, 这种命名规则不适用于FRA。

需要注意的是,如果没有使用恢复目录(并且没有使用控制文件,这是可能的),Oracle 就不知道最新控制文件备份片的名称,因此Oracle 会基于这些备份集的默认命名标准来构造控制文件备份片的名称。 Oracle 会遍历整个目录,向后查找数据库的控制文件备份集。 在默认情况下,Oracle 会查找一个在过去10天内创建的控制文件备份集。 如果Oracle 美欧查找到指定时间周期内创建的控制文件备份集,就会产生一个错误。 如果Oracle 发现一个有效的控制文件备份集,就会为用户还原服务器参数文件。

使用restore 命令的maxseq 和 maxdays 参数可以修改RMAN 向后查找控制文件自动备份的时间周期。

使用默认设置的示例:

set oracle_sid=orcl

rman target sys/pwd

set dbid=1247395743

startup nomount;

restore spfile from autobackup;

shutdown immediate;

不使用默认设置的示例:

set oracle_sid=orcl

rman target sys/pwd

set dbid=1247395743

startup nomount;

run

{

set controlfile autobackup format for device type disk to 'f:/backup/%f';

allocate channel c1 device type disk;

restore spfile from autobackup;

}

shutdown immediate;

使用maxseq 和 maxdays 参数在超过默认天数(10天)的时间周期内向后查找控制文件备份集:

set oracle_sid=orcl

rman target sys/pwd

set dbid=1247395743

startup nomount;

run

{

set controlfile autobackup format for device type disk to 'f:/backup/%f';

allocate channel c1 device type disk;

restore spfile from autobackup maxseq 200 maxdays 1000;

}

shutdown immediate;

将参数文件还原到不同的位置和文件中的示例(假定数据库正在启动和运行):

set oracle_sid=orcl

rman target sys/pwd

set dbid=1247395743

startup nomount;

restore spfile to 'f:/backup/spfile.restore' from autobackup;

shutdown immediate;

2、使用RMAN 和 FRA 从自动备份中恢复服务器参数文件

使用FRA 恢复参数文件比不使用FRA 简单。 首先,我们不需要担心DBID 没有意义,也不用操心分配通道的工作,这就节省了一定的时间。 恢复服务器参数文件时,我们只需要正确配置临时参数文件(确保适当的设置FRA目标目录),启动ORACLE 实例,并且执行restore spfile 命令。

set oracle_sid=orcl

rman target sys/pwd

startup nomount;

restore spfile from autobackup;

shutdown immediate;

3、从特定的备份集中恢复服务器参数文件

在Oracle 10g中, restore 命令包含了一个from backup子句, 使用该子句可以指示包含服务器参数文件的备份的备份集片。 因此,只需要知道该备份集片的名称和它的位置,就可以还原服务器参数文件。 在某些情况下,查找包含服务器参数文件备份的备份集片可能存在一些困难,但一旦找到了该备份集片,还原工作就会非常简单,当然,最好还原最新的控制文件备份。

为了还原服务器参数文件,首先要启动数据库实例并标识包含服务器参数文件备份的备份集片(或者进行猜测)。 接着启动RMAN,然后设置数据库饿DBID。 一旦设置了DBID,就需要分配通道给要还原的设备。 分配通道后,执行restore spfile 命令,在命令的末尾传入备份集片的名称。 于是RMAN 将服务器参数还原到正确的位置。

set oracle_sid=orcl

rman target sys/pwd

set dbid=1247395743

startup nomount;

run

{

allocate channel c1 device type disk;

restore spfile from 'f:/backup/c-1247395743-2010627-00';

}

shutdown immediate;

4、使用恢复目录恢复服务器参数文件

如果使用了恢复目录,在启动(未加载)ORACLE 实例后简单执行restore spfile 命令就可以还原最新的服务器参数文件。 RMAN 会使用恢复目录找出最新的控制文件备份,并析取这个备份以供用户使用。

set oracle_sid=orcl

rman target sys/pwd catalog user/pwd@sid

startup nomount;

restore spfile from autobackup;

shutdown immediate;

5、使用联机操作的数据库还原备份的服务器参数文件

不管是否使用控制文件或恢复目录,在数据库启动时从数据库备份中析取服务器参数文件的副本是非常容易的。 我们应当注意到这个操作会生成一个文本参数文件,而不是生成一个服务器参数文件。 因此如果要将这个文本参数文件用作服务器参数文件,就必须转换该文件。

如果不是使用恢复目录并且控制文件的自动备份已经启动,只需要执行下面的命令:

RMAN>RESTORE SPFILE TO PFILE 'D:/BAKCUP/ORCL.ORA' FROM AUTOBACKUP;

对于任何自动备份的还原操作来说,如果不提供maxseq 和maxdays 参数值,RMAN 只需要查找过去7天内生成的控制文件的自动备份片。

如果没有使用恢复目录与控制文件自动备份,或者是在使用恢复目录,就可以执行:

RMAN>RESTORE SPFILE TO PFILE 'D:/BACKUP/ORCL.ORA';

这种情况下,Oracle 会使用数据库控制文件找到最新的备份集,并从这个备份集中还原服务器参数文件。

oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html

转载于:https://blog.51cto.com/19880614/1228174

Oracle RMAN 还原与恢复(一)--还原服务器参数文件相关推荐

  1. RMAN备份概念_关于RMAN控制文件和服务器参数文件的自动备份

    拥有控制文件和服务器参数文件的最近的备份在很多恢复情况中是非常有价值的.为了确保含有这些文件的备份,数据库支持控制文件和服务器参数文件(spfile)自动备份. 自动备份独立发生,与作为BACKUP命 ...

  2. 执行RMAN恢复的高级场景_还原服务器参数文件spfile

    RMAN可以还原一个丢失的spfile到它的缺省位置或选择的位置.不像丢失控制文件,丢失spfile不会导致实例立即停止.实例可能会继续运行,虽然在还原spfile之后必须关闭和重启它. 当还原spf ...

  3. oracle数据库配置助手来初始化参数,使用服务器参数文件(SPFILE)管理初始化参数...

    传统上,Oracle数据库的初始化参数存储在文本初始化参数文件中.为了更好的可管理性,您可以选择在二进制服务器参数文件中维护初始化参数,该文件在数据库启动和关闭期间保持不变.本节介绍服务器参数文件,并 ...

  4. oracle rman异机恢复

      Oracle源主机 Oracle目标主机 主机平台 CentOS6.2(final) CentOs6.2(FInal) 主机名 vick rman IP地址 192.168.1.11 192.16 ...

  5. 方舟服务器参数文件夹,方舟生存进化私人服务器怎么设置 私人服务器参数调整攻略...

    方舟生存进化私人服务器怎样设定?得到使用权后,就能设置进入途径.这里手机乐园夏了夏天小编介绍详情,接着往下看! 私人服务器参数调整攻略 私人服务器购买后,服主可以在里边配置自己的服务器信息. 私人服务 ...

  6. 方舟服务器参数文件,《方舟:生存进化》参数文件ini设置教程

    <方舟生存进化>很多玩家在服务器的ini设置各种参数,这也就类似于私服,有些玩家不喜欢多人联机喜欢一个人玩,但是难度过大,那么也需要修改一些参数,下面小编就为大家带来方舟生存进化参数文件i ...

  7. 方舟服务器参数文件,《方舟生存进化》参数文件ini设置教程 参数文件ini怎么设置...

    <方舟生存进化>很多玩家在服务器的ini设置各种参数,这也就类似于私服,有些玩家不喜欢多人联机喜欢一个人玩,但是难度过大,那么也需要修改一些参数,下面小编就为大家带来方舟生存进化参数文件i ...

  8. Oracle RMAN 表空间恢复

    需求: 恢复1天前(05/06/2021 08:05:05)数据库内一个用户的数据. 环境说明: DB:Oracle 11204 RAC OS:AIX 7.1 操作: 1 2 3 4 1.由于之前只有 ...

  9. oracle rman 跨版本恢复 11.2.0.3- 11.2.0.4

    1.切换归档,执行rman全库备份    2.传送的服务器上.    3.对其进行恢复  --创建对应的目录        1.修改配置文件,按比例修改配置参数      根据这些目录更改创建对应的目 ...

最新文章

  1. 异常:This application has no explicit mapping for /error.以及spring.mvc.view.prefix配置解决
  2. Web应用开发技术(2)-html
  3. C# Winform程序本地化应用
  4. java获取发件人_如何获取发件人outlook / Exchange的SMTP地址
  5. [转载] 像 IDE 一样使用 vim
  6. 华为mt2c00 android7.0,mate9安卓7.0哪个版本最好用
  7. 联合利华在天津成立植卓肉匠亚洲研发中心;第129届广交会在云端圆满落幕 | 美通企业日报
  8. 雅虎谷歌恩怨回顾:养虎为患自食苦果
  9. 基于51单片机的液位监测系统仿真数码管显示程序原理图
  10. ffmpeg介绍与命令行基本用法
  11. Windows自带的“QQ”
  12. Qt开发学生信息管理系统
  13. 解决 java poi 导出Excel 无法打开问题
  14. Ubuntu18.04+Nvidia RTX 3060+Pytorch配置GPU环境
  15. Warning: Can save best model only with val_acc available, skipping
  16. Linux:Ubuntu开机自启动ssh【* Starting OpenBSD Secure Shell server sshd [OK]】
  17. Learning VR Photography and Video 学习VR摄影和视频 Lynda课程中文字幕
  18. WEB——07JDBC
  19. ros2中navigation2的BT常用语法总结1
  20. 在服务器上安装windows操作系统

热门文章

  1. redhat-problem to be research
  2. 主流Java报表工具的比较
  3. MyBatis框架学习DAY_01:概念/创建运行流程
  4. iOS 11开发教程(八)定制iOS11应用程序图标
  5. Animator窗口视图Project视图PlayerIdleAnimation和PlayerWalkingAnimation
  6. 明明白白学C#0.1.2 什么是编程语言
  7. 笔记合并_.NET Core开发实战(第23课:静态文件中间件:前后端分离开发合并部署骚操作)学习笔记(上)...
  8. python flask实现博客系统_基于Flask的博客网站设计与实现
  9. 发力大陆移动VR,HTC刚刚发布ViveWave开放平台和ViveFocus一体机
  10. 贝叶斯神书《统计反思》推出第二版,视频课程同步上线,作者亲自在线答疑...