ITPub博客

首页 > 数据库 > Oracle > 1 配置RMAN

1 配置RMAN

原创 Oracle 作者:piedra1130 时间:2014-01-23 11:04:57 0 删除 编辑

1      配置RMAN

Objectives

checklist

Describe the RMAN repository and recovery catalog

记录在控制文件中的备份信息,采用recovery catalog形式的实例,存放的也是备份信息

Describe the Media Management Library interface

Configure database parameters that affect RMAN operations

Connect to the three different types of databases by using RMAN

Configure two types of retention policies

Change RMAN default settings with CONFIGURE

1.1      RMAN特征

-          可备份data files,control file和archived redo logs

-          管理备份恢复任务

-          执行增量级别备份和介质恢复(Perform incremental block-level backup and block-level media recovery)

-          Detect corrupted blocks during backup

-          在创建备份时采用二进制压缩


1.2      RMAN 组件

1.    Recovery Manager executable: 通过RMAN客户端调用RMAN命令行。RMAN编译用户命令行和调用server session执行想要的任务

2.    EM: EM提供可视化界面管理RMAN

3.    Server sessions通过PL/SQL接口,RMAN通过服务端进程调用目标数据库执行备份,修复和恢复功能。这些sessions从磁盘,磁带或FRA读写文件。这些位置被定义为恢复时默认的存储区域。

4.    target database目标数据库包括物理结构(例如数据文件存储位置和大小,在线和归档日志,控制文件)。这些信息被server session调用用于RMAN的备份与恢复操作。

5.    Auxiliary database这个辅助数据库用于创建一个镜像数据库或执行tablespace point-in-time recovery(TSPITR). 辅助数据库可以放在同一台主机上作为它的父节点或在其他主机上。

6.    Channel一个channel代表通往一个设备的数据量。在执行备份恢复操作时,RMAN要求连接target database。通过在target database创建一个session,可以连接主机文件系统(接口disks)和media management library(接口tapes)。这个channel可以手动分配或通过automatic channel allocation预配置。

7.    RMAN repository:在RMAN repository中,RMAN 维护的元数据包括target database和它的备份恢复操作。以及保存配置信息,schema,archived redo logs和其他备份文件。RMAN repository数据总是存在数据库的control file中。

a)      Recovery catalogRMAN repository的数据可以有选择地存放在恢复目录,这是一个单独的Oracle数据库。

b)     Media Management Library:用于读写磁带。

1.3      配置RMAN的步骤

1.   决定repository的位置:control file或recovery catalog?

2.   定义数据库和环境变量

3.   打开RMAN且连接目标数据库(+recovery catalog databases)

4.   配置persistent settings

1.4      RMAN Repository数据存储比较


Control file

Recovery catalog

易于管理

control file数据备份

默认

给数据更多的空间

 

可以服务多个目标数据库

 

可以存储RMAN脚本

*对于小型安装的数据库,recovery catalog不推荐。

 

1.5      如何设置recovery catalog

1.    创建一个数据库用于recovery catalog或用一个已存在的数据库做recovery catalog

2.     在recovery catalog数据库中创建一个用户。

$ sqlplus sys/password@catdb as sysdba

SQL> CREATE USER rman IDENTIFIED BY cat

2  TEMPORARY TABLESPACE temp

3  DEFAULT TABLESPACE rcat_ts

4  QUOTA UNLIMITED ON rcat_ts;

 

SQL> GRANT UNLIMITED ON rcat_ts TO rman;

 

3.    授权rman用户所需维护和查询recovery catalog权限

GRANT RECOVERY_CATALOG_OWNER TO rman;

4.    以catalog owner身份登录RMAN

$ rman catalog rman/cat@catdb

RMAN> CREATE CATALOG TABLESPACE rcat_ts;

5.    用RMAN连接目标数据库,且注册最新创建的recovery catalog、

$ rman target sys/oracle@orcl catalog rman/cat@catdb

RMAN> register database;

*备份数据库重要步骤。

1.6      Backup Destinations

备份文件可被写到:

l  磁盘目录

l  MML(tape):典型用于容灾恢复,当磁盘备份丢失时

l  FRA:

-          用于备份恢复,闪回数据库

-          自定义路径和大小

-          OMF(Oracle managed files)自动命名文件

-          文件自动保留和在必要时删除

 

1.7      Media Management


 

1.7.1     media management简介

media management是一个用于loads,labels和unloads sequential media的工具,例如tape drives用于备份,修复和恢复数据。Oracle调用MML软件例行备份和还原数据文件,并从media manager控制。

一些media management产品可以完全管理在数据文件和备份设备之间的所有数据。

