rman的基础知识和备份的学习

来源:互联网 发布:javascript廖学峰 编辑:程序博客网 时间:2024/05/21 17:21

连接rman

本地登入

C:/Documents and Settings/zhenhuan_yu>set oracle_sid=mytest

(unix 用export ORACLE_SID=mytest)

C:/Documents and Settings/zhenhuan_yu>rman target /

远程登录

C:/Documents and Settings/zhenhuan_yu>rman target  sys/××@mytest

如果需要登打日志

C:/Documents and Settings/zhenhuan_yu>rman target  sys/××@mytest  log 'd:/log.txt'

rman中执行一般的sql语句

RMAN> sql 'select 1 from dual';

但是执行后是看不到什么结果的

也可以通过host命令出去执行sqlplus

然后可以exit回来

但是我觉得没啥意义,新开个窗口就是了

查看备份信息

RMAN> list backup;

啥也没有,正好从头开始做一个备份

先看下参数配置

RMAN> show all;

使用目标数据库控制文件替代恢复目录
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%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 ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'H:/ORACLE/PRODUCT/10.2.0/DB_1/DATABASE/SNCFMYTEST.ORA'; # default

下面对各个参数进行一下简要说明

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

设置备份档案的有效期限,选项如下

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;

该项是保留足够的备份,能够使数据库系统恢复到设置天数内的任意时刻,超过期限的备份将被标记为obsolete。
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;

该项是保留最新的设置数量的备份,超过设置数量的备份将被标记为redundancy,rman默认是1份。
CONFIGURE RETENTION POLICY TO NONE;
该项就是不需要保留策略。
我这边就设置成保留最新的7份。

执行就直接把上述语句拿到rman里执行即可。

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 7;

新的 RMAN 配置参数:
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
已成功存储新的 RMAN 配置参数

还原默认值如下(对其他选项类同)

RMAN> CONFIGURE RETENTION POLICY clear;

旧的 RMAN 配置参数:
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
RMAN 配置参数已成功重置为默认值

 
CONFIGURE BACKUP OPTIMIZATION OFF; # default

设置为ON,rman将对备份的数据文件及归档等文件进行一种优化的算法,具体怎么优化,我不知道。。。

设置方法还是直接贴整句过去执行,重置也类似。


CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

设置设备类型是硬盘或者磁带,默认是硬盘
磁带的设置是CONFIGURE DEFAULT DEVICE TYPE TO SBT

clear类似


CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

配置数据库在备份文件或者执行改变数据库结构的命令之后是否将控制文件自动备份

属性也是ON,OFF,CLEAR

我这里是设置成ON


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

控制文件备份的目录和格式,我这里设置如下

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'h:/orabak/%F';

clear类似

设置为磁带后增加的项目

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

配置类似


CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

配置数据库设备类型的并行度

我认为用默认1就行了

设置为磁带后增加的项目
CONFIGURE DEVICE TYPE SBT_TAPE PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default


CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

配置数据库的每次备份时的copy数量

默认1就行了

设置为磁带后增加的项目
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default


CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

这个是日志文件的备份copy数量

设置为磁带后增加的项目
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default


CONFIGURE MAXSETSIZE TO UNLIMITED; # default

配置备份档案的大小的,默认无限制即可


CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

加密是否开启?好像是这个意思吧


CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

设定加密的规则?大概吧。。。


CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

归档日志的删除策略?传说是TO APPLIED ON STANDBY时可以保护日志在没有被dg或stream使用前不被处理掉。


CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'H:/orabak/SNCFMYTEST.ORA'; # default

配置控制文件的快照文件的存放路径和文件名,这个快照文件是在备份期间产生的,用于控制文件的读一致性

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   'h:/orabak/%d_db_%u';

此为设置的一个新的变量,设置备份的路径

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

show all一下当前的设置

RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'h:/orabak/%F';
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 DEVICE TYPE DISK FORMAT   'h:/orabak/%d_db_%u';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'H:/ORABAK/SNCFMYTEST.ORA';


现在做一个整体的备份

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;


