签到成功

知道了

CNDBA社区CNDBA社区

如何 搭建 RMAN 备份平台

2016-11-25 15:36 1620 0 原创 Oracle 11g
作者: dave

 

 

一. RMAN 的一些理论知识

 

RMAN Catalog 和 Nocatalog 的区别

http://blog.csdn.net/tianlesoftware/archive/2010/06/02/5641763.aspx

 

RMAN 系列(一)---- RMAN 体系结构概述

http://blog.csdn.net/tianlesoftware/archive/2010/06/09/5659701.aspx

 http://www.cndba.cn/Dave/article/407

RMAN 系列(二) ---- RMAN 设置和配置

http://blog.csdn.net/tianlesoftware/archive/2010/06/16/5674309.aspx

 

http://www.cndba.cn/Dave/article/407

RMAN 系列(三) ---- 介质管理问题

http://blog.csdn.net/tianlesoftware/archive/2010/06/18/5678698.aspx

http://www.cndba.cn/Dave/article/407

 

RMAN 系列(四) ---- RMAN 备份

http://blog.csdn.net/tianlesoftware/archive/2010/06/23/5687938.aspx

 

RMAN 系列(五) ---- RMAN 还原 与 恢复

http://blog.csdn.net/tianlesoftware/archive/2010/06/28/5700474.aspx

 

RMAN 系列(六) ---- RMAN 高级恢复

http://blog.csdn.net/tianlesoftware/archive/2010/07/09/5722174.aspx

 

RMAN 系列(七) ---- RMAN 维护

http://blog.csdn.net/tianlesoftware/archive/2010/07/12/5728097.aspx

 

RMAN 系列(八) ---- RMAN Listreport 命令

http://blog.csdn.net/tianlesoftware/archive/2010/07/12/5728116.aspx

 

RMAN 系列(九) ---- 调整RMAN备份与恢复操作的性能

http://blog.csdn.net/tianlesoftware/archive/2010/07/13/5732665.aspx

 

Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

http://blog.csdn.net/tianlesoftware/archive/2010/07/16/5740630.aspx

 

 

 

 http://www.cndba.cn/Dave/article/407

 

二. RMAN 环境一些注意的配置

 

2.1 修改控制文件自动备份

可以用如下命令查看RMAN 的默认参数配置:

RMAN> show all;

db_unique_name 为 ORCL 的数据库的 RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default

http://www.cndba.cn/Dave/article/407

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 CHANNEL 1 DEVICE TYPE DISK FORMAT   'F:/backup/orcl_%U.bak';

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 LOA

D TRUE ; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:/APP/ADMINISTRATOR/PRODUCT/11.2.0/DBHO

ME_1/DATABASE/SNCFORCL.ORA'; # default

 

注意,controlfile autobackup 这个参数默认是OFF的,即默认不自动备份,我们把这个参数改成自动备份:

RMAN> configure controlfile autobackup on;

旧的 RMAN 配置参数:

CONFIGURE CONTROLFILE AUTOBACKUP OFF;

新的 RMAN 配置参数:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

已成功存储新的 RMAN 配置参数

 

改成自动以后,在数据文件有变化,或者备份数据库的时候,都会自动的备份控制文件和spfile文件。

  

改parallelism参数为2. 该参数默认值为1.

如:CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;

 

官网对这个参数的解释:

Configures the number of automatic channels of the specified device type allocated for RMAN jobs. By default, PARALLELISM is set to 1. http://www.cndba.cn/Dave/article/407

Suppose you set PARALLELISM for disk backups to 2 (see Example 2-42). If you set the default device type as disk, then RMAN allocates two disk channels when you run BACKUP DATABASE at the RMAN prompt. RMAN always allocates the number of channels set by PARALLELISM, although it may use only a subset of these channels.

Note: If you configure n manually numbered channels, then the PARALLELISM setting can be greater than or less than n. For example, you can manually number 10 automatic channels and configure PARALLELISM to 2 or 12.

To change the parallelism for a device type to n, run a new CONFIGURE DEVICE TYPE ... PARALLELISM n command. For example, you can change configure PARALLELISM to 3 for sbt and then change it to 2 as follows:

 

http://download.oracle.com/docs/cd/E11882_01/backup.112/e10643/rcmsynta010.htm#RCMRF113http://www.cndba.cn/Dave/article/407

 

 

 

 

 

2.2 修改控制文件保存的时间http://www.cndba.cn/Dave/article/407

