ORACLE备份恢复及RMAN工具的使用

ORACLE备份恢复及RMAN工具的使用

备份与恢复的定义及分类

1)备份的定义及分类:
备份就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库副本的磁带或磁盘。通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。备份是一份数据副本,从不同的角度分类如下:

从物理与逻辑的角度来分类:
从物理与逻辑的,备份可以分为物理备份和逻辑备份。

  • 物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份。物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数据库的时候进行的,后者是以归档日志的方式对运行的数据库进行备份。可以使用oracle的恢复管理器(RMAN)或操作系统命令进行数据库的物理备份。
  • 逻辑备份:对数据库逻辑组件(如表和存储过程等数据库对象)的备份。逻辑备份的手段很多,如传统的EXP,数据泵(EXPDP),数据库闪回技术等第三方工具,都可以进行数据库的逻辑备份。

从数据库的备份角度分类:
从数据库的备份角度,备份可以分为完全备份和增量备份和差异备份

  • 完全备份:每次对数据库进行完整备份,当发生数据丢失的灾难时,完全备份无需依赖其他信息即可实现100%的数据恢复,其恢复时间最短且操作最方便。
  • 增量备份:只有那些在上次完全备份或增量备份后被修改的文件才会被备份。优点是备份数据量小,需要的时间短,缺点是恢复的时候需要依赖以前备份记录,出问题的风险较大。
  • 差异备份:备份那些自从上次完全备份之后被修改过的文件。从差异备份中恢复数据的时间较短,因此只需要两份数据—最后一次完整备份和最后一次差异备份,缺点是每次备份需要的时间较长。

2)恢复的定义及分类
恢复就是发生故障后,利用已备份的数据文件或控制文件,重新建立一个完整的数据库,恢复分为以下两种类型:
实例恢复:当oracle实例出现失败后,oracle自动进行的恢复

  • 介质恢复:当存放数据库的介质出现故障时所作的恢复。介质恢复又分为完全恢复和不完全恢复
  • 完全恢复:将数据库恢复到数据库失败时的状态。这种恢复是通过装载数据库备份并应用全部的重做日志做到的。
  • 不完全恢复:将数据库恢复到数据库失败前的某一时刻的状态。这种恢复是通过装载数据库备份并应用部分的重做日志做到的。进行不完全恢复后,必须在启动数据库时用resetlogs选项重设联机重做日志。

RMAN备份

RMAN的存储类型有三种方式:

  1. 备份集 默认类型
  2. 压缩备份集
  3. 镜像copy

组成每个备份集的每个文件称之为备份片
RMAN备份可以存放在两种位置:

  1. 目标数据库的控制文件
  2. 恢复目录中

RMAN备份的优点:

  1. RMAN只备份有效数据
  2. RMAN可以实现增量备份

使用RMAN工具

RMAN是oracle的一个重要工具,用于备份和恢复数据文件,归档日志和控制文件,也可以用来执行完全或不完全的数据库恢复。RMAN有3中不同的用户接口,命令行方式,GUI方式(集成在OEM中的备份管理器),API方式(用于集成到第三方的备份软件中),它具有以下特点:

  • 支持在线热备份
  • 支持多级增量备份
  • 支持并行备份、恢复
  • 减少所需要备份量
  • 备份、恢复使用简单
  • 需要目标数据库开启归档日志

RMAN的组件

  • target database(目标数据库)
    目标数据库就是需要RMAN对其进行备份与恢复的数据库,RMAN可以备份数据文件,控制文件,归档日志,spfile;

  • service session(服务器会话)
    RMAN启动数据库上的oracle服务器进程,将建立一个与目标数据库的会话,有目标数据库上的服务器进程进行备份、还原、恢复的实际操作。

  • RMAN Repository(RMAN资料库)
    RMAN使用过程中会用到的控制信息,是一些关于备份、归档日志及RMAN活动的元数据

  • Recovery Catalog(恢复目录)
    恢复目录是建立在RMAN恢复目录数据库上的一种schema对象,用于保存RMAN资料库数据。恢复目录是一个可选的组件。RMAN会将资料数据记录在目标数据库的控制文件中,但这样不够安全,因为一旦目标数据库的控制文件损坏就意味着所有的RMAN备份失效。所以建议在单独的一个数据库中建立一个恢复目录另外保存一份资料库数据。

  • MML(媒体管理库)
    MML是第三方工具或软件,用于管理对磁带的读写与文件的跟踪管理。如果你想直接通过RMAN备份到磁带上,就必须配置媒体管理层,媒体管理层的工具和RMAN共同配合完成备份与恢复。

  • 快闪恢复区
    快闪恢复区是oracle数据库用于保存所有与恢复相关的文件的默认磁盘位置。这些相关文件包括归档日志,RMAN备份,控制文件自动备份,复用的控制文件和重做日志副本及闪回日志文件。

  • 辅助数据库
    在正常使用时,RMAN会与目标数据库一起使用,如果创建了恢复目录数据库,那么也会与恢复目录数据库一起使用。在某些情况下,希望创建辅助数据库。辅助数据库时使用RMAN从目标数据库的备份中创建的新数据库。辅助数据库能够被创建作为备用数据库使用。在数据库发生灾难时,能够在不丢失任何数据及停机时间最短的情况下切换至备用数据库。

