RMAN概述及其体系结构

1 Recovery Manager(RMAN)特性

是一种用于集备份(backup)、还原(restore)和恢复(recover)数据库于一体的Oracle 工具,支持命令行及图形界面操作

能够备份整个数据库、表空间、数据文件、控制文件、归档文件以及Spfile参数文件。

支持增量数据块级别的备份和块级别的介质恢复

可以保存频繁执行的备份恢复脚本

可以实现数据库的克隆、使用RMAN建立备用数据库

支持镜像备份与备份集,可以备份到磁盘与磁带

管理备份与恢复任务

可增加备份并发度或限制I/O减少备份给数据库带来的影响

在备份期间检查损坏的数据块

支持在备份期间使用压缩特性来减少磁盘空间的占用

2 RMAN组件

1.RMAN可执行程序

在Windows操作系统中为rman.exe,在Unix系统中为rman

程序所在位置:$ORACLE_HOME/bin

a.进程与内存要求

更多的进程的需要

大池的分配

b.基本环境变量需求

ORACLE_SID,ORACLE_HOME,PATH,NLS_LANG,对基于时间的备份与恢复,需要另外设置NLS_DATE_FORMAT

c.权限要求

需要sysdba系统权限

如果是本地,也可以采用OS认证,远程需要采用密码文件认证

d.版本要求

RMAN工具版本与目标数据库必须是同一个版本。如使用恢复目录    还需要注意

创建rman恢复目录的脚本版本必须大于或等于恢复目录所在数据库的版本

创建rman恢复目录的脚本版本必须大于或等于目标数据库版本

e.注意Linux中有两个RMAN

[[email protected] ~]# find / -name rman

/usr/X11R6/bin/rman   #--非oracle的rman命令

/u01/app/oracle/10g/oc4j/j2ee/oc4j_applications/applications/em/em/database/rman

/u01/app/oracle/10g/oc4j/j2ee/oc4j_applications/applications/em/em/WEB-INF/perl/db/rman

/u01/app/oracle/10g/bin/rman  #--oracle中的rman命令

/u01/app/oracle/10g/sysman/admin/scripts/db/rman

根据变量PATH的设置,哪个在前,则优先使用在前面的命令

解决办法:修改PATH变量,即将.bash_profile文件PATH项中$ORACLE_HOME/bin放在$PATH之前

[[email protected] ~]$ echo $PATH  #--修改前

/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:/u01/app/oracle/10g/bin

[[email protected] ~]$ echo $PATH  #--修改后

/u01/app/oracle/10g/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin

2.目标数据库

目标数据库即指想要备份、还原与恢复的数据库。RMAN可执行程序一次只能连接一个数据库

目标数据库的控制文件存储了RMAN所需的信息(存储仓库使用控制文件时),RMAN通过读取控制文件来确定目标数据库的物理结构,

要备份的数据文件的位置,归档信息等,在使用RMAN时会对控制文件进行更新。

3.服务器进程与通道

RMAN可从从远程或本地通过普通的服务器会话与调用PL/SQL连接到实例,RMAN启动后会产生一个普通的服务器进程

一旦备份与还原操作启动,则RMAN会根据配置启用一个或多个通道

通道简言之即是完成文件复制工作的的服务器进程,多通道则实现了并行执行操作

通道分为备份或还原到磁盘的磁盘通道(disk channel)、备份还原到磁带的磁带通道(SBT),可以自动或手动分配通道

4.存储仓库

存储了与目标数据库及其备份相关的元数据

包含目标数据库物理结构的详细信息、数据文件的位置

已完成的所有备份的细节

RMAN的永久配置信息

存储仓库始终被存储在目标数据库的控制文件内,或存储在恢复目录内(一个单独的Oracle数据库)

参数control_file_record_keep_time决定了控制文件里可重复使用的记录所能保存的最小天数

当一条新的记录需要添加到可重用记录的空间时,并且最老的记录在可重用记录空间中还没有老化,即实际保留的天数未超过

这个参数规定的天数,则控制文件中可重用记录部分的空间将被自动扩展,此时控制文件尺寸将会变大。

5.恢复目录

可以将目标数据库的备份恢复,元数据等相关信息写入到一个单独的数据库,这个单独的数据库即为恢复目录

恢复目录可以存储RMAN脚本,而非恢复目录情况下,则备份恢复脚本存储为操作系统文件

恢复目录的内容通常包括,数据文件、归档日志备份集,备份片,镜像副本、RMAN存储脚本,永久久的配置信息等

建议将恢复目录放置到与目标数据库不同的主机之上

6.支持介质管理库

介质管理库用于RMAN从磁带进行备份与还原

