Oracle(2-9) Oracle Recovery Manager Overview and Configuration
文章目录
- 一、基础知识
- 1、User Backup VS RMAN
- 2、Restoring &Recovering DB 还原&恢复数据库
- 3、Recovery Manager Features 管理恢复功能
- 4、RMAN Components RMAN组件
- 5、Repository1: Control File 存储库1:控制文件
- 6、Channel Allocation 通道道分配
- 7、Media Management 介质管理
- 8、Types of Connectoin 连接类型
- 9、Without a Recovery Catalog 没有恢复目录
- 10、Recovery Manager Modes 恢复管理器模式
- 11、RMAN Configuration Settings RMAN配置设置
- 12、The CONFIGURE Command CONFIGURE命令
- 13、The SHOW Command SHOW 命令
- 14、The LIST Command LIST命令
- 15、The REPORT Command REPORT 报告命令
- 二、基础操作
- 1、连接到RMAN
- 2、Auto Channel Allocation 自动通道分配
- 3、Manual Channel Allocation 手动通道分配
- 4、Additional Line Arguments 增加参数方法
- 将RMAN输出写入日志文件:
- 当RMAN被调用时执行命令文件:
Oracle Recovery Manager Overview and Configuration Oracle恢复和管理的概述和配置(RMAN的使用和配置)
目标:
- 了解RMAN的体系结构
- 掌握RMAN存储库和控制文件的使用
- 掌握通道分配
- 掌握介质管理库界面不使用恢复目录连接到RMAN
- 配置RMAN环境
一、基础知识
1、User Backup VS RMAN

- 两种备份的基本方式
- 这里只做了解一下就行,知道RMAN的重要性
- 后期笔者会出关于备份的学习笔记
2、Restoring &Recovering DB 还原&恢复数据库

- 当我们在SCN为100时进行备份时,数据库在SCN为500时损坏
- 我们可以将数据库先恢复到SCN100的时候的状态
- 然后在使用Archive redo logs和redo log文件将数据恢复
- 这就是数据恢复的基本思想
- 对于SCN的解释:
- SCN(System Change Number)是Oracle数据库中的一个重要概念,用于表示数据库中发生变化的数量和时间点。每当数据库中发生一次变化,如插入、更新或删除数据时,SCN会自动增加。SCN是一个递增的数字,可以用来确定数据更改的顺序和时间戳。在Oracle数据库中,SCN的使用非常广泛,例如在数据恢复、备份和归档等过程中都要用到SCN。
3、Recovery Manager Features 管理恢复功能
RMAN提供了一种灵活的方式来:
- 备份数据库、表空间、数据文件、控制文件和归档日志
- 存储经常执行的备份和恢复操作
- 执行增量块级备份
- 跳过未使用的块
- 指定备份的限制
- 在备份期间检测损坏的块
- 通过以下方式提高性能:
- 自动并行化
- 减少重做的生成
- 限制备份的L/0
- 磁带流
- 管理备份和恢复任务
4、RMAN Components RMAN组件

- Target database是目标数据库(需要备份的数据库)
5、Repository1: Control File 存储库1:控制文件
- RMAN存储库是关于目标数据库以及备份和恢复操作的元数据
- RMAN存储库总是存储在目标数据库的控制文件中
- 参数CONTROL_FTLE_RECORD_KEEP_TIME确定记录在被覆盖之前的最小年限 (以天数为单位)
- 控制文件的大小可能会增加
6、Channel Allocation 通道道分配

7、Media Management 介质管理

- 大型的备份需要买专门的磁带介质,磁带卡,磁带库,或者光盘卡之类的介质
- Media management library:介质管理库,这个是第三方设备提供商需要提供的库,这个库必须符合Oracle的规范,能够让RMAN驱动
8、Types of Connectoin 连接类型
- 目标数据库
- 恢复目录数据库
- 辅助数据库
- 备用数据库
- 重复数据库
- TSPITR实例
9、Without a Recovery Catalog 没有恢复目录