启动 backup 于 13-6月 -10
当前日志已存档
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=130 devtype=DISK
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =30 记录 ID=1 时间戳=721418382
输入存档日志线程 =1 序列 =31 记录 ID=2 时间戳=721565154
输入存档日志线程 =1 序列 =32 记录 ID=3 时间戳=721576220
输入存档日志线程 =1 序列 =33 记录 ID=4 时间戳=721585694
通道 ORA_DISK_1: 正在启动段 1 于 13-6月 -10
通道 ORA_DISK_1: 已完成段 1 于 13-6月 -10
段句柄=H:/ORABAK/MYTEST_DB_01LG51H0 标记=TAG20100613T162815 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:08
完成 backup 于 13-6月 -10

启动 backup 于 13-6月 -10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00005 name=+DG1/mytest/datafile/mydt1.266.721409599
输入数据文件 fno=00006 name=+DG1/mytest/datafile/mydtidx1.267.721409665
输入数据文件 fno=00001 name=+DG1/mytest/datafile/system.260.721406511
输入数据文件 fno=00003 name=+DG1/mytest/datafile/sysaux.262.721406531
输入数据文件 fno=00002 name=+DG1/mytest/datafile/undotbs1.261.721406525
输入数据文件 fno=00004 name=+DG1/mytest/datafile/users.264.721406547
通道 ORA_DISK_1: 正在启动段 1 于 13-6月 -10
通道 ORA_DISK_1: 已完成段 1 于 13-6月 -10
段句柄=H:/ORABAK/MYTEST_DB_02LG51H9 标记=TAG20100613T162824 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:02:05
完成 backup 于 13-6月 -10

启动 backup 于 13-6月 -10
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =34 记录 ID=5 时间戳=721585836
通道 ORA_DISK_1: 正在启动段 1 于 13-6月 -10
通道 ORA_DISK_1: 已完成段 1 于 13-6月 -10
段句柄=H:/ORABAK/MYTEST_DB_03LG51LD 标记=TAG20100613T163036 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 13-6月 -10

启动 Control File and SPFILE Autobackup 于 13-6月 -10
段 handle=H:/ORABAK/C-2420544136-20100613-00 comment=NONE
完成 Control File and SPFILE Autobackup 于 13-6月 -10

查看所有备份档

RMAN> list backup;


备份集列表
===================

BS 关键字  大小       设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
1       93.42M     DISK        00:00:05     13-6月 -10
        BP 关键字: 1   状态: AVAILABLE  已压缩: NO  标记: TAG20100613T162815
段名:H:/ORABAK/MYTEST_DB_01LG51H0

  备份集 1 中的已存档日志列表
  Thrd Seq     低 SCN    短时间     下一个 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    30      516959     11-6月 -10 539352     11-6月 -10
  1    31      539352     11-6月 -10 560866     13-6月 -10
  1    32      560866     13-6月 -10 597328     13-6月 -10
  1    33      597328     13-6月 -10 609105     13-6月 -10

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
2       Full    744.26M    DISK        00:01:56     13-6月 -10
        BP 关键字: 2   状态: AVAILABLE  已压缩: NO  标记: TAG20100613T162824
段名:H:/ORABAK/MYTEST_DB_02LG51H9
  备份集 2 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  1       Full 609116     13-6月 -10 +DG1/mytest/datafile/system.260.721406511
  2       Full 609116     13-6月 -10 +DG1/mytest/datafile/undotbs1.261.721406525

  3       Full 609116     13-6月 -10 +DG1/mytest/datafile/sysaux.262.721406531
  4       Full 609116     13-6月 -10 +DG1/mytest/datafile/users.264.721406547
  5       Full 609116     13-6月 -10 +DG1/mytest/datafile/mydt1.266.721409599
  6       Full 609116     13-6月 -10 +DG1/mytest/datafile/mydtidx1.267.721409665


BS 关键字  大小       设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
3       37.00K     DISK        00:00:01     13-6月 -10
        BP 关键字: 3   状态: AVAILABLE  已压缩: NO  标记: TAG20100613T163036
段名:H:/ORABAK/MYTEST_DB_03LG51LD

  备份集 3 中的已存档日志列表
  Thrd Seq     低 SCN    短时间     下一个 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    34      609105     13-6月 -10 609196     13-6月 -10

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
4       Full    6.80M      DISK        00:00:03     13-6月 -10
        BP 关键字: 4   状态: AVAILABLE  已压缩: NO  标记: TAG20100613T163039
