阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

RMAN备份与恢复

187次阅读
没有评论

共计 8837 个字符,预计需要花费 23 分钟才能阅读完成。

RMAN(Recovery Manager)是 Oracle 恢复管理器的简称,是集数据库备份(backup)、修复(restore)和恢复(recover)于一体的工具。接下来了解一下 RMAN 中的几个重要概念。

(1)RMAN 档案资料库

RMAN 档案资料库用于存储数据库备份、修复以及恢复操作时所需要的信息。这些信息包括从目标数据库控制文件获取的数据库物理结构信息,以及 RMAN 备份与恢复过程中生成的信息。RMAN 档案资料库可以保存在目标数据库的控制文件中,也可以保存在一个独立的恢复目录数据库的恢复目录中。

(1.1)将 RMAN 档案资料库保存在控制文件中

控制文件包括不可重用的记录和可重用的记录,不可重用的记录主要是数据文件、联机重做日志文件等不经常变化的、关键性的信息;可重用的是记录数据库运行过程中不断生成的信息,包括重做日志文件的历史信息、已归档的重做日志文件的历史信息、备份信息等。

(1.2)将 RMAN 档案资料库保存在恢复目录中

如果要使用恢复目录保存 RMAN 档案资料库,需要先创建一个独立于目标数据库的恢复目录数据库,专门用来存储和管理 RMAN 档案资料库信息。一个恢复目录可以被多个目标数据库使用,只要将目标数据库注册到恢复目录中即可。

RMAN 恢复目录主要包括以下信息:

– 目标数据库的数据文件与归档重做日志文件的备份信息;

– 目标数据据库数据文件的镜像复制信息;

– 目标数据库中表空间与数据文件的关系;

– 存储用户建立的 RMAN 脚本,可以重复使用;

– 永久性的 RMAN 预定义配置参数信息。

(2)RMAN 通道

在 RMAN 中进行任何类型的备份、修复或恢复操作时,都需要为这些操作分配通道,一个 RMAN 通道表示到一个存储设备的数据流,对应目标数据库的一个进程,由服务器进程来完成数据库的备份与恢复工作。RMAN 支持的通道设备类型包括磁盘(Disk)与 SBT(System Backup To Tape)。SBT 是指第三方介质管理器管理与控制的存储备份,主要是磁带库和磁带驱动器。

(3)RMAN 预定义配置参数

RMAN 环境中有一系列的预定义配置参数,又称为 RMAN 环境变量,自动作用于所有的 RMAN 会话。可以使用 show all 命令查看预定义参数的配置

RMAN> show all;

使用目标数据库控制文件替代恢复目录
db_unique_name 为 ORCL 的数据库的 RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;              #设置备份保留策略
CONFIGURE BACKUP OPTIMIZATION OFF; # default              #启用或禁用优化功能
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default          #设置默认的备份类型
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default          #设置控制文件自动备份
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘%F’; # default              #控制文件自动备份的格式
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default                #设置备份并行度
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default                        #设置数据文件备份集的副本数量
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default                      #设置归档重做日志文件备份集的数量
CONFIGURE MAXSETSIZE TO UNLIMITED; # default                  #设置备份集的最大尺寸
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default              #设置启用加密功能
CONFIGURE ENCRYPTION ALGORITHM ‘AES128’; # default            #如果启用加密功能,设置采用的加密算法
CONFIGURE COMPRESSION ALGORITHM ‘BASIC’ AS OF RELEASE ‘DEFAULT’ OPTIMIZE FOR LOAD TRUE ; # default              #设置备份的压缩算法
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default      #设置归档重做日志文件备份后的处理策略
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘/home/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f’; # default  #设置控制文件快照

可预先对这些参数进行配置,设置后的结果作用于所有 RMAN 会话,也可以在数据库备份与恢复过程中,对特定的参数进行配置。

接下来将对 RMAN 中的常用操作进行学习。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-10/147357p2.htm

(1)连接目标数据库

在 RMAN 中可以建立与目标数据库或恢复目录数据库的连接。与目标数据库连接时,用户须具有 sysdba 系统权限,以保证可以进行数据库的备份、修复与恢复工作。

可以在操作系统命令提示符下输入以下命令,直连目标数据库

RMAN TARGET user/password@net_service_name [NOCATALOG]

或者先启动命令执行器,再通过以下命令连接

CONNECT TARGET | CATALOG user/password@net_service_name [NOCATALOG]

参数说明:

–TARGET:目标数据库

–CATALOG:连接恢复目录数据库

–net_service_name:如果是远程数据库,须指明服务名