有些产品可以用高速连接的方式控制storage和media subsystems,以便从主数据库降低负载

注意:在备份到磁盘的时候,oracle数据库不需要连接media management library。

oracle backup solutions program(BSP)提供了一系列兼容MML特性的media management产品。

使用带Media manager的RMAN,必须安装media manager软件,并且连接RMAN. (这个过程应该由media vendor提供文档)

在使用带Media manager的RMAN,需要确认如下步骤:

1. 安装配置media management软件在目标主机上

2.确保可以采用非RMAN方式备份操作系统文件

3.获取第三方media management组件,组件必须包含for oracle的library

1.7.2     使用media manager备份恢复

run {

# Allocating a channel of type 'sbt' for serial device

ALLOCATE CHANNEL ch1 DEVICE TYPE sbt;

BACKUP DATAFILE 3;

}

备份操作

1. Recovery Manager发送一个备份请求到oracle session去执行备份。

2. oracle session把输出channel识别为一个media management设备

3. 请求media manager去加载一个tape并且写入信息。

4. media manager标记并且追踪这个tape和每个tape上的文件名

修复操作

1.   oracle请求修复某一个文件

2.   media manager读取已写了这个文件的tape

3.   media manager把信息传递给oracle session

4.   oracle把文件写入disk

1.8      RMAN配置FRA


1.      使用FRA可以简化管理磁盘空间和相关的备份与恢复

2.      RMAN自动生成文件名,不需要手动指定

3.      RMAN通过OMF(oracle managed files)管理备份文件

4.      每次RMAN在FRA上创建一个文件,oracle则会更新disk上不再使用的文件列表;当文件需要写入FRA,但空间不足时,oracle会删除那些在废弃列表上的文件并且通知alert log。

5.      当FRA有空间压力或者空间低但没有可删除的文件时,会产生一个警告。

解决方式:

-       加磁盘空间

-       备份文件到第三方设备

-       使用RMAN从FRA上删除文件

-       修改RMAN保留策略

6.      通过设置DB_RECOVERY_FILE_DEST和DB_RECOVERY_FILE_DEST_SIZE定义FRA大小

DB_RECOVERY_FILE_DEST = '/u01/oracle/fra'

DB_RECOVERY_FILE_DEST_SIZE = 2G

7.      默认情况下,RMAN自动配置备份文件到FRA(如果仅有一个配置)

NOTES: FRA可以放在ASM下,FRA也可以用于oracle cluster file storage 或者任意本地存储。

1.8.1     FRA空间使用率

1.   为了避免FRA空间超限,应该避免存储用户管理的文件在这个区域。适当采用如下步骤:

A.    使用RMAN删除非必要文件

B.    使用RMAN频繁备份

C.    把RMAN保留备份时间设置小一点

D.    修改RMAN归档日志删除策略

E.    增加磁盘空间,增加DB_RECOVERY_FILE_DEST_SIZE的值

举例,在FRA备份归档日志并且在备份成功后删除这些文件,需要执行:

BACKUP ARCHIVELOG ALL DELETE ALL INPUT;

在归档日志已经被备份且移出磁盘时,使用RMAN的CROSSCHECK和DELETE命令确认一下归档日志空间。在每次日常维护或者每次备份之后操作。

1.8.2     V$FLASH_RECOVERY_AREA_USAGE视图

通过此视图查看FRA磁盘空间使用率

SELECT file_type,

       percent_space_used AS used,

       percent_space_reclaimable AS reclaimable,

       number_of_files AS numbers

  FROM v$flash_recovery_area_usage;

PERCENT_SPACE_RECLAIMABLE :表示包含过期或冗余或已备份到第三方设备文件的比率

1.8.3     备份FRA

RMAN> BACKUP RECOVERY AREA;

备份当前FRA,文件包含full and incremental backup sets, control file autobackups, archive logs, and data file copies。(不含Other files such as flashback logs, incremental bitmaps, current control file, and online redo log files are not backed up.)

RMAN> BACKUP RECOVERY AREA;

备份当前DISK

1.9      使用FRA的好处

1.10   设置影响RMAN的参数

?    Database initialization parameters

– CONTROL_FILE_RECORD_KEEP_TIME

l   定义在被覆盖之前,RMAN信息被保存在控制文件中最少天数;值越低被覆盖越快,从而最大限度地减少控制文件的增长。

l   如果使用recovery catalog,这个参数应该被关闭。

l   该参数仅用于可循环利用的记录(例如archive log records and various backup records),不适用于such as data file, tablespace, and redo thread records等这些永不会重复利用除非相应对象被drop掉。