RMAN支持主流的磁带库设备与软件(IBM,Hewlett Packard)

7.辅助数据库(Standby Database $ duplicate database)

Standby Database:是目标数据库的一个副本,使用目标数据库(主数据库)archived log将其更新,不具有唯一的DBID

rman 可以创建或备份Standby Database,可用于主数据库的故障转移

duplicate database:是目标数据库的一个副本或子集,且拥有唯一的DBID,从而独立于主数据库

能够在相同的恢复目录内作为一个主数据库注册,通常用于测试目的

TSPITR(tablespace point-in-time recovery):表空间时点恢复,将一个或多个表空间恢复到非当前状态,而其它表空间保留当前状态

8.备份目的地

默认的备份目的地为闪回区,$ORACLE_BASE/flash_recovery_area/

可以设置参数DB_RECOVERY_FILE_DEST参数和DB_RECOVERY_FILE_SIZE进行调整

9.通道与通道分配,请参考:RMAN 配置、监控与管理

3使用RMAN连接到数据库

1.RMAN使用时需要考虑的问题

资源:共享内存,更多的进程

权限:授予用户sysdba权限,OS访问设备的权限

远程操作

设置密码文件

确保密码文件被备份

全球化环境变量设置

在RMAN命令行格式化时间参数

2.连接类型

目标数据库

恢复目录数据库,缺省情况下RMAN运行在非恢复目录数据库

辅助数据库

Standby database

Duplicate database

TSPITR instance

4.连接目标数据库或恢复目录

--不连接数据库仅启动rman

[[email protected] ~]$ rman

--使用操作系统认证连接到目标数据库

Unix: $ ORACLE_SID = orcl; export ORACLE_SID

$ rman target /

Win:   C:/> set oracle_sid = orcl

C:/> rman target /

--从命令行连接到目标数据库和恢复目录

% rman target / catalog rman/[email protected]  --使用OS认证,第二个rman为恢复目录的schema

% rman target sys/[email protected] catalog rman/[email protected]  --使用Oracle Net 认证

--从rman提示符连接到目标数据库和恢复目录

% rman

RMAN> connect target /                   --使用OS认证

RMAN> connect catalog rman/[email protected]

% rman

RMAN> connect target sys/[email protected]     --使用Oracle Net 认证

RMAN> connect catalog rman/[email protected]

--命令行连接到辅助数据库

% rman auxiliary sys/[email protected]

% rman target sys/[email protected] auxiliary sys/[email protected] catalog rman/[email protected]

--从rman提示符连接辅助数据库

% rman

RMAN> connect auxiliary sys/[email protected]

% rman

RMAN> connect target sys/[email protected]

RMAN> connect catalog rman/[email protected]

RMAN> connect auxiliary sys/[email protected]

--其它

远程连接

rman target sys/[email protected]

rman target / nocatalog   等同于rman target /

--rman命令行参数

输出到日志文件

$ rman target sys/oracle

log = $ORALCE_HOME/oradata/log/rman.log append

执行命名文件

$ rman target sys/oracle

cmdfile = $ORACLE_HOME/scirpts/my_rman_script.rcv

$rman target sys/[email protected] @‘$ORACLE_HOME/scirpts/my_rman_script.rcv‘

4 RMAN命令

RMAN 命令分类

单命令

仅仅在RMAN提示符下执行

单独被执行

不能够作为RUN的子命令

如backup database

下列命令不能用作批命令来使用

CONNECT

CONFIGURE

CREATE CATALOG, DROP CATALOG, UPGRADE CATALOG

CREATE SCRIPT, DELETE SCRIPT, REPLACE SCRIPT

LIST

REPORT

批命令

在RUN命令中用括号括起来使用,常用的批命令为allocate channel,set newname for datafile,release channel,switch,set等

作为一个组被执行

如:

RMAN> RUN {

2> backup incremental level 0

3> format ‘/u01/app/oracle/bak/%d_%s_%p‘

4> fileperset 5(database include current controlfile);

5> sql ‘alter databaes archive log current ‘;}

混合的独立和作业命令

时间: 2024-10-28 20:59:13

RMAN概述及其体系结构的相关文章

RMAN 概述及其体系结构

-========================= -- RMAN 概述及其体系结构 --========================= 一.Recovery Manager(RMAN)特性 是一种用于集备份(backup).还原(restore)和恢复(recover)数据库于一体的Oracle 工具,支持命令行及图形界面操作 能够备份整个数据库.表空间.数据文件.控制文件.归档文件以及Spfile参数文件. 支持增量数据块级别的备份和块级别的介质恢复 可以保存频繁执行的备份恢复脚本 可