备份与恢复的概念与操作

1)备份集
备份集是一次备份的集合,它包含本次备份的所有备份片,以oracle专有的格式保存,是一个逻辑数据的集合。
2)备份片:
一个备份集由若干个备份片组成。每个备份片是一个单独输出文件,一个备份片的大小是有限制的,他的大小不能大于文件系统所支持的文件长度的最大值。

配置备份集文件的格式:
使用backup命令进行备份时,需要明确备份文件的存储路径及文件名称的格式。其路径和格式可以使用FORMAT参数进行统一设置。
FORMAT格式由两部分组成:即存储路径和文件名称格式;
如果没有使用FORMAT指定存储路径和文件名称格式,则默认情况下BACKUP所产生的备份集将存储在快闪恢复区中,RMAN自动使用%U来确定文件名称不会被重复。
FORMAT命令格式如下:
FORMAT ‘格式字符串’
其中格式字符串的文件名称部分可以使用替换变量,例如FORMAT ‘/BACKUP/YY/%U’.
常用的替换变量如下:

  • %c : 备份片的拷贝数
  • %d:数据库名称
  • %D : 位于该月中的第几天(DD)
  • %M : 位于该年中第几月(MM)
  • %F : 一个基于DBID的唯一名称,它的形式为C-DBID-YYYYMMDD-QQ。其中DBID为数据库的DBID,YYYYMMDD为日志,QQ是一个1-256的序列
  • %n:数据库名称,向右填补到最大8个字符
  • %u:一个8个字符的名称,它是根据备份集个数与创建时间信息生成的。
  • %p:该备份集中的备份片号,从1开始到创建的文件数。
  • %U:系统生成的一个唯一文件名,对于备份片来说,它的含义相当于%u_%p_%c。
  • %s:备份集的号
  • %t:备份集时间戳
  • %T:年月日格式(YYYYMMDD)

备份与恢复命令
backup命令用于备份数据库文件,可以将多个文件、表空间、整个数据库已备份集形式备份到磁盘或磁带上,在RUN命令外使用BACKUP命令,会自动使用自动通道。在RUN命令内使用BACKUP命令,如果定义了手动通道,则优先使用手动定义通道。
使用RMAN备份的数据库也只能使用RMAN提供的恢复命令进行恢复。RMAN的恢复目录中存储了目标数据库的备份信息。RMAN根据恢复目录中的存储信息,自动将数据库同步到某一个数据一致的状态。
RMAN恢复数据库时用到两个命令,即RESTORE和RECOVER。RESTORE命令将备份数据恢复到指定的目录,RECOVER命令对数据库进行同步恢复。
RESTORE命令:由于备份集中的备份片是以专有的RMAN格式存储的,需要使用RESTORE命令进行重建。重建的结果是自动产生目标数据库的物理文件结构。
RECOVER命令:负责把归档日志文件用于重建的数据文件,来完成数据库的同步恢复。在执行RECOVER命令时,RMAN需要读取归档日志。如果没有归档日志,或者数据库运行在非归档模式下,则恢复过程会报错。
举例说明在归档模式下备份与恢复
要用RMAN进行联机备份,数据库必须处于归档模式,恢复目录必须打开,目标数据库进程必须启动,数据库已加载或者打开。

2、创建rman恢复目录
恢复目录存在于RMAN的目录数据库中,类似于标准的数据库目录,主要包含如下几个部分信息:

  • 备份恢复信息,可以是多个目标数据库
  • 存储RMAN脚本,可以存储重复使用
  • 关于数据文件和日志文件的备份信息
  • 关于目标数据库的表空间和数据文件信息
  • RMAN资料库可以存放在目标数据库控制文件里,也可以存放在恢复目录中