l   默认值为7天。

– DB_RECOVERY_FILE_DEST and DB_RECOVERY_FILE_DEST_SIZE , if using the flash recovery area

DB_RECOVERY_FILE_DEST是动态分配的,但可重新定义

?    Environment variables

– NLS_DATE_FORMAT

– NLS_LANG

这两个环境变量决定了RMAN命令使用时间的格式。

1.11   RMAN使用注意事项

l  Shared resources on the system:(系统上的共享资源)

多数RMAN的工作通过oracle进程执行。通过增长并行度可以提高吞吐量。这就意味着PROCESSES参数必须足够高,对于操作系统而言,意味着必须增加shared memory和信号量

l  Users performing privileged operations:(用户执行权限)

l  Remote operations:(远程操作)

需要password file连接目标数据库并通过oracle net执行操作

l  Use of the recovery catalog:(使用恢复目录)

在维护多个目标数据库时,采用recovery catalog, RMAN可以执行自动备份与恢复.但是使用recovery catalog会使用更多存储空间和维护成本.

1.12   RMAN的连接类型


 

target database:

RMAN使用SYSDBA权限连接target database

recovery catalog database:

可选数据库.用于查询备份信息或备份脚本

auxiliary database:

-使用RMAN DUPLICATE命令创建

-用于tablespace point-in-time恢复时的临时数据库

-一个standby数据库或用于容灾

1.13   启动RMAN

1.14   本地启动

$ ORACLE_SID=DB01; export ORACLE_SID

$ rman target /

远程启动

rman target sys/password@DB01

不带recovery catalog的启动

$ rman target / nocatalog

 

1.15   其他的RMAN命令行

1.   把RMAN输出到一个日志文件中

$ rman TARGET sys/oracle LOG=$HOME/oradata/u03/rman.log APPEND

2.   调用RMAN脚本

$ rman TARGET sys/oracle CMDFILE=$HOME/scripts/my_rman_script.rcv

3.   在RMAN启动时确定数据库的连接

$ rman TARGET SYS/sys_pwd@orcl CATALOG rman/rman@rcat

1.16   配置RMAN永久设置

1.17   控制文件自动备份

如果运行RMAN于NOCATALOG模式,强烈推荐激活自动备份控制文件

启动控制文件开关:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN自动备份控制文件,且spfile处于如下两种情况:

l  在RMAN repository中记录成功的备份

l  数据库结构的改变影响控制文件的内容,因此需要备份

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/opt/oracle/oradata/cf_onesdp_auto_%F';

 

1.18   保留策略

1.18.1  Recovery windows(基于时间的备份保留策略)


SYSDATE - checkpoint_time <= recovery_window

1.   希望数据库最早能恢复到N天前:

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

 

SYSDATE - (SELECT checkpoint_time FROM V$DATAFILE WHERE file#= …) >= 7

文件1不需要备份,文件2需要备份。

2.   recovery windows设置

CONTROL_FILE_RECORD_KEEP_TIME:保留策略一定要小于此控制文件参数

1.18.2  REDUNDANCY(基于冗余数量的备份保留策略)

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY n;

1.18.3  管理永久设置

显示当前设置:          

RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT;

RMAN> SHOW EXCLUDE;

RMAN> SHOW ALL;

 

用CLEAR重置设置:

RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;

RMAN> CONFIGURE MAXSETSIZE CLEAR;

RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;

 

1.19   channel分配


 

1.      channel代表通往一个设备的数据流。

2.      channel必须在执行备份和恢复命令之前执行

3.      每个channel确立了从RMAN到target database实例的连接

4.      oracle为每个channel分配target database的实例进程

5.      每个BACKUP,COPY,RESTORE,或RECOVER命令要求至少一个channel

select * from v$backup_device;

 

1.20   自动和手动管理channel分配

-            自动:

改变默认的automatic channel allocation设备类型:

RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;

手动修改automatic channel setting设置:

RMAN> RUN {

2> ALLOCATE CHANNEL c1 DEVICE TYPE disk;

3> BACKUP DATAFILE '/u01/oradata/user01.dbf';

4> }

1.21   channel控制选项

配置并行度:

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3;

MAXPIECESIZE指定最大备份片大小:

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G;

格式化备份文件名:

RMAN> RUN {

2> ALLOCATE CHANNEL d1 DEVICE TYPE DISK

3> FORMAT '/disk1/backups/%U';

4> BACKUP DATABASE PLUS ARCHIVELOG; }

参数说明:

CONNECT

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22327710/viewspace-1074429/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-08-12

  • 博文量
    36
  • 访问量
    33733