文章目录
- 一、基础知识
-
- [1、User Backup VS RMAN](#1、User Backup VS RMAN)
- [2、Restoring &Recovering DB 还原&恢复数据库](#2、Restoring &Recovering DB 还原&恢复数据库)
- [3、Recovery Manager Features 管理恢复功能](#3、Recovery Manager Features 管理恢复功能)
- [4、RMAN Components RMAN组件](#4、RMAN Components RMAN组件)
- [5、Repository1: Control File 存储库1:控制文件](#5、Repository1: Control File 存储库1:控制文件)
- [6、Channel Allocation 通道道分配](#6、Channel Allocation 通道道分配)
- [7、Media Management 介质管理](#7、Media Management 介质管理)
- [8、Types of Connectoin 连接类型](#8、Types of Connectoin 连接类型)
- [9、Without a Recovery Catalog 没有恢复目录](#9、Without a Recovery Catalog 没有恢复目录)
- [10、Recovery Manager Modes 恢复管理器模式](#10、Recovery Manager Modes 恢复管理器模式)
- [11、RMAN Configuration Settings RMAN配置设置](#11、RMAN Configuration Settings RMAN配置设置)
- [12、The CONFIGURE Command CONFIGURE命令](#12、The CONFIGURE Command CONFIGURE命令)
- [13、The SHOW Command SHOW 命令](#13、The SHOW Command SHOW 命令)
- [14、The LIST Command LIST命令](#14、The LIST Command LIST命令)
- [15、The REPORT Command REPORT 报告命令](#15、The REPORT Command REPORT 报告命令)
- 二、基础操作
-
- 1、连接到RMAN
- [2、Auto Channel Allocation 自动通道分配](#2、Auto Channel Allocation 自动通道分配)
- [3、Manual Channel Allocation 手动通道分配](#3、Manual Channel Allocation 手动通道分配)
- [4、Additional Line Arguments 增加参数方法](#4、Additional Line Arguments 增加参数方法)
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命令
- 配置自动通道:
sql
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/db01/BACKUP/%u';
- 通过指定恢复窗口实施保留策略
sql
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 days;
- 通过指定几余来实施保留策略:
sql
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
bash
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 自动通道分配
- 更改默认设备类型:
bash
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;
这是原来设备类型
然后我们执行上列命令进行更改之后再次查看
这是现在的设备名
然后我们只是实验一下操作,操作完成将他恢复成原来的样子,执行下列语句:
bash
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 手动通道分配
- 备份、复制、还原和恢复命令至少需要一个通道
- 分配通道会启动目标数据库上的服务器进程
- 通道影响并行度
- 通道可以写入到不同的媒体类型
- 通道可用于施加限制。
bash
RUN {
ALLOCATE CHANNEL c1 TYPE disk
FORMAT ='/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输出写入日志文件:
bash
rman target sys/oracle
log $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被调用时执行命令文件:
bash
rman target sys/oracle
log $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 命令。