共计 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 的增量备份, 即备份数据库中所有被使用的数据块,其余每天对数据库做差异增量备份,即周一备份相对周日的增量备份发生数据变化的数据块,周二备份相对于周一的增量备份发生数据变化的数据块,…,以此类推。备份策略应该如下图:
例子 2. 累积增量备份
如果每周周日对数据库做级别为 0 的增量备份, 即备份数据库中所有被使用的数据块,其余每天对数据库做累积增量备份,即周一备份相对周日的增量备份发生数据变化的数据块,周二也备份相对于周日的增量备份发生数据变化的数据块,…,以此类推。备份策略应该如下图:
(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 语句只对应一个数据文件,则在同一时间只有一个数据文件备份,只有一个通道被激活。
ALLOCATE CHANNEL ch1 DEVICE TYPE disk1;
ALLOCATE CHANNEL ch2 DEVICE TYPE disk1;
BACKUP DATAFILE1;
BACKUP DATAFILE2;
}
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/147357.htm