–NOCATALOG:表示不使用恢复目录保存档案资料库信息,档案资料库信息保存在目标数据库的控制文件中

例子 1. 直接使用 rman 连到目标数据库

 

PS C:\Users\13842> rman target sys/sys@orcl

恢复管理器: Release 11.2.0.1.0 – Production on 星期六 6 月 3 14:06:25 2017

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

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

 

例子 2. 先启动 rman,再连接到目标数据库

 

PS C:\Users\13842> RMAN
RMAN> connect target sys/sys@orcl

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

RMAN>

 

 

(2)启动与关闭数据库

在 RMAN 中,可以直接启动和关闭数据库,其操作与 SQL*Plus 中相同。

 

C:\> set ORACLE_SID=orcl

C:\> RMAN TARGET sys/sys

RMAN > SHUTDOWN IMMEDIATE

RMAN > STARTUP MOUNT

RMAN > ALTER DATABASE OPEN;

 

 

(3)在 RMAN 中执行 SQL 语句

如果要在使用 RMAN 时执行 SQL 或 PL/SQL 语句,可以不退出 RMAN 工具,直接在 RMAN 中执行。首先在 RMAN 提示符后输入 SQL 命令,然后再将要执行的 SQL 语句用单引号或双引号引起来,最后输入分号即可执行该 SQL 语句。

在 RMAN 中执行 SQL 语句需要注意:

–STARTUP、SHUTDOWN 等命令可直接执行,不需先输入 SQL 命令,因为这些命令已经被制成 RMAN 的命令了;

–RMAN 中不能执行 SELECT 语句;

– 如果 SQL、PL/SQL 语句包含单引号,需要在每个单引号之前再加一个单引号;

例子 3. 将当前重做日志归档

RMAN> SQL ‘alter system archive log current’;

sql 语句: alter system archive log current

 

(4)show 命令

可以使用 show all 在当前会话中所有 RMAN 预定义的配置参数的设置情况。

RMAN > show all;

也可以在 show 后面加上参数名称来查看指定参数的配置情况。

RMAN > show default device type;

 

(5) CONFIGURE 命令

1. 对于 RMAN 中预定义的参数,可以使用 CONFIGURE 命令进行重新设置:

RMAN > CONFIGURE DEFAULT DEVICE TYPE TO sbt;

修改后的参数,查看其值时,后面的注释“#default”会消失。

2. 如果要将某个参数恢复到默认值,只需在 CONFIGURE 命令后指定 CLEAR 关键字即可:

RMAN > CONFIGURE DEFAULT DEVICE TYPE CLEAR;

 

(6) LIST 命令

LIST 命令用来查看 RMAN 生成的备份信息,包含备份集及其包含的数据文件列表信息、镜像复制的备份信息等。

1.列出数据库中所有文件的备份信息

RMAN > LIST BACKUP OF DATABASE;

2. 列出指定表空间的备份信息

RMAN > LIST COPY OF TABLESPACE users;

3. 列出指定数据文件的备份信息

RMAN > LIST BACKUP OF DATAFILE‘D:\DISK1\USERS01.DBF’;

 

(7) REPORT 命令

REPORT 命令是一个报表命令,用于从 RMAN 档案资料库中获取信息并对其进行分析,帮助管理员对备份和恢复操作进行决策。

1. 用 REPORT SCHEMA 命令获取目标数据库中的模式结构。例如:

RMAN > REPORT SCHEMA;

2. 利用 REPORT OBSOLETE 命令获取根据当前备份策略可以废弃的备份信息。

RMAN > REPORT OBSOLETE;

3.利用 REPORT NEED BACKUP 命令获取根据当前备份策略需要进行备份的文件。

RMAN > REPORT NEED BACKUP;

RMAN(Recovery Manager)是 Oracle 恢复管理器的简称,是集数据库备份(backup)、修复(restore)和恢复(recover)于一体的工具。接下来了解一下 RMAN 中的几个重要概念。

(1)RMAN 档案资料库

RMAN 档案资料库用于存储数据库备份、修复以及恢复操作时所需要的信息。这些信息包括从目标数据库控制文件获取的数据库物理结构信息,以及 RMAN 备份与恢复过程中生成的信息。RMAN 档案资料库可以保存在目标数据库的控制文件中,也可以保存在一个独立的恢复目录数据库的恢复目录中。

(1.1)将 RMAN 档案资料库保存在控制文件中

控制文件包括不可重用的记录和可重用的记录,不可重用的记录主要是数据文件、联机重做日志文件等不经常变化的、关键性的信息;可重用的是记录数据库运行过程中不断生成的信息,包括重做日志文件的历史信息、已归档的重做日志文件的历史信息、备份信息等。