段名:H:/ORABAK/C-2420544136-20100613-00
  包括的控制文件: Ckp SCN: 609203       Ckp 时间: 13-6月 -10
  包含的 SPFILE: 修改时间: 13-6月 -10

路径名称可以自行指定,类似如下

RMAN> BACKUP DATABASE FORMAT 'D:/orabak/sp-%d-%M' ;

%d之类的设定参看前面的说明

备份spfile

RMAN> BACKUP DEVICE TYPE DISK SPFILE FORMAT 'h:/orabak/sp-%d-%M';

启动 backup 于 13-6月 -10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 13-6月 -10
通道 ORA_DISK_1: 已完成段 1 于 13-6月 -10
段句柄=H:/ORABAK/SP-MYTEST-06 标记=TAG20100613T164853 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 13-6月 -10

启动 Control File and SPFILE Autobackup 于 13-6月 -10
段 handle=H:/ORABAK/C-2420544136-20100613-02 comment=NONE
完成 Control File and SPFILE Autobackup 于 13-6月 -10

备份表空间

RMAN> backup tablespace drtest1;

启动 backup 于 25-6月 -10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00007 name=+DG1/mytest/datafile/drtest1.276.722614951
通道 ORA_DISK_1: 正在启动段 1 于 25-6月 -10
通道 ORA_DISK_1: 已完成段 1 于 25-6月 -10
段句柄=H:/ORABAK/MYTEST_DB_0GLH4GNF 标记=TAG20100625T145751 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 25-6月 -10

启动 Control File and SPFILE Autobackup 于 25-6月 -10
段 handle=H:/ORABAK/C-2420544136-20100625-04 comment=NONE
完成 Control File and SPFILE Autobackup 于 25-6月 -10

表空间备份信息列表

RMAN> list backup of tablespace  drtest1;


备份集列表
===================

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
13      Full    750.40M    DISK        00:02:04     25-6月 -10
        BP 关键字: 13   状态: AVAILABLE  已压缩: NO  标记: TAG20100625T143618
段名:H:/ORABAK/MYTEST_DB_0DLH4FF4
  备份集 13 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  7       Full 687882     25-6月 -10 +DG1/mytest/datafile/drtest1.276.722614951

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
16      Full    152.00K    DISK        00:00:02     25-6月 -10
        BP 关键字: 16   状态: AVAILABLE  已压缩: NO  标记: TAG20100625T145751
段名:H:/ORABAK/MYTEST_DB_0GLH4GNF
  备份集 16 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  7       Full 689093     25-6月 -10 +DG1/mytest/datafile/drtest1.276.722614951


数据文件备份,通过数据文件的号

RMAN> backup datafile 7;

启动 backup 于 25-6月 -10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00007 name=+DG1/mytest/datafile/drtest1.276.722614951
通道 ORA_DISK_1: 正在启动段 1 于 25-6月 -10
通道 ORA_DISK_1: 已完成段 1 于 25-6月 -10
段句柄=H:/ORABAK/MYTEST_DB_0ILH4GV4 标记=TAG20100625T150155 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 25-6月 -10

启动 Control File and SPFILE Autobackup 于 25-6月 -10
段 handle=H:/ORABAK/C-2420544136-20100625-05 comment=NONE
完成 Control File and SPFILE Autobackup 于 25-6月 -10

数据文件备份信息

RMAN> list backup of datafile 7;

备份控制文件

RMAN>BACKUP CURRENT CONTROLFILE;

备份归档日志

RMAN>BACKUP ARCHIVELOG ALL;

备份后删除日志

RMAN> sql 'alter system archive log current';

sql 语句: alter system archive log current

RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;

