参考资料:

Rman简介

Rman-Recover manager恢复管理工具。

Oracle集成了很多环境的一个数据库备份和恢复的工具。

Rman可以做下列事情:

  • 数据库热备份

    • 全库备份和恢复

      • 数据库克隆(DG)
    • 增量备份和恢复
    • 表空间备份和恢复
    • 数据文件备份和恢复
    • 归档备份和恢复
    • 控制文件和参数文件备份和恢复
  • 数据库冷备份
  • 备份集的管理
    • 备份策略
    • 保留和删除备份数据
    • ......

冷备份和热备份区别

对于oracle数据库只有物理备份和逻辑备份

  • 物理备份:是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带
  • 逻辑备份:是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。

物理备份用于实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库,具体包括冷备份和热备份。冷备份和热备份是物理备份(也称低级备份),它涉及到组成数据库的文件,但不考虑逻辑内容。

  • 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库
  • 热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。

热备份和冷备份可以参看:什么是冷备份和热备份,有什么区别?

应该备份哪些文件?

  • Oracle数据文件
  • 控制文件
  • 归档日志
  • 在线日志
  • 参数文件
  • 密码文件

Rman备份实验演示

备份数据库

在数据库运行的时候进行Rman备份则是热备份,需要当前数据库处于归档模式

检查数据库是否是归档模式的命令:

sqlplus / as sysdba
SQL> archive log list;

如果处于archive mod下,则可以进行热备。使用quit退出sqlplus状态,进入恢复管理器。

C:\Users\clg>rman target /

恢复管理器: Release 11.2.0.1.0 - Production on 星期一 3月 21 14:46:00 2016

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到目标数据库: ORCL (DBID=1433387646)

备份数据库的命令:( 全备)

RMAN> backup database;

会备份数据文件和控制文件还有spfile。

备份表空间

可以备份某个特定的表空间

RMAN> backup tablespace users;

备份文件

备份制定的文件,根据文件号备份。

RMAN> backup datafile 4;

备份归档日志

RMAN> backup archivelog all;

查看备份信息

RMAN> list backup;

如果备份的时候恢复区的空间不够,超出了恢复文件数的限制,那么就会出现backup失败。则可以删除之前的备份。

RMAN> delete backupset;
或者
RMAN> delete backup;

使用这两条命令都会删除备份片段列表。

Rman可以发出一些管理类的SQL语句。

从备份文件中恢复数据库文件

先使用restore命令从备份集中拷贝数据库文件到oradata文件夹下(数据库存放数据文件的地方)。

restore database;
或者
restore tablespace user;
或者
restore datafile 4;

第一个是将整个数据库的数据文件拷贝过来,第二个只是拷贝表空间user的数据文件。

然后使用recover进行介质恢复。

recover database;
或者
recover datafile 4;

根据拷贝过来的数据文件dbf进行全库恢或者根据具体的文件进行恢复。

Rman增量备份

使用Rman 全备份以及增量备份

附:

关于数据文件的状态信息(online or offline等等),可以参见v$datafile视图。


记得帮我点赞哦!

精心整理了计算机各个方向的从入门、进阶、实战的视频课程和电子书,按照目录合理分类,总能找到你需要的学习资料,还在等什么?快去关注下载吧!!!

念念不忘,必有回响,小伙伴们帮我点个赞吧,非常感谢。

我是职场亮哥,YY高级软件工程师、四年工作经验,拒绝咸鱼争当龙头的斜杠程序员。

听我说,进步多,程序人生一把梭

如果有幸能帮到你,请帮我点个【赞】,给个关注,如果能顺带评论给个鼓励,将不胜感激。

职场亮哥文章列表:更多文章

本人所有文章、回答都与版权保护平台有合作,著作权归职场亮哥所有,未经授权,转载必究!