创建资料库

rman资料库建议单数创建在一台oracle服务器上,不建议和目标数据库合设。
1)创建rman用户所使用的表空间

[oracle@oracle admin]$ sqlplus sys/Oracle_1@rman as sysdba

SQL> create tablespace rman datafile '/oracle/11g/oradata/oracle/catalog/rman.dbf' size 200M autoextend on next 5m maxsize unlimited;

Tablespace created.

2)创建rman用户并赋权

SQL> create user rman identified by Rman_1 default tablespace rman quota unlimited on rman;

User created.

SQL> grant connect,resource,recovery_catalog_owner to rman;

Grant succeeded.

3)连接到rman资料库

[oracle@oracle admin]$ rman catalog rman/Rman_1@rman

Recovery Manager: Release 11.2.0.1.0 - Production on Sun May 13 21:48:02 2018

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to recovery catalog database

4)创建恢复目录,这个过程实际上就是在后台创建表,视图等其他东西

RMAN> create catalog;

recovery catalog created

5)同时连接目标数据库及资料库,注册目标数据库

[oracle@oracle admin]$ rman target sys/Oracle_1@ma catalog rman/Rman_1@rman

Recovery Manager: Release 11.2.0.1.0 - Production on Sun May 13 21:56:25 2018

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: MYSQL_MA (DBID=435464442)
connected to recovery catalog database


RMAN> register database;

database registered in recovery catalog
starting full resync of recovery catalog
full resync complete

RMAN> report schema;

Report of database schema for database with db_unique_name MYSQL_MA

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    680      SYSTEM               YES     /oracle/11g/oradata/mysql_master_1003306/system01.dbf
2    570      SYSAUX               NO      /oracle/11g/oradata/mysql_master_1003306/sysaux01.dbf
3    75       UNDOTBS1             YES     /oracle/11g/oradata/mysql_master_1003306/undotbs01.dbf
4    5        USERS                NO      /oracle/11g/oradata/mysql_master_1003306/users01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    29       TEMP                 32767       /oracle/11g/oradata/mysql_master_1003306/temp01.dbf

注册就是把目标库controlfile里面的数据记录到资料库里。report schema可以报告目标数据库里面的数据文件。

删除资料库

RMAN> drop catalog;

recovery catalog owner is RMAN
enter DROP CATALOG command again to confirm catalog removal

RMAN> drop catalog;

recovery catalog dropped

取消注册数据库

RMAN> unregister database;

database name is "ORACLE" and DBID is 1848230368

Do you really want to unregister the database (enter YES or NO)? y
database unregistered from the recovery catalog

rman配置

使用show all查看rman的配置

RMAN> show all;

RMAN configuration parameters for database with db_unique_name ORACLE are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default   ##定义备份保留策略,详情备份保留策略 CONFIGURE RETENTION POLICY
CONFIGURE BACKUP OPTIMIZATION OFF; # default   ##是否启用备份优化,详情 RMAN中的备份优化(Backup Optimization)
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default   ##通道类型,disk为磁盘,sbt为磁带。通常为disk,保持默认即可;
CONFIGURE CONTROLFILE AUTOBACKUP OFF;  
##是否自动备份控制文件,在进行全备的时候,会自动备份控制文件和spfile,但是当仅备份某些表空间文件时,如果不启用这个参数,将不会自动备份控制文件,强烈建议开启;当开启这个参数后,全备的时候就会使用自动备份来进行控制文件和spfile文件的备份,而不使用全备默认的方式进行备份控制文件
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default  ##控制文件备份的格式,可以指定路径,不指定将使用闪回区
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default ##启动几个通道并发来备份,这个并发是文件级的,假如只有一个文件需要备份,而这里设置为2,将仍然使用一个通道来进行备份 
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 '/oracle/11g/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f'; # default

##新增
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G;  ##设置备份片的大小,如果单个文件超过这个大小,将进行分片

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/oracle/11g/oradata/oracle/catalog/backup/%U';  ##默认通道的备份路径及文件格式
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/oracle/11g/oradata/oracle/catalog/backup01/%U';  ##通道1的备份路径及文件格式,如果有编号为1的通道,将使用1,而不使用默认通道
CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/oracle/11g/oradata/oracle/catalog/backup02/%U';  ##通道2的备份路径及文件格式