10、Recovery Manager Modes 恢复管理器模式
- 交互模式
- 在做分析的时候用
- 尽量减少经常使用
- 避免使用日志选项
- 批处理模式(重点)
- 用于自动化作业
- 最大限度地减少操作员错误
- 设置日志文件以获取信息
11、RMAN Configuration Settings RMAN配置设置
- RMAN是使用默认配置设置预设的
- 使用CONFIGURE命令可以:
- 配置自动通道
- 指定备份保留策略
- 指定要创建的备份副本数
- 限制备份集的大小
- 使表空间免于备份
- 启用和禁用备份优化
12、The CONFIGURE Command CONFIGURE命令
- 配置自动通道:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/db01/BACKUP/%u';
- 通过指定恢复窗口实施保留策略
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 days;
- 通过指定几余来实施保留策略:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2:
13、The SHOW Command SHOW 命令
- 显示持久配置设置
- 使用sHow命令显示:
- 自动频道配置设置
- 备份保留策略设置
- 要创建的备份副本数
- 备份集大小限制
- 从备份中排除的表空间
- 备份优化状态
- 使用SHOWALL显示所有设置:
show all
14、The LIST Command LIST命令
- LIST命令操作
- 列出数据文件的备份集和副本
- 列出指定表空间的任何数据文件的备份集和副本
- 列出包含指定范围的归档日志的备份集和副本
- The LIST Command LIST命令
- 列出数据库中所有文件的备份:
LIST BACKUP OF DATABASE;
- 列出包含
users01.dbf数据文件的所有备份集LIST BACKUP OF DATAFILE "/db01/ORADATA/u03/users01.dbf";
- 列出system中数据文件的所有副本
- LIST COPY OF TABLESPACE "SYSTEM’;
- 列出数据库中所有文件的备份:
15、The REPORT Command REPORT 报告命令
- 生成对存储库的详细分析
- 生成报告以回答:
- 哪些文件需要备份
- 哪些备份可以被删除
- 哪些文件是不可恢复的
- REPORT NEED BACKUP 报告需要备份
- 需要三个或更多增量备份以进行恢复的文件:
REPORT NEED BACKUP incremental 3;
- 文件已经三天没有备份了(报告需要备份三天):
REPORT NEED BACKUP days 3;
- 如果没有两个或多个备份,则需要备份:
REPORT NEED BACKUP redundancy 2;
- 3天前恢复所票得备份:
REPORT NEED BACKUP recovery window of 3 days;
- 需要三个或更多增量备份以进行恢复的文件:
二、基础操作
1、连接到RMAN
rman target sys/123@orcl nocatalog

这是一个使用Oracle RMAN(Recovery Manager)的命令,用于连接到Oracle数据库并指定目标数据库和连接信息。让我解释一下:
rman: 这是启动Oracle RMAN的命令。target sys/123@orcl: 这部分命令用于指定RMAN的目标数据库和连接信息。sys: 这是数据库用户的名称,通常是sys,表示超级用户。123: 这是与用户相关联的密码,这里假设密码是123。@orcl: 这是数据库的连接描述符,通常包括数据库的TNS(Transparent Network Substrate)别名。在这里,数据库别名是orcl。
nocatalog: 这是指定RMAN不使用RMAN目录的选项。RMAN目录是一个存储有关备份和恢复的信息的数据库。使用nocatalog表示RMAN将直接连接到目标数据库,而不是连接到RMAN目录数据库。
综合起来,这个命令的含义是使用RMAN连接到Oracle数据库,目标数据库是orcl,用户名是sys,密码是123,而且不使用RMAN目录。
2、Auto Channel Allocation 自动通道分配
- 更改默认设备类型:
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;

这是原来设备类型
然后我们执行上列命令进行更改之后再次查看