启动 backup 于 25-6月 -10
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =30 记录 ID=1 时间戳=721418382
输入存档日志线程 =1 序列 =31 记录 ID=2 时间戳=721565154
输入存档日志线程 =1 序列 =32 记录 ID=3 时间戳=721576220
输入存档日志线程 =1 序列 =33 记录 ID=4 时间戳=721585694
输入存档日志线程 =1 序列 =34 记录 ID=5 时间戳=721585836
输入存档日志线程 =1 序列 =35 记录 ID=6 时间戳=722512622
输入存档日志线程 =1 序列 =36 记录 ID=7 时间戳=722514407
输入存档日志线程 =1 序列 =37 记录 ID=8 时间戳=722606661
输入存档日志线程 =1 序列 =38 记录 ID=9 时间戳=722615760
输入存档日志线程 =1 序列 =39 记录 ID=10 时间戳=722615908
输入存档日志线程 =1 序列 =40 记录 ID=11 时间戳=722617487
输入存档日志线程 =1 序列 =41 记录 ID=12 时间戳=722621077
输入存档日志线程 =1 序列 =42 记录 ID=13 时间戳=722621109
通道 ORA_DISK_1: 正在启动段 1 于 25-6月 -10
通道 ORA_DISK_1: 已完成段 1 于 25-6月 -10
段句柄=H:/ORABAK/MYTEST_DB_10LH4KLN 标记=TAG20100625T160510 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:16
通道 ORA_DISK_1: 正在删除存档日志
存档日志文件名 =+DG1/mytest/arc00030_0721406472.001 记录 ID=1 时间戳 =721418382
存档日志文件名 =+DG1/mytest/arc00031_0721406472.001 记录 ID=2 时间戳 =721565154
存档日志文件名 =+DG1/mytest/arc00032_0721406472.001 记录 ID=3 时间戳 =721576220
存档日志文件名 =+DG1/mytest/arc00033_0721406472.001 记录 ID=4 时间戳 =721585694
存档日志文件名 =+DG1/mytest/arc00034_0721406472.001 记录 ID=5 时间戳 =721585836
存档日志文件名 =+DG1/mytest/arc00035_0721406472.001 记录 ID=6 时间戳 =722512622
存档日志文件名 =+DG1/mytest/arc00036_0721406472.001 记录 ID=7 时间戳 =722514407
存档日志文件名 =+DG1/mytest/arc00037_0721406472.001 记录 ID=8 时间戳 =722606661
存档日志文件名 =+DG1/mytest/arc00038_0721406472.001 记录 ID=9 时间戳 =722615760
存档日志文件名 =+DG1/mytest/arc00039_0721406472.001 记录 ID=10 时间戳 =72261590

存档日志文件名 =+DG1/mytest/arc00040_0721406472.001 记录 ID=11 时间戳 =72261748

存档日志文件名 =+DG1/mytest/arc00041_0721406472.001 记录 ID=12 时间戳 =72262107

存档日志文件名 =+DG1/mytest/arc00042_0721406472.001 记录 ID=13 时间戳 =72262110

完成 backup 于 25-6月 -10

启动 Control File and SPFILE Autobackup 于 25-6月 -10
段 handle=H:/ORABAK/C-2420544136-20100625-0C comment=NONE
完成 Control File and SPFILE Autobackup 于 25-6月 -10

整备连带日志加完成后删除日志

RMAN> backup database plus ARCHIVELOG DELETE all INPUT;

增量备份

level=0(其实就是整库备份)

RMAN>BACKUP INCREMENTAL LEVEL=0 DATABASE;

备出来800M

level=1或2

这个分为两种状况
差异备份-Differential方式(默认)

该种备份只认同级别和高级别的备份点,

为1时执行则从最近的1备份点或0备份点差异备份,谁最近就从谁开始

为2时则从最近的2备份点或1备份点或0备份点差异备份,谁最近就从谁开始

RMAN>BACKUP INCREMENTAL LEVEL=1 DATABASE;

备出来2M

累积增量备份-Cumulative方式

该种备份只认高级别的备份点,不认同级别的备份点,

为1时执行则从最近的0备份点开始备份,没有的话就全备

为2时则从最近的1备份点或0备份点差异备份,谁最近就从谁开始

 RMAN>BACKUP INCREMENTAL LEVEL=2 CUMULATIVE DATABASE;

只有1.5M,说明是从上个1备份点来的,但是如果为1的话

 RMAN>BACKUP INCREMENTAL LEVEL=1 CUMULATIVE DATABASE;

则有2.5M,说明是从上个0备份点来的


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yuzhenhuan01/archive/2010/06/10/5661136.aspx