(1.2)将 RMAN 档案资料库保存在恢复目录中

如果要使用恢复目录保存 RMAN 档案资料库,需要先创建一个独立于目标数据库的恢复目录数据库,专门用来存储和管理 RMAN 档案资料库信息。一个恢复目录可以被多个目标数据库使用,只要将目标数据库注册到恢复目录中即可。

RMAN 恢复目录主要包括以下信息:

– 目标数据库的数据文件与归档重做日志文件的备份信息;

– 目标数据据库数据文件的镜像复制信息;

– 目标数据库中表空间与数据文件的关系;

– 存储用户建立的 RMAN 脚本,可以重复使用;

– 永久性的 RMAN 预定义配置参数信息。

(2)RMAN 通道

在 RMAN 中进行任何类型的备份、修复或恢复操作时,都需要为这些操作分配通道,一个 RMAN 通道表示到一个存储设备的数据流,对应目标数据库的一个进程,由服务器进程来完成数据库的备份与恢复工作。RMAN 支持的通道设备类型包括磁盘(Disk)与 SBT(System Backup To Tape)。SBT 是指第三方介质管理器管理与控制的存储备份,主要是磁带库和磁带驱动器。

(3)RMAN 预定义配置参数

RMAN 环境中有一系列的预定义配置参数,又称为 RMAN 环境变量,自动作用于所有的 RMAN 会话。可以使用 show all 命令查看预定义参数的配置

RMAN> show all;

使用目标数据库控制文件替代恢复目录
db_unique_name 为 ORCL 的数据库的 RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;              #设置备份保留策略
CONFIGURE BACKUP OPTIMIZATION OFF; # default              #启用或禁用优化功能
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default          #设置默认的备份类型
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default          #设置控制文件自动备份
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘%F’; # default              #控制文件自动备份的格式
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default                #设置备份并行度
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default                        #设置数据文件备份集的副本数量
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default                      #设置归档重做日志文件备份集的数量
CONFIGURE MAXSETSIZE TO UNLIMITED; # default                  #设置备份集的最大尺寸
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default              #设置启用加密功能
CONFIGURE ENCRYPTION ALGORITHM ‘AES128’; # default            #如果启用加密功能,设置采用的加密算法
CONFIGURE COMPRESSION ALGORITHM ‘BASIC’ AS OF RELEASE ‘DEFAULT’ OPTIMIZE FOR LOAD TRUE ; # default              #设置备份的压缩算法
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default      #设置归档重做日志文件备份后的处理策略
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘/home/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f’; # default  #设置控制文件快照

可预先对这些参数进行配置,设置后的结果作用于所有 RMAN 会话,也可以在数据库备份与恢复过程中,对特定的参数进行配置。

接下来将对 RMAN 中的常用操作进行学习。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-10/147357p2.htm

(1)备份对象

可以使用 RMAN 进行的备份对象如下:

– 整个数据库:备份所有的数据文件和控制文件;

– 数据文件:备份指定的一个或多个数据文件;

– 表空间:备份指定的一个或多个表空间;

– 归档重做日志文件:备份归档重做日志文件;

– 控制文件:在线备份目标数据库当前的控制文件;

– 服务器初始化参数文件:备份目标数据库的服务器初始化参数文件;

– 数据文件的镜像复制:备份使用 BACKUP AS COPY 命令创建数据文件的镜像复制;

– 控制文件的镜像复制:备份使用 BACKUP AS COPY 命令创建控制文件的镜像复制;

– 备份集:备份使用 BACKUP 命令创建的备份集。

使用 RMAN 对不同对象的备份形成的结果是一个或多个备份集或镜像文件,默认是备份集。

(2)备份形式

在 RMAN 中,备份分为镜像复制和备份集两种。

– 镜像复制是对数据文件、控制文件和归档重做日志文件进进行精确复制,镜像复制文件与原文件大小相同,原文件中未使用的数据块也被复制到备份文件中。只有备份介质为磁盘时,才能进行镜像复制。

– 备份集是 RMAN 创建的一个具有特定格式的逻辑对象,一个备份集在物理上由一个或多个 RMAN 指定格式的二进制文件组成。每一个备份文件称为一个备份片段(Backup Piece)。

(3)RMAN 备份类型

基于 RMAN 的备份有多种备份类型,包括一致性备份与不一致性备份、数据库打开状态下的备份与关闭(指启动到 mount 状态)状态下的备份、完全备份与增量备份等。一致性备份是指数据库关闭后加载到 mount 状态,然后开始备份,利用一致性备份修复数据库后不需要进行恢复操作;不一致性备份是指数据库在打开或非正常关闭情况下的备份,利用不一致性修复数据库后还需进行恢复操作。这里我们着重介绍完全备份与增量备份。