这是现在的设备名
然后我们只是实验一下操作,操作完成将他恢复成原来的样子,执行下列语句:
CONFIGURE DEFAULT DEVICE TYPE clear;

- 配置自动通道的并行性:
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3;
- 配置自动通道选项:
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT =/BACKUP/RMAN/U';RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G:
3、Manual Channel Allocation 手动通道分配
- 备份、复制、还原和恢复命令至少需要一个通道
- 分配通道会启动目标数据库上的服务器进程
- 通道影响并行度
- 通道可以写入到不同的媒体类型
- 通道可用于施加限制。
RUN {ALLOCATE CHANNEL c1 TYPE diskFORMAT ='/db01/BACKUP/usr0520.bak';BACKUP DATAFILE '/db01/ORADATA/users0l.dbf';}
这是一个使用Oracle RMAN的脚本块,用于执行数据库备份。让我解释一下这个脚本的各个部分:
-
RUN: 这是RMAN脚本的一个关键字,表示接下来将运行一系列RMAN命令。 -
ALLOCATE CHANNEL c1 TYPE disk FORMAT='/db01/BACKUP/usr0520.bak';: 这部分命令用于分配一个备份通道,并指定备份文件的格式。具体来说:ALLOCATE CHANNEL c1: 分配一个名为c1的备份通道。TYPE disk: 指定备份通道的类型为磁盘。FORMAT='/db01/BACKUP/usr0520.bak': 指定备份文件的格式和位置,这里的备份文件将保存在/db01/BACKUP目录下,文件名为usr0520.bak。
-
BACKUP DATAFILE '/db01/ORADATA/users0l.dbf';: 这部分命令用于执行实际的数据文件备份。BACKUP DATAFILE '/db01/ORADATA/users0l.dbf': 表示要备份指定路径下的数据文件,这里的路径是/db01/ORADATA/users0l.dbf。
整体来说,这个脚本的目的是使用RMAN备份Oracle数据库的一个数据文件(users0l.dbf),并将备份文件保存在指定的磁盘位置(/db01/BACKUP/usr0520.bak)。备份通道(c1)用于管理备份的过程。
4、Additional Line Arguments 增加参数方法
将RMAN输出写入日志文件:
rman target sys/oraclelog $ORACLE_HOME/ORADATA/u03/rman.log append
这是一个使用 Oracle RMAN(Recovery Manager)的命令,让我解释一下这个命令的各个部分:
-
rman: 这是启动 Oracle RMAN 的命令。 -
target sys/oracle: 这部分命令用于连接到目标数据库,其中:sys: 这是数据库用户的名称,通常是 sys,表示超级用户。oracle: 这是与用户相关联的密码,这里假设密码是 oracle。
-
log $ORACLE_HOME/ORADATA/u03/rman.log: 这部分命令用于指定 RMAN 日志文件的路径和文件名,其中:$ORACLE_HOME: 这是 Oracle 软件的主目录的环境变量,指向 Oracle 软件的安装路径。/ORADATA/u03/rman.log: 这是 RMAN 日志文件的完整路径和文件名。append选项表示如果文件已存在,则将日志信息追加到现有文件末尾,而不是覆盖文件。
综合起来,这个命令的含义是使用 RMAN 连接到 Oracle 数据库,目标数据库用户是 sys,密码是 oracle,并且将 RMAN 的日志信息记录到指定的日志文件中,如果文件已存在,则将日志信息追加到文件末尾。
当RMAN被调用时执行命令文件:
rman target sys/oraclelog $ORACLE_HOME/ORADATA/u03/rman.log append@'$ORACLE_HOME/STUDENT/LABS/my_rman_script.rcv'
这个命令是在 Oracle RMAN 中执行一个脚本文件的命令,让我逐步解释:
rman target sys/oracle: 这部分命令用于连接到目标数据库,其中:sys: 这是数据库用户的名称,通常是 sys,表示超级用户。oracle: 这是与用户相关联的密码,这里假设密码是 oracle。
log $ORACLE_HOME/ORADATA/u03/rman.log append: 这部分命令用于指定 RMAN 日志文件的路径和文件名,并使用append选项,表示如果文件已存在,则将日志信息追加到现有文件末尾,而不是覆盖文件。$ORACLE_HOME: 这是 Oracle 软件的主目录的环境变量,指向 Oracle 软件的安装路径。
@'$ORACLE_HOME/STUDENT/LABS/my_rman_script.rcv': 这部分命令使用@符号来执行一个 RMAN 脚本文件。具体来说:$ORACLE_HOME/STUDENT/LABS/my_rman_script.rcv: 这是 RMAN 脚本文件的路径和文件名。RMAN 脚本文件包含一系列 RMAN 命令,这些命令将被按顺序执行。
综合起来,这个命令的含义是使用 RMAN 连接到 Oracle 数据库(sys 用户,密码 oracle),将 RMAN 的日志信息记录到指定的日志文件中,如果文件已存在,则将日志信息追加到文件末尾。然后,执行指定路径下的 RMAN 脚本文件,其中包含一系列 RMAN 命令。
相关文章:
Oracle(2-9) Oracle Recovery Manager Overview and Configuration
文章目录 一、基础知识1、User Backup VS RMAN2、Restoring &Recovering DB 还原&恢复数据库3、Recovery Manager Features 管理恢复功能4、RMAN Components RMAN组件5、Repository1: Control File 存储库1:控制文件6、Channel Allocation 通道道分配7、Media Manageme…...
滑动验证码
先上图 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>滑动验证码</title><style>* {margin: 0;padding: 0;}.box {position: relative;width: 375px;margin: 100px a…...
数据爬取+可视化实战_告白气球_词云展示----酷狗音乐
一、前言 歌词上做文本分析,数据存储在网页上,需要爬取数据下来,词云展示在工作中也变得日益重要,接下来将数据爬虫与可视化结合起来,做个词云展示案例。 二、代码 # -*- coding:utf-8 -*- # 酷狗音乐 通过获取每首歌…...
rkmedia_vi_get_frame_test.c 代码解析
使用示例: 录像: rkmedia_vi_get_frame_test -a /etc/iqfiles/ -I 1 -o 1080.nv12 然后用yuvplayer.exe可以播放。 录像10帧: rkmedia_vi_get_frame_test -a /etc/iqfiles/ -I 1 -o 1080.nv12 -c 10 解析代码: #include <as…...
探究Kafka原理-3.生产者消费者API原理解析
👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理🔥如果感觉博主的文章还不错的话,请ὄ…...
Linux系统iptables扩展
目录 一. iptables规则保存 1. 导出规则保存 2. 自动重载规则 ①. 当前用户生效 ②. 全局生效 二. 自定义链 1. 新建自定义链 2. 重命名自定义链 3. 添加自定义链规则 4. 调用自定义链规则 5. 删除自定义链 三. NAT 1. SNAT 2. DNAT 3. 实验 ①. 实验要求 ②. …...
Openwrt 系统安装 插件名称与中文释义
系统镜像 当时是去官网找对应的,但是作为门外汉,想简单,可以试试这个网站 插件 OpenWrt/Lede全部插件列表功能注释...
[原创]Delphi的SizeOf(), Length(), 动态数组, 静态数组的关系.
[简介] 常用网名: 猪头三 出生日期: 1981.XX.XXQQ: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi…...
C++(20):bind_front
C(11):bind_c11 bind_风静如云的博客-CSDN博客 提供了方法来绑定函数参数的方法。 C20提供了bind_front用于简化这个绑定。 #include <iostream> #include <functional> using namespace std;void func1(int d1, int d2) {cout<<__func__<&l…...
【spring】bean的后处理器
目录 一、作用二、常见的bean后处理器2.1 AutowiredAnnotationBeanPostProcessor2.1.1 说明2.1.2 代码示例2.1.3 截图示例 2.2 CommonAnnotationBeanPostProcessor2.2.1 说明2.2.2 代码示例2.2.3 截图示例 2.3 ConfigurationPropertiesBindingPostProcessor2.3.1 说明2.3.2 代码…...
Centos7安装docker、java、python环境
文章目录 前言一、docker的安装二、docker-compose的安装三、安装python3和配置pip3配置python软链接(关键) 四、Centos 7.6操作系统安装JAVA环境 前言 每次vps安装docker都要看网上的文章,而且都非常坑,方法千奇百怪,…...
简单小结类与对象
/*** Description 简单小结类与对象*/ package com.oop;import com.oop.demo03.Pet;public class Application {public static void main(String[] args) {/*1.类与对象类是一个模版:抽象,对象是一个具体的实例2.方法定义、调用!3.对象的引用…...
ABAP 如何获取内表行的索引值(index) ?
获取索引值 在ABAP中,如果需要获取一个内表中某条记录的索引(index),可以使用 READ TABLE 语句。在 READ TABLE 语句后面的 WITH KEY 子句可以指定搜索条件,如果找到了匹配的记录,系统字段 SY-TABIX 将保存…...
ESP32-Web-Server编程- 使用表格(Table)实时显示设备信息
ESP32-Web-Server编程- 使用表格(Table)实时显示设备信息 概述 上节讲述了通过 Server-Sent Events(以下简称 SSE) 实现在网页实时更新 ESP32 Web 服务器的传感器数据。 本节书接上会,继续使用 SSE 机制在网页实时显…...
vue3 Hooks函数使用及常用utils封装
hooks 是什么 vue3使用了composition API,我们可自定义封装hooks,达到复用,在Vue2中采取的mixins,对mixins而言, hooks更清楚复用功能代码的来源, 更清晰易懂。 简单来说:hooks 就是函数的一种写法…...
matlab 无迹卡尔曼滤波
1、内容简介 略 26-可以交流、咨询、答疑 2、内容说明 无迹卡尔曼滤波 无迹卡尔曼滤波 无迹卡尔曼滤波 3、仿真分析 %该文件用于编写无迹卡尔曼滤波算法及其测试 %注解:主要子程序包括:轨迹发生器、系统方程 % 测量方程、UKF滤波器 %----…...
大脑--学习方法
1.大脑喜欢色彩。平时使用高质量的有色笔或使用有色纸,颜色能帮助记忆。 2.大脑集中精力最多只有25分钟。这是对成人而言,所以学习20到30分钟后就应该休息10分钟。你可以利用这段时间做点家务,10分钟后再回来继续学习,效果会更好…...
4.C转python
1.建立函数: def 函数名(形参): 函数体(记得写缩进) return 返回值(python中可以没有return) 2.调用函数: 函数名(实参) 实参和形参个数相等即可,类型不需要相同 其中接收返回值与C中的差不多 3.如果只是定义而不调用则函数不会执行 4.先定义函数,后调用 5.python中可以…...
YOLOv5项目实战(5)— 算法模型优化和服务器部署
前言:Hello大家好,我是小哥谈。近期,作者所负责项目中的算法模型检测存在很多误报情况,为了减少这种误报情况,作者一直在不断优化算法模型。鉴于此,本节课就给大家详细介绍一下实际工作场景中如何去优化算法模型和进行部署,另外为了方便大家进行模型训练,作者在文章中提…...
JavaScript类型判断:解密变量真实身份的神奇技巧
文章目录 1. typeof运算符2. instanceof运算符3. Object.prototype.toString4. Array.isArray5. 使用constructor属性6. 使用Symbol.toStringTag7. 使用is类型判断库8. 谨慎使用隐式类型转换结语 🎉JavaScript类型判断:解密变量真实身份的神奇技巧 ☆* o…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