控制文件保存的时间由参数CONTROL_FILE_RECORD_KEEP_TIME决定,默认值是7天。 我们可以改成0365之间的任意值。 http://www.cndba.cn/Dave/article/407

RMAN 采用nocatalog模式进行备份时,就会有一个问题。 当我们使用catalog模式的时候,RMAN 备份的信息都会存放到catalog目录里。 如果没有使用catalog目录,那么RMAN备份的信息就会保存到控制文件里。 RMAN 的这些备份信息对恢复来说非常重要,如果没有这些信息,是无法使用RMAN 进行恢复的。 所以,如果采用nocatalog模式,我们要主备备份控制文件,同时,要将控制文件记录的保存时间设置为不小于选中数据库备份的周期,否则就可能在备份介质上有数据库备份,但是控制文件不存在与备份相关的备份记录,在这种情况下,将无法恢复这些较早的文件。

 

SQL> select name,value from v$parameter where name='control_file_record_keep_time';

NAME                           VALUE

------------------------------ -------------------------------------------------

control_file_record_keep_time   7

SQL> alter system set control_file_record_keep_time=20;

系统已更改。

SQL> show parameter control_file_record_keep_time

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

control_file_record_keep_time        integer     20

 

 

 

 

2.3  配置备份默认的保存策略

备份策略影响影响恢复,如果备份集少,那么恢复能力也受到限制,如果备份集留的比较多,那么也会占用大量的空间。 所以要设置一个合适的周期,这个要根据磁盘空间大小和恢复需要来设置,一般有2种方法:

 

2.3.1  通过recovery window

如:configure retention policy to recovery window of 7 days;

recover window是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete

 

2.3.2  通过redundancy

如:configure retention policy to redundancy 5;

redundancy 是为了保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy它的默认值是1份。

 

要注意: 配置保存策略不会导致自动删除备份,需要使用delete obsolete 命令才能删除过期的备份集。 在report obsolete 命令时显示到期的备份集。 如果列出的某个文件不能被删除,需要鱼腥crosscheck 命令,否则,Oracle 删除delete obsolete命令输出的所有项。如:

report obsolete; 

delete noprompt obsolete; 

crosscheck backup; 

delete noprompt expired backup;

 

2.3.3 保存策略重置为默认值(冗余为1

configure retention policy clear;

 

2.3.4 不应用任何保存策略。

CONFIGURE RETENTION POLICY TO NONE;

 

 

 

2.4 部署备份脚本

大部分的Oracle 都是运行在Linux Unix上。 关于备份脚本,也分为全备和增量备份。 

 

参考blog

Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

        http://blog.csdn.net/tianlesoftware/archive/2010/07/16/5740630.aspx

 

      WindowsRMAN备份脚本

http://blog.csdn.net/tianlesoftware/archive/2010/01/12/5181414.aspxhttp://www.cndba.cn/Dave/article/407

 

Linux平台的备份脚本中,策略比较完整。有nocatalog的全备和catalog的增量备份。 在数据库比较大的话,增量备份还是非常有用的。 Shell脚本在备份完成后,还单独的备份了控制文件和spfile文件。 另外删除过期的备份集。

 

 

 

 

2.5 删除归档日志的脚本

RMAN 备份的脚本里,我们添加了删除归档日志的选项,但是某些情况下还是需要部署删除归档日志的脚本。 比如在Data Guard 环境中,我们在主库做了RMAN 备份,备份会删除已经备份的归档日志,但是在备库中的归档日志就无法删除,还是需要通过脚本来定期的删除归档日志。 

删除的脚本参考我的Blog: 

Oracle 删除归档日志脚本

http://blog.csdn.net/tianlesoftware/archive/2010/01/20/5211659.aspx

 

 

 

 

 

小结,对于DBA来说,完整有效的备份是非常重要的,它能在关键时刻恢复我们的数据,或者减少数据丢失,所以对于生产库,一定要做好备份策略。 备份重于一切!

 

 

 

 

 

 

 

------------------------------------------------------------------------------ 

Blog: http://blog.csdn.net/tianlesoftware 

网上资源: http://tianlesoftware.download.csdn.net 

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 

DBA1 群:62697716(); DBA2 群:62697977

DBA3 群:63306533;     聊天 群:40132017

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle 11g

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2237
    原创
  • 3
    翻译
  • 544
    转载
  • 185
    评论
  • 访问:6562882次
  • 积分:4240
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