##恢复配置
CONFIGURE CHANNEL 2 DEVICE TYPE DISK clear; 所有的配置都是这样恢复默认

查看哪些文件你需要备份

RMAN> report need backup;

starting full resync of recovery catalog
full resync complete
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------

RMAN> report need backup redundancy 2;   ##仅有一个备份,不满足2个,所以需要再备份一次

Report of files with less than 2 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------
1    1     /oracle/11g/oradata/mysql_master_1003306/system01.dbf
2    1     /oracle/11g/oradata/mysql_master_1003306/sysaux01.dbf
3    1     /oracle/11g/oradata/mysql_master_1003306/undotbs01.dbf

RMAN备份

1)备份整个数据库

RMAN> backup database;

RMAN> backup database plus archivelog;  ##同时备份归档日志,一般使用这种方式进行备份

RMAN> backup database plus archivelog delete input;  ##备份完成后把归档日志删除

RMAN> backup database plus archivelog delete all input; ##如果归档日志路径设置了多个,要删除全部的归档日志,就需要加上all参数

查看全库备份备份集

RMAN> LIST BACKUP OF DATABASE;      ##仅会列出数据文件的备份,不会列出归档日志和控制文件备份

List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
3511    Full    1.01G      DISK        00:00:27     14-MAY-18     
        BP Key: 3515   Status: AVAILABLE  Compressed: NO  Tag: TAG20180514T190436
        Piece Name: /oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_nnndf_TAG20180514T190436_fhn5j55m_.bkp
  List of Datafiles in backup set 3511
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 1387367    14-MAY-18 /oracle/11g/oradata/mysql_master_1003306/system01.dbf
  2       Full 1387367    14-MAY-18 /oracle/11g/oradata/mysql_master_1003306/sysaux01.dbf
  3       Full 1387367    14-MAY-18 /oracle/11g/oradata/mysql_master_1003306/undotbs01.dbf
  4       Full 1387367    14-MAY-18 /oracle/11g/oradata/mysql_master_1003306/users01.dbf

2)备份表空间

RMAN> backup tablespace users;   ##如果有多个需要备份,在后面添加,用逗号分隔,如 backup tablespace users,sysaux;

Starting backup at 14-MAY-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00004 name=/oracle/11g/oradata/mysql_master_1003306/users01.dbf
channel ORA_DISK_1: starting piece 1 at 14-MAY-18
channel ORA_DISK_1: finished piece 1 at 14-MAY-18
piece handle=/oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_nnndf_TAG20180514T213231_fhng5hhl_.bkp tag=TAG20180514T213231 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 14-MAY-18

Starting Control File and SPFILE Autobackup at 14-MAY-18
piece handle=/oracle/11g/flash_recovery_area/MYSQL_MA/autobackup/2018_05_14/o1_mf_s_976138353_fhng5k5c_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 14-MAY-18

查看备份的表空间备份集,如果有全备,也会把全备的备份集也列出来,因为全备里面包含该表空间的备份

RMAN> list backup of tablespace users;

List of Backup Sets
===================

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
6834    Full    1.30M      DISK        00:00:00     14-MAY-18     
        BP Key: 6837   Status: AVAILABLE  Compressed: NO  Tag: TAG20180514T213231
        Piece Name: /oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_nnndf_TAG20180514T213231_fhng5hhl_.bkp
  List of Datafiles in backup set 6834
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  4       Full 1393085    14-MAY-18 /oracle/11g/oradata/mysql_master_1003306/users01.dbf

3)备份数据文件

##先查看有哪些数据文件
sys@MYSQL_MA> select file_id,file_name from dba_data_files;

   FILE_ID FILE_NAME
---------- ---------------------------------------------
      4 /oracle/11g/oradata/mysql_master_1003306/users01.dbf

      3 /oracle/11g/oradata/mysql_master_1003306/undotbs01.dbf

      2 /oracle/11g/oradata/mysql_master_1003306/sysaux01.dbf

      1 /oracle/11g/oradata/mysql_master_1003306/system01.dbf

##或者直接在rman中查看
RMAN> REPORT SCHEMA;

