Oracle Rman备份恢复和管理

参考资料:
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增量备份
附:
关于数据文件的状态信息(online or offline等等),可以参见v$datafile视图。
记得帮我点赞哦!
精心整理了计算机各个方向的从入门、进阶、实战的视频课程和电子书,按照目录合理分类,总能找到你需要的学习资料,还在等什么?快去关注下载吧!!!

念念不忘,必有回响,小伙伴们帮我点个赞吧,非常感谢。
我是职场亮哥,YY高级软件工程师、四年工作经验,拒绝咸鱼争当龙头的斜杠程序员。
听我说,进步多,程序人生一把梭
如果有幸能帮到你,请帮我点个【赞】,给个关注,如果能顺带评论给个鼓励,将不胜感激。
职场亮哥文章列表:更多文章

本人所有文章、回答都与版权保护平台有合作,著作权归职场亮哥所有,未经授权,转载必究!
Oracle Rman备份恢复和管理的更多相关文章
- Oracle RMAN备份恢复指导书
目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...
- Oracle—RMAN备份(三)
一.增量备份的相关概念 1. 在前面说明了RMAN的完整备份,完整备份是备份所用使用过的块,不备份没有使用的过的块:增量备份只备份自上次备份以来更改过的块. 2.即使RMAN的默认操作是在增量备份时扫 ...
- ORACLE RMAN备份--差异增量与累积增量的策略实例图
转自原文 ORACLE RMAN备份--差异增量与累积增量的策略实例图
- ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件
ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库.表空间.数据文件 仅仅有使用过的block能够被备份成backup set 表空间与数据文件相应关系:dba_data_file ...
- rman备份/恢复
全备脚本 cat rman_full.sh #!/bin/bash export ORACLE_BASE=/opt/oracle export ORACLE_HOME=$ORACLE_BASE/pro ...
- Oracle RMAN 备份一例
Oracle RMAN备份一例: Solaris 10 + Oracle 11.2.0.3 Shell:csh,安装有bash,脚本调用bash 备份策略:周日0级备份,周一~周六1级备份,每6小时备 ...
- Oracle—RMAN备份(一)
一.RMAN备份相关概念 1.RMAN备份中表空间不需要处于backup模式下,它备份数据文件,归档日志文件,控制文件,spfile和备份集片,但不备份联机重做日志文件,临时文件和口令文件. 2.备份 ...
- Oracle—RMAN备份(二)
在Oracle RMAN备份(一)中,对各种文件在RMAN中备份进行了说明, 一.备份集的复制 在RMAN 备份中,可以备份其自己的备份,即备份一个文件放在多个目录下,oralce支持最多备份四个. ...
- rman备份恢复命令之switch
rman备份恢复命令之switch 一 switch 命令 1 switch命令用途 更新数据文件名为rman下镜像拷贝时指定的数据文件名 更新数据文件名为 set newname 命令指定的名字. ...
随机推荐
- java Struts 多种表单写法
1.html:form(struts标签) 缺点:必须指定一个有效的action属性. 优点:可以使用struts token机制. 调用方法通过submit的name属性. <table al ...
- java SFTP工具类
需要导入jsch-0.1.52.jar import java.io.File; import java.io.FileInputStream; import java.io.FileOutputSt ...
- 面向对象的js编程 Call和apply方法
JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别. 一.方法定义 1.call 方法 语法:call([thisObj[,arg1[, arg2[, [,.arg ...
- ALGEBRA-3 线性映射
不求甚解 [零空间] 零空间对加法和标量乘法封闭,因此属于子空间:
- Qt之先用了再说系列-定时器的用法
Qt 定时器是一个比好用的东西,在此就地简单记录一下使用的方式: 1.首先包含头文件 #include <QTimer> 2.具体用法有几种,我就写其中2种吧 1>执行一次 这种方式 ...
- 2020-04-06:insert语句在mysql里经历了什么?
1.会话状态转换为update 2.激活事物状态由 not_active 变为 active 3.查找定位数据 4.进行乐观插入 记录insert的undo记录记录undo的redo log 入red ...
- GaussDB基本操作
列出所有数据库 \l 切换数据库 \c ${databaseName} 列出当前数据库下的表 \d 列出表的所有字段 \d ${tableName} 查看指定表的基本情况 \d+ ${tableNam ...
- express 洋葱模型 路由管理 中间件
express 路由管理,通过 app.express(); app.METHOD(path,fn(req, res)的方式进行路由的配置.实现了请求的接口的路由的拆分.那么可以将路由配置,分发到不 ...
- 浏览器自动化的一些体会11 webclient的异步操作
原来的代码大致如下: private void foo(string url) { using (WebClient client = new WebClient()) { client.Downlo ...
- 使用正则表达式限制<kbd>QLineEdit</kbd>不能输入大于某个整数
使用正则表达式限制QLineEdit不能输入大于某个整数,即:使用正则表达式,匹配不大于某个整数 举例:匹配不大于4567 * 原理分析: 匹配不大于4567这个数,所以第一个想到的是只要小于4567 ...