RMAN_学习笔记1_RMAN概述和体系结构

2014-12-23 Created By BaoXinjian 本文转载乐沙弥大神 一.摘要 是一种用于集备份(backup).还原(restore)和恢复(recover)数据库于一体的Oracle 工具,支持命令行及图形界面操作 能够备份整个数据库.表空间.数据文件.控制文件.归档文件以及Spfile参数文件. 支持增量数据块级别的备份和块级别的介质恢复 可以保存频繁执行的备份恢复脚本 可以实现数据库的克隆.使用RMAN建立备用数据库 支持镜像备份与备份集,可以备份到磁盘与磁带 管理备份与

RMAN_学习笔记1_RMAN Structure概述和体系结构

2014-12-23 Created By BaoXinjian 一.摘要 是一种用于集备份(backup).还原(restore)和恢复(recover)数据库于一体的Oracle 工具,支持命令行及图形界面操作 能够备份整个数据库.表空间.数据文件.控制文件.归档文件以及Spfile参数文件. 支持增量数据块级别的备份和块级别的介质恢复 可以保存频繁执行的备份恢复脚本 可以实现数据库的克隆.使用RMAN建立备用数据库 支持镜像备份与备份集,可以备份到磁盘与磁带 管理备份与恢复任务 可增加备份

linux 下RMAN备份shell脚本

RMAN备份对于Oracle数据库的备份与恢复简单易用,成本低廉.对于使用非catalog方式而言,将RMAN脚本嵌入到shell脚本,然后再通过crontab来实现中小型数据库数据库备份无疑是首选.本文提供了一个简单易用的基于linux shell下的RMAN备份脚本供参考.大家可根据自己的需要进行适当调整. RMAN备份相关方面的知识较多,可以参考:    RMAN 概述及其体系结构    RMAN 配置.监控与管理    RMAN 备份详解    RMAN 还原与恢复    RMAN ca

使用RMAN迁移文件系统数据库到ASM

--================================== -- 使用RMAN迁移文件系统数据库到ASM --================================== 在实际的工作过程中,由于ASM磁盘管理的便利性,因此很多时候需要将文件系统的数据库迁移到ASM,本文演示了如何将文件系统数据库迁移到ASM实例. 有关如何创建ASM实例及ASM磁盘管理请参考 创建ASM实例及数据库 ASM 磁盘组及磁盘的管理 使用 ASMCMD 工具管理ASM实例 一.主要步骤(假定AS

RMAN 备份详解

--====================== -- RMAN 备份详解 --====================== 一.数据库备份与RMAN备份的概念 1.数据库完全备份:按归档模式分为归档和非归档 归档模式 打开状态,属于非一致性备份 关闭状态,可以分为一致性和非一致性 非归档模式 打开状态,非一致性备份无效 关闭状态,一致性备份,非一致性备份不被推荐 2.RMAN备份 RMAN使用服务器会话来完成备份操作,从RMAN客户端连接到服务器将产生一个服务器会话 RMAN备份内容包括:整个

RMAN duplicate from active 时遭遇 ORA-17627 ORA-12154

最近在从活动数据库进行异机克隆时碰到了ORA-17629,ORA-17627,ORA-12154的错误,起初以为是一个Bug呢.Oracle Bug着实太多了,已经成了习惯性思维了.汗!错误提示是无法连接到连接到远程数据库,连接字符串无法解析.咦,配置了从auxiliary DB到target DB的tnsnames,且都是连通的阿......   1.故障现象     --下面的操作在auxiliary DB所在的机器上完成     [[email protected] ~]$ export

Oracle 闪回特性(FLASHBACK DATABASE)

--===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --===================================== 闪回技术通常用于快速简单恢复数据库中出现的认为误操作等逻辑错误,从闪回的方式可以分为基于数据库级别闪回.表级别闪回.事务 级别闪回,根据闪回对数据的影响程度又可以分为闪回恢复,闪回查询.闪回恢复将修改数据,闪回点之后的数据将全部丢失.而闪回查询则可 以查询数据被DML的

使用yum快速部署Oracle安装环境(11g)

基于Linux安装过Oracle的童鞋们都应该清楚,安装Oracle的确是一件比较费时费力的差事,因为仅仅是前期的rpm包,内核参数,创建用户等等这些个步骤都让那些新手不免眼花缭乱,一不留神,就导致最终的安装过程中报错而不得不从头来过.现在基于Oracle Linux,Oracle仅仅需要通过安装oracle-rdbms-server-11gR2-preinstall RPM包即可全部搞定其余未安装的RPM包,解决之间的依赖关系,配置内核参数等等.客官,正在基于Oracle Linux 安装Or