Report of database schema for database with db_unique_name MYSQL_MA

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    680      SYSTEM               YES     /oracle/11g/oradata/mysql_master_1003306/system01.dbf
2    590      SYSAUX               NO      /oracle/11g/oradata/mysql_master_1003306/sysaux01.dbf
3    75       UNDOTBS1             YES     /oracle/11g/oradata/mysql_master_1003306/undotbs01.dbf
4    5        USERS                NO      /oracle/11g/oradata/mysql_master_1003306/users01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    29       TEMP                 32767       /oracle/11g/oradata/mysql_master_1003306/temp01.dbf

##进行单个备份
RMAN> backup datafile 1;              ##多个的话就在后面加上编号,用逗号分隔,如 backup datafile 1,2,3,4;

Starting backup at 14-MAY-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/11g/oradata/mysql_master_1003306/system01.dbf
channel ORA_DISK_1: starting piece 1 at 14-MAY-18
channel ORA_DISK_1: finished piece 1 at 14-MAY-18
piece handle=/oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_nnndf_TAG20180514T213858_fhngklhk_.bkp tag=TAG20180514T213858 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
Finished backup at 14-MAY-18

Starting Control File and SPFILE Autobackup at 14-MAY-18
piece handle=/oracle/11g/flash_recovery_area/MYSQL_MA/autobackup/2018_05_14/o1_mf_s_976138754_fhngl27p_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 14-MAY-18

##也可以使用文件名
RMAN> backup datafile '/oracle/11g/oradata/mysql_master_1003306/users01.dbf';       ##备份多个,用逗号分隔,如 backup datafile '/oracle/11g/oradata/mysql_master_1003306/users01.dbf','/oracle/11g/oradata/mysql_master_1003306/sysaux01.dbf';

Starting backup at 14-MAY-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00004 name=/oracle/11g/oradata/mysql_master_1003306/users01.dbf
channel ORA_DISK_1: starting piece 1 at 14-MAY-18
channel ORA_DISK_1: finished piece 1 at 14-MAY-18
piece handle=/oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_nnndf_TAG20180514T215249_fhnhckdb_.bkp tag=TAG20180514T215249 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 14-MAY-18

Starting Control File and SPFILE Autobackup at 14-MAY-18
piece handle=/oracle/11g/flash_recovery_area/MYSQL_MA/autobackup/2018_05_14/o1_mf_s_976139570_fhnhcm0r_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 14-MAY-18

查看备份出来的备份集,如果有全备,也会把全备的备份集也列出来,因为全备里面包含该数据文件的备份

RMAN> list backup of datafile 1;


List of Backup Sets
===================

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
6890    Full    590.91M    DISK        00:00:13     14-MAY-18     
        BP Key: 6893   Status: AVAILABLE  Compressed: NO  Tag: TAG20180514T213858
        Piece Name: /oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_nnndf_TAG20180514T213858_fhngklhk_.bkp
  List of Datafiles in backup set 6890
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 1393487    14-MAY-18 /oracle/11g/oradata/mysql_master_1003306/system01.dbf

4)备份控制文件和spfile

方法1:配置自动备份控制文件和spfile

CONFIGURE CONTROLFILE AUTOBACKUP ON;  ##开启自动备份控制文件和spfile文件的备份

方法2:backup current controlfile; 备份控制文件, 这种方式不会备份spfile

RMAN> backup current controlfile;

Starting backup at 14-MAY-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 14-MAY-18
channel ORA_DISK_1: finished piece 1 at 14-MAY-18
piece handle=/oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_ncnnf_TAG20180514T195531_fhn8hngc_.bkp tag=TAG20180514T195531 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 14-MAY-18

方法3:将控制文件复制出来,这种方式不会产生备份集,但是如果有冗余的话,report obsolete命令会显示出来,delete obsolete命令会将其删除

RMAN> copy current controlfile to '/oracle/11g/controlfile_bak.ctl1';

Starting backup at 14-MAY-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying current control file
output file name=/oracle/11g/controlfile_bak.ctl tag=TAG20180514T195803 RECID=1 STAMP=976132683
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 14-MAY-18


RMAN> report obsolete;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
Control File Copy     4062   14-MAY-18          /oracle/11g/controlfile_bak.ctl
Backup Set           4008   14-MAY-18        
  Backup Piece       4009   14-MAY-18          /oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_ncnnf_TAG20180514T195531_fhn8hngc_.bkp
Control File Copy     4115   14-MAY-18          /oracle/11g/controlfile_bak.ctl1

方法4:backup spfile; 备份spfile,这种方式不会备份控制文件

RMAN> backup spfile;

