• oracle之三RMAN概述


    RMAN概述

    6.1 rman的定义和功能:
    1) Recovery Manager
    2)建立备份和恢复的server process,在oracle server上做备份和恢复
    3)rman 备份datafile(分三个层次:database、tablespace、datafile)、controlfile、spfile、archivelog
    4)在归档模式下支持一致性备份(冷备)和非一致性备份(热备)
    5)非归档只支持一致性备份(mount冷备)

    *考点:
    1)非归档方式的RMAN只能冷备,并在mount下做,但手工备份在mount下cp出来的备份对于RMAN是不可用的。
    2)非归档方式的RMAN恢复只能还原最后一次备份。

    6.2 rman的优点:
    1)不备份数据文件中从未使用的块(备份高水位线以下的block),节省时间空间(考点)
    2)备份时自动检查数据文件是否有坏块,并可以标记坏块,跳过坏块,因为RMAN是ORACLE BLOCK级备份技术
    3)对于undo表空间仅仅备份其一小部分空间(不备份commit数据) ,不备份临时表空间
    4)可以实现增量备份
    5)支持多通道并行工作
    6)可以备份ASM文件

    6.3 rman的架构:
    1)可连接三类数据库:target database(备份的目标库) ,auxiliary database(复制数据库), catalog database(目录数据库)。
    2)存储设备:disk 、tape (sbt 磁带机)存放备份文件的设备
    3)channel :目标库和存储设备之间备份恢复通道(服务进程)默认最少启动一个channel,可同时启动多个channel并发操作。
    4)server process:用于备份和恢复的进程
    5)rman的元数据:记录备份的信息(放在目标库的controlfile 里)
    6)catalog database :集中管理、存放备份的元数据,还可以存储备份脚本
    7)MML:media manage layer 介质管理层:用于管理磁带机的库文件或驱动

    6.4 rman 连接目标库方法

    1)本地连接

    RMAN工具和target database在同一台服务器

    [oracle@timran ~]$ rman target /

    2)远程连接

    RMAN客户端通过ORACLE_NET连接target database 在target database 启动监听,在client配置tnsnames.ora。

    C:Documents and Settings imran>rman target sys/system@timran11g

    6.5、查看rman的默认配置,修改rman的配置信息

    1)查看rman的默认配置

    RMAN> show all;

    db_unique_name 为 TIMRAN11G 的数据库的 RMAN 配置参数为:
    CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
    CONFIGURE BACKUP OPTIMIZATION OFF; # default
    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
    CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/U01/MYRMAN/%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 'BZIP2'; # default
    CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/dbs/snapcf_timran11g.f'; # default

    2)理解以上各行RMAN环境变量

    第一行:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

    有两种保留策略:两者只能选一,互斥。(见PPT-II-47)
    一个是时间策略,指定一个时间窗口,必须能恢复此时间段内任一个时刻的数据。现在时间 — 全备份点 >= 时间窗口。
    一个冗余策略,规定至少有几个冗余的备份。

    恢复窗口备份保存策略:
    例如,假如我们指定恢复窗口是 7 天,假设今天是星期一,此前存在 3 个全备及归档日志。第一个全备是5天前生成的,第二个全备是十天前生成的,而最早一个全备是15天前备份的,
    那么十天前生成的备份及之后的归档日志必须保留,而15天前的那个备份会成为废弃备份(obsolete)(见PPT-48)。

    下面的命令将恢复窗口配置为7 天:
    RMAN> configure retention policy to recovery window of 7 days;

    冗余备份保存策略:
    使用这种保存策略,RMAN 会从最新备份开始保留 N 个数据备份,其余的废弃(obsolete)。

    例如,如果有三个备份,而冗余数是 2,那么最早的那个备份将被废弃。下面的命令将备份策略设置为 2:
    RMAN> configure retention policy to redundancy 2;

    设置NONE 可以把使备份保持策略失效,Clear 将恢复默认的保持策略

    RMAN> configure retention policy to none; //RMAN此后不会将任何备份集或映像文件标记为obsolete状态。
    RMAN> configure retention policy clear;

    例:保证至少有一个备份能恢复到 Sysdate-5 的时间点上,之前的备份将标记为Obsolete(废弃)
    RMAN> configure retention policy to recovery window of 5 days;

    至少需要有三个冗余的备份存在,如果多余三个备份以上的备份将标记为冗余
    RMAN> configure retention policy to redundancy 3;

    第二行:CONFIGURE BACKUP OPTIMIZATION OFF; # default

    设置备份优化选项 ( optimization ) 可以在配置中设置备份的优化,如:
    RMAN> configure backup optimization on;

    如果优化设置打开, 它只用于归档日志,只读或脱机表空间的数据文件,因为这些文件是不会变化的,备份集运行一个优化算法。跳过重复的备份文件,比如你要备份归档日志,此参数设
    为on可以避免重复备份,可大大节省空间和时间。 (PPT103)

    考点:备份优化选项依赖于RETENTION POLICY策略,如果启用优化,在已有足够相同文件副本的情况下(r+1),RMAN将不创建额外的文件副本。

    第三行:CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

    设备类型有两种,可以是磁盘(DISK),或者磁带(STB),默认为磁盘。

    第四行:CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

    设置控制文件自动备份 (autobackup on)

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

    off: 默认情况下,在备份system 表空间时,会备份控制文件和spfile
    on: 在做任何文件的备份时,会自动备份控制文件和spfile,并且数据库的物理结构发生变化时,也自动备份controlfile。

    第五行:CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default

    可以用如下的配置指定控制文件的备份路径与格式,format 指明备份文件的路径和文件名
    RMAN备份文件格式 备份文件可以自定义各种各样的格式,如下:

    %c 备份片的拷贝数
    %D 位于该月中的第几天 (DD)
    %M 位于该年中的第几月 (MM)
    %F 一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,
    %d 数据库名称其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序列
    %n 数据库名称,向右填补到最大八个字符
    %u 一个八个字符的名称代表备份集与创建时间
    %p 该备份集中的备份片号,从1 开始到创建的文件数
    %U 一个唯一的文件名,代表%u_%p_%c
    %s 备份集的号
    %t 备份集时间戳
    %T 年月日格式(YYYYMMDD)

    第六行:CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;

    指定在以后的备份与恢复操作中并行度为2,即同时开启2个通道进行备份与恢复

    并行的数目决定了开启通道的个数,当然也可以在RUN{}中指定通道来决定备份与恢复的并行程度。如果在RUN{}中指定了通道配置,将覆盖掉配置参数中指定的默认并行度(考点)。
    通常一个通道对应一个备份集。

    提高RMAN性能和吞吐量,除了通道数,还可以通过一些参数控制输入数据文件数,备份集数,备份片数。

    参数影响可有全局和局部两个层次,基本上分为:

    PARALLELISM: 保存在RMAN存储库。
    CONFIGURE CHANNEL: 更新配置,保存在RMAN存储库。
    ALLOCATE CHANNEL: 限于run{},不保存。
    BACKUP: 限于本次backup语句,不保存。

    相关参数
    FILESPERSET: 每个备份集的最大输入文件数 在BACKUP语句中描述
    MAXOPENFILES: 在给定时间内可以打开的最大输入文件数量 在ALLOCATE CHANNEL或CONFIGURE CHANNEL中描述
    MAXPIECESIZE: 每个通道的备份片大小 在ALLOCATE CHANNEL或CONFIGURE CHANNEL中描述
    MAXSETSIZE: 限制最大备份集大小 在BACKUP语句中描述或配合参数中描述
    BACKUP DURATION: 增加或减少完成备份的时间 在BACKUP语句中描述

    1)在RUN{}里分配通道,可以指定备份的数据文件和通道对应关系。

    例1:

    RMAN> RUN {
    ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
    ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
    ALLOCATE CHANNEL c3 DEVICE TYPE sbt;
    BACKUP
    INCREMENTAL LEVEL = 0
    FORMAT '/disk1/backup/df_%d_%s_%p.bak'
    (DATAFILE 1,4,5 CHANNEL c1)
    (DATAFILE 2,3,9 CHANNEL c2)
    (DATAFILE 6,7,8 CHANNEL c3);
    ALTER SYSTEM ARCHIVE LOG CURRENT;
    }

    2)使用FILESPERSET参数限制备份集中的输入文件数, 指定每个备份集中一次可以包含输入文件最大数,该参数默认值为64。例2中约定每个备份集中备份8个文件。
      如果数据库有20个文件,那将只生成3个备份集,得到3个备份片,虽然开了4个通道,但并行度是3,有1个通道闲置。
    例2:
    RMAN> RUN{
    2> ALLOCATE CHANNEL t1 DEVICE TYPE sbt;
    3> ALLOCATE CHANNEL t2 DEVICE TYPE sbt;
    4> ALLOCATE CHANNEL t3 DEVICE TYPE sbt;
    5> ALLOCATE CHANNEL t4 DEVICE TYPE sbt;
    6> BACKUP DATABASE FILESPERSET 2;
    }

    例2中假如取消ALLOCATE CHANNEL语句,则通道数按全局变量PARALLELISM指定,假定为1,有20个文件,FILESPERSET=8该是怎样的结果:一个通道干活,8个文件组成一个备份集,
     每备份集对一个备份片,完成一个备份集再接下一个备份集。串行的跑三趟。

    3)使用MAXPIECESIZE参数限制备份片大小
    例3:
    RUN{
    CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 300M;
    BACKUP datafile 2 format '/u01/myrman/%U.bak';
    }

    限定了最大备份片为300M,如果输出文件是500M(注意不是限制输入文件),则会在一个备份集中生成两个备份片。

    如果将
    CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 300M;
    换成
    ALLOCATE CHANNEL c1 DEVICE TYPE DISK MAXPIECESIZE 300M;
    就是全部和局部的区别

    RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK clear; //删除此变量

    4)使用maxsetsize参数限制备份集大小:
    例4:
    RMAN> backup database maxsetsize 500m format '/u01/myrman/%U.bak';

    结果如何,一个通道产生了多个备份集,每个备份集对一个备份片。
    注意:作为基本原则,一个备份集只能占一个通道,一个输入数据文件不能分成多个备份集,所以这里必须满足:最大输入文件size<1G.

    5)使用SECTION SIZE子句设置多段备份(multisection backup)

    通常一个数据文件只能占用一个通道,如果某个datafile太大,为提高备份效率,可以考虑采用多道关键字SECTION SIZE,并行化这个大文件的备份。例5中的数据文件约800M,
    被分成若干file section来备份, 它启动了三个通道,每个通道备份300M的file section,但三个通道产生一个备份集,包含三个压缩后的备份片。

    例5:
    RMAN> RUN{
    ALLOCATE CHANNEL d1 DEVICE TYPE disk;
    ALLOCATE CHANNEL d2 DEVICE TYPE disk;
    ALLOCATE CHANNEL d3 DEVICE TYPE disk;
    BACKUP AS COMPRESSED BACKUPSET DATAFILE 2 SECTION SIZE 300M format '/u01/myrman/%U.bak';
    }

    注意: SECTION SIZE隐含限定maxpiecesize,当maxpiecesize全局生效时不能使用SECTION SIZE。(考点)
    所以,要使用SECTION SIZE,maxpiecesize只能在allocate channel中说明。

    RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK clear;

    第七行:CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

    备份集也可以有多路复用(但映像文件不可以),最大值4,如为2就备份相同的2份(PPT-II-101),注意:TO STB和TO DISK是独立的
    (PPT-II-102),也就是说不能同时以DISK和TAPE多路复用(考点)。那么再问一句, 如果一定要duplex磁盘和磁带, 请使用
    backup backupset.

    单独使用RMAN命令可以覆盖这个参数

    RMAN> backup copies 2 datafile 4 format '/u01/myrman/%s_dbf','/u01/myrman1/%s_dbf';

    第八行:CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

    归档日志的多路复用,类似数据文件多路复用

    第九行:CONFIGURE MAXSETSIZE TO UNLIMITED; # default

    该配置限制通道上备份集的最大尺寸,单位支持 Bytes 、KB、MB、GB,默认值是unlimited,(前面提到过)

    第十行: CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
    第十一行:CONFIGURE ENCRYPTION ALGORITHM ','; # default

    加密,Transparent encryption 透明的加密,带钱夹,Password encryption:不带钱夹,(PPT-II-107)

    第十二行:CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default

    RMAN里的压缩也叫binary compression,这是11g新增的参数 (PPT-II-104-106), 压缩只能是针对backup set,有两种算法:'BZIP2'和
    'ZLIB'.不要将RMAN的压缩和外部压缩实用程序混合在一起做(考点)。

    第十三行:CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

    对于归档文件,一般来说,如果你仅是单实例的话(不是Data Guard环境),全备以前的archivelog就没有什么用处了,可以删除,但很多人
    不习惯在这里设置参数,更愿意使用脚本删除归档文件。(见最后一章Oracle 一周备份计划)

    第十四行:CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/dbs/snapcf_timran11g.f'; # default

    rman 控制文件RMAN存储库与catalog做全同步的时候,需要建立一个controlfile的快照,这个参数指定快照存放位置。(PPT-II-74)

    6.6 rman备份的分类:

    1)backupset:不备份datafile里从未使用块(HWM以上)、可以实现增量备份(可以备份到disk和tape)。如果只启用一个channel,
    默认会把所有备份的datafile放入到一个backupset里,并且生成一个备份片backup piece。

    2)image copy(映像文件):实际上和手工cp 类似的,备份datafile所有的数据块, 不能作为增量备份的基础(即0级增量备份),只能备份
    到disk ,不能备份到tape,因可以省略还原步骤,恢复数据库速度快。

    6.7 rman的命令格式:

    1)交互式 (也叫stand alone方式)
    RMAN> shutdown immediate;
    RMAN> startup force mount;
    RMAN> alter database open;
    RMAN> sql 'alter system switch logfile';
    RMAN> sql 'select * from scott.emp'; //对select 不显示结果

    2)批处理方式(也叫job方式)

    RMAN>run {
    shutdown immediate;
    startup mount;
    allocate channel c1 type disk;
    allocate channel c2 type disk;
    backup database format '/u01/myrman/%d_%s.bak';
    alter database open;
    }

    3)基于EM方式(WEB方式)

  • 相关阅读:
    shell脚本积累
    while,shift,until,case
    条件测试命令,if命令,双圆括号,双中括号
    seq命令,tr命令,sort命令,cut命令
    正则,grep命令详解
    Ansible实现批量管理服务器
    实时同步服务知识梳理
    RHEL7破解密码操作步骤
    运维核心基础知识之——MD5sum校验文件
    Linux运维基础提高之RAID卡和磁盘分区
  • 原文地址:https://www.cnblogs.com/jinxf/p/9171322.html
Copyright © 2020-2023  润新知