Oracle Rman备份恢复和管理的更多相关文章

  1. Oracle RMAN备份恢复指导书

    目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...

  2. Oracle—RMAN备份(三)

    一.增量备份的相关概念 1. 在前面说明了RMAN的完整备份,完整备份是备份所用使用过的块,不备份没有使用的过的块:增量备份只备份自上次备份以来更改过的块. 2.即使RMAN的默认操作是在增量备份时扫 ...

  3. ORACLE RMAN备份--差异增量与累积增量的策略实例图

    转自原文 ORACLE RMAN备份--差异增量与累积增量的策略实例图

  4. ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件

    ORACLE RMAN备份及还原   RMAN能够进行增量备份:数据库.表空间.数据文件 仅仅有使用过的block能够被备份成backup set 表空间与数据文件相应关系:dba_data_file ...

  5. rman备份/恢复

    全备脚本 cat rman_full.sh #!/bin/bash export ORACLE_BASE=/opt/oracle export ORACLE_HOME=$ORACLE_BASE/pro ...

  6. Oracle RMAN 备份一例

    Oracle RMAN备份一例: Solaris 10 + Oracle 11.2.0.3 Shell:csh,安装有bash,脚本调用bash 备份策略:周日0级备份,周一~周六1级备份,每6小时备 ...

  7. Oracle—RMAN备份(一)

    一.RMAN备份相关概念 1.RMAN备份中表空间不需要处于backup模式下,它备份数据文件,归档日志文件,控制文件,spfile和备份集片,但不备份联机重做日志文件,临时文件和口令文件. 2.备份 ...

  8. Oracle—RMAN备份(二)

    在Oracle  RMAN备份(一)中,对各种文件在RMAN中备份进行了说明, 一.备份集的复制 在RMAN 备份中,可以备份其自己的备份,即备份一个文件放在多个目录下,oralce支持最多备份四个. ...

  9. rman备份恢复命令之switch

    rman备份恢复命令之switch 一 switch 命令 1 switch命令用途 更新数据文件名为rman下镜像拷贝时指定的数据文件名 更新数据文件名为 set newname 命令指定的名字. ...

随机推荐

  1. Revit二开---Schemachema扩展数据

    一.什么是Schema        Schema是Revit扩展数据的技术关键词,revit到这里,需要对Revit二开基础有一定了解. 二.Schema架构        建立revit扩展数据第 ...

  2. 基于 Docker 搭建 Consul 多数据中心集群

    本文介绍了在 Windows 10 上基于 Docker 搭建 Consul 多数据中心集群的步骤,包括 Consul 镜像的拉取和容器的创建,每个数据中心对应服务端节点和客户节点的创建,节点之间相互 ...

  3. 5G从小就梦想着自己要迎娶:高速率、低时延、大容量三个老婆

    摘要:2020年7月9日,ITU正式把NB-IoT纳入5G标准体系! 高速率.低时延与5G是青梅竹马的关系,在大容量的选择上,5G与NB-IoT不断传出着绯闻,终于:2020年7月9日,ITU正式把N ...

  4. 【深度学习】:一门入门3D计算机视觉

    一.导论 目前深度学习已经在2D计算机视觉领域取得了非凡的成果,比如使用一张图像进行目标检测,语义分割,对视频当中的物体进行目标跟踪等任务都有非常不错的效果.传统的3D计算机视觉则是基于纯立体几何来实 ...

  5. 报错:Cause: java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式

    错误原因:

  6. Ubuntu 18.04 安装 docker, 设置阿里云加速

    1.卸载旧的 docker 环境 sudo apt-get remove docker docker-engine docker.io containerd runc 2.设置仓库 更新索引 sudo ...

  7. linux驱动之模块化编程小总结

    本文包含了linux驱动模块化编程的基本,包括创建多线程,延时,以及makefile 以一个实例来说明 #include<linux/init.h> #include<linux/m ...

  8. openVswitch(OVS)源代码分析之工作流程(flow流表查询)

    原文链接: openVswitch(OVS)源代码分析之工作流程(flow流表查询)

  9. 结合Excel批量操作网页,模拟登陆

    有这样一个场景,客户的一批账户密码保存在Excel中,需要逐一登录,进行某些操作 从头开始来的话很麻烦,读取Excel,安装Web控件,主要是控件操作没有很方便,有没有类似原始js调用.jqurey调 ...

  10. JVM大作业5——指令集

    JVM的每一个线程都有一个虚拟机栈,方法调用时,JVM会在虚拟机栈内为该方法创建一个栈帧. 一条线程,只有正在执行的方法对应的栈帧时可活动的,这个栈帧被称为当前栈帧,当前栈帧对应的方法被称为当前方法, ...