Starting backup at 15-MAY-18
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=50 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 15-MAY-18
channel ORA_DISK_1: finished piece 1 at 15-MAY-18
piece handle=/oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_15/o1_mf_nnsnf_TAG20180515T201800_fhpy5r7h_.bkp tag=TAG20180515T201800 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 15-MAY-18

查看控制文件备份集

RMAN> list backup of controlfile;

List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
4171    Full    9.61M      DISK        00:00:01     14-MAY-18     
        BP Key: 4173   Status: AVAILABLE  Compressed: NO  Tag: TAG20180514T200102
        Piece Name: /oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_ncnnf_TAG20180514T200102_fhn8szhl_.bkp
  Control File Included: Ckp SCN: 1389451      Ckp time: 14-MAY-18

查看spfile文件备份集,下面产生的备份集是开启自动备份控制文件参数备份出来的,里面同时也保存了控制文件备份;

RMAN> list backup of spfile;


List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
4495    Full    9.64M      DISK        00:00:01     14-MAY-18     
        BP Key: 4497   Status: AVAILABLE  Compressed: NO  Tag: TAG20180514T200923
        Piece Name: /oracle/11g/flash_recovery_area/MYSQL_MA/autobackup/2018_05_14/o1_mf_s_976133363_fhn99myk_.bkp
  SPFILE Included: Modification time: 14-MAY-18
  SPFILE db_unique_name: MYSQL_MA

RMAN> list backup of controlfile;


List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
4495    Full    9.64M      DISK        00:00:01     14-MAY-18     
        BP Key: 4497   Status: AVAILABLE  Compressed: NO  Tag: TAG20180514T200923
        Piece Name: /oracle/11g/flash_recovery_area/MYSQL_MA/autobackup/2018_05_14/o1_mf_s_976133363_fhn99myk_.bkp
  Control File Included: Ckp SCN: 1389821      Ckp time: 14-MAY-18

5)备份归档日志

RMAN> BACKUP ARCHIVELOG ALL; 

Starting backup at 14-MAY-18
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=32 RECID=30 STAMP=976129512
input archived log thread=1 sequence=33 RECID=32 STAMP=976133863
input archived log thread=1 sequence=34 RECID=35 STAMP=976136698
input archived log thread=1 sequence=35 RECID=36 STAMP=976136987
channel ORA_DISK_1: starting piece 1 at 14-MAY-18
channel ORA_DISK_1: finished piece 1 at 14-MAY-18
piece handle=/oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_annnn_TAG20180514T210947_fhndtw16_.bkp tag=TAG20180514T210947 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 14-MAY-18

Starting Control File and SPFILE Autobackup at 14-MAY-18
piece handle=/oracle/11g/flash_recovery_area/MYSQL_MA/autobackup/2018_05_14/o1_mf_s_976136989_fhndtxrb_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 14-MAY-18

RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;

RMAN> BACKUP ARCHIVELOG FROM TIME 'sysdate-1'; ##备份从系统时间一天前到现在的归档日志

RMAN> BACKUP ARCHIVELOG UNTIL TIME 'sysdate-1'; ##备份直到系统时间一天前的所有日志

RMAN> BACKUP ARCHIVELOG SEQUENCE BETWEEN 2 AND 10 FORMAT '/backup/archivelog/arch_%U' DELETE INPUT; ##备份seq号2-10的归档诶只

查看归档日志

RMAN> LIST BACKUP OF ARCHIVELOG ALL;

List of Backup Sets
===================

BS Key  Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
3558    2.50K      DISK        00:00:00     14-MAY-18     
        BP Key: 3563   Status: AVAILABLE  Compressed: NO  Tag: TAG20180514T190512
        Piece Name: /oracle/11g/flash_recovery_area/MYSQL_MA/backupset/2018_05_14/o1_mf_annnn_TAG20180514T190512_fhn5k8xv_.bkp

  List of Archived Logs in backup set 3558
  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    32      1387352    14-MAY-18 1387383    14-MAY-18

RMAN> LIST BACKUP OF ARCHIVELOG SEQUENCE BETWEEN 1 AND 10;

RMAN> LIST BACKUP OF ARCHIVELOG SEQUENCE 20;

RMAN> LIST BACKUP OF ARCHIVELOG UNTIL LOGSEQ 20;

RMAN> LIST BACKUP OF ARCHIVELOG FROM LOGSEQ 20;

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 289211569@qq.com