(3.1)完全备份

完全备份的概念:RMAN 中的完全备份(FULL Backup)不是指对整个数据库进行完全备份,而是对数据文件进行备份时,不管数据文件中的数据块是否被修改都复制到备份中。

(3.2)增量备份

增量备份的概念:RMAN 中的增量备份(Incremental Backup)是指备份数据文件时,只备份上次增量备份后被修改过的数据块,因此,增量备份要比完全备份小得多,但增量备份的时间不一定比完全备份的时间短,因为增量备份也要读取数据文件中所有的数据块

根据增量备份所参照的基础不同,增量备份又分为差异增量备份(Differential Incremental Backup)和累积增量备份 (Cumulative Incremental Backup) 两种。

  • 差异增量备份:以最近级别为 0 或 1 的增量备份为基础,复制所有被修改过的数据块。默认为差异增量备份。
  • 累积增量备份:以最近级别为 0 的增量备份为基础,复制所有被修改过的数据块。

例子 1. 差异增量备份

如果每周周日对数据库做级别为 0 的增量备份, 即备份数据库中所有被使用的数据块,其余每天对数据库做差异增量备份,即周一备份相对周日的增量备份发生数据变化的数据块,周二备份相对于周一的增量备份发生数据变化的数据块,…,以此类推。备份策略应该如下图:

RMAN 备份与恢复

例子 2. 累积增量备份

如果每周周日对数据库做级别为 0 的增量备份, 即备份数据库中所有被使用的数据块,其余每天对数据库做累积增量备份,即周一备份相对周日的增量备份发生数据变化的数据块,周二也备份相对于周日的增量备份发生数据变化的数据块,…,以此类推。备份策略应该如下图:

RMAN 备份与恢复

(4)并行备份

默认情况下,RMAN 在创建备份集时只会使用一个通道向一个磁盘或磁带中写入数据,如果要备份的文件较多,可以启动多个通道同时向多个磁盘写入数据,即并行备份。

可以通过以下几种方式启用并行备份:

– 使用 CONFIGURE DEVICE TYPE disk/sbt 命令将 PARALLELISM 参数设置大于 1

– 在执行 BACKUP 命令之前手动分配多个通道,然后在 BACKUP 命令中设置 FILESPERSET 参数,这样在备份时 RMAN 会根据参数设置备份集的数量,使用手动分配的通道进行并行备份。

(5)通道分配

在使用 RMAN 对目标数据库进行备份、修复、及恢复时,必须为操作系统分配通道。可以手动分配,也可以自动分配。

(5.1)自动分配

自动分配通道相关预定义参数包括:

–CONFIGURE DEFAULT DEVICE TYPE TO disk|sbt:指定自动通道的默认设备;

–CONFIGURE DEVICE TYPE disk|sbt PARALLELISM n:设置自动通道的数量;

–CONFIGURE CHANNEL DEVICE TYPE:对自动分配的所有通道进行设置;

–CONFIGURE CHANNEL n DEVICE TYPE:对自动分配的通道编号为 n 的进行设置。

(5.2)手动分配

可以使用 RUN 命令手动分配通道,语法为:

RUN{
ALLOCATE CHANNEL 通道名称 DEVICE TYPE 设备类型;
BACKUP …
}

例子. 为 user01 表空间的备份分配一个通道,设备类型为磁盘

RUN{ALLOCATE CHANNEL ch1 DEVICE TYPE disk FORMAT‘/home/%U’;
BACKUP TABLESPACE usre01;
}

在 RMAN 命令执行器中,单独执行 BACKUP 命令时,使用自动分配的通道,在 RUN 内使用 BACKUP 命令,但没有手动分配通道,则使用自动分配的通道。

可以同时定义多个通道并行备份数据库,例如,使用 2 个通道并行备份两个数据文件。

RMAN > RUN {
ALLOCATE CHANNEL ch1 DEVICE TYPE disk;
ALLOCATE CHANNEL ch2 DEVICE TYPE disk;
BACKUP DATAFILE 1,2;
}

如果每个 BACKUP 语句只对应一个数据文件,则在同一时间只有一个数据文件备份,只有一个通道被激活。

RMAN > RUN{
ALLOCATE CHANNEL ch1 DEVICE TYPE disk1;
ALLOCATE CHANNEL ch2 DEVICE TYPE disk1;
BACKUP DATAFILE
1;
BACKUP DATAFILE
2;
}

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/147357.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计8837字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中