【管理篇备份恢复】rman(一) 初识rman配置

主要总结一下使用rman的具体配置,相关视图,备份恢复管理命令,备份和恢复策略,以及一些代表性实例和问题或故障处理的讲述,本章内的测试环境为oracle10g ,使用asm,有关asm的内容在《asm使用》中详述。下面一步一步从认识rman到熟识rman

 

,初识rman配置

我们总是不用知道全部缘由,就开始入手,然后再分别从广度和深度来了解和理解,先来看看rman的一些配置。

首先启动ASM实例

[oracle@test_asm ~]$ export ORACLE_SID=+ASM

[oracle@test_asm ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.1.0 - Production on Sat May 22 19:52:05 2010

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

然后启动数据库

[oracle@test_asm ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.1.0 - Production on Sat May 22 19:52:12 2010

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup

ASM instance started

 

Total System Global Area  130023424 bytes

Fixed Size                  2019032 bytes

Variable Size             102838568 bytes

ASM Cache                  25165824 bytes

ASM diskgroups mounted

SQL>

 

 

SQL> startup

ORACLE instance started.

 

Total System Global Area  192937984 bytes

Fixed Size                  2019480 bytes

Variable Size             104861544 bytes

Database Buffers           79691776 bytes

Redo Buffers                6365184 bytes

Database mounted.

Database opened.

查看当前归档模式

SQL> archive log list

Database log mode              No Archive Mode

Automatic archival             Disabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     8

Current log sequence           10

 

修改归档模式为archivelog

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

 

Total System Global Area  192937984 bytes

Fixed Size                  2019480 bytes

Variable Size             109055848 bytes

Database Buffers           75497472 bytes

Redo Buffers                6365184 bytes

Database mounted.

 

SQL> alter database archivelog;

 

Database altered.

 

SQL> alter database open;

 

Database altered.

 

默认的备份文件路径(使用闪回区,有关闪回的问题在《闪回》中详述)

SQL> show parameter db_recovery_file_dest;

 

NAME                                 TYPE        VALUE

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

db_recovery_file_dest                string      +DATA

db_recovery_file_dest_size           big integer 4G

 

连接rman的几种方式:

Rman target /

[oracle@test_asm ~]$ rman target /

 

Recovery Manager: Release 10.2.0.1.0 - Production on Sat May 22 20:21:04 2010

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

connected to target database: TESTASM (DBID=10858332)

 

RMAN>

 

Rman target sys/sys@testasm nocatalog

不使用恢复目录

 

Rman target / catalog

使用恢复目录

 

查看和配置rman

RMAN> show all;

 

using target database control file instead of recovery catalog

RMAN configuration parameters are:

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 '/tpdata/ora/oracle/product/10.2.0/db_1/dbs/snapcf_testasm.f'; # default

 

在所有的测试开始一之前,在默认的rman配置下,先做一个全备份:

RMAN> backup database;

 

Starting backup at 22-MAY-10

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=151 devtype=DISK

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00001 name=+DATA/testasm/datafile/system.271.712970191

input datafile fno=00003 name=+DATA/testasm/datafile/sysaux.272.712970193

input datafile fno=00004 name=+DATA/testasm/datafile/users.274.712970193

input datafile fno=00005 name=+DATA/testasm/datafile/example.284.712970319

input datafile fno=00002 name=+DATA/testasm/datafile/undotbs1.273.712970193

channel ORA_DISK_1: starting piece 1 at 22-MAY-10

channel ORA_DISK_1: finished piece 1 at 22-MAY-10

piece handle=+DATA/testasm/backupset/2010_05_22/nnndf0_tag20100522t203716_0.286.719699837 tag=TAG20100522T203716 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:01:16

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

including current control file in backupset

including current SPFILE in backupset

channel ORA_DISK_1: starting piece 1 at 22-MAY-10

channel ORA_DISK_1: finished piece 1 at 22-MAY-10

piece handle=+DATA/testasm/backupset/2010_05_22/ncsnf0_tag20100522t203716_0.287.719699913 tag=TAG20100522T203716 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02

Finished backup at 22-MAY-10

 

 

下面先来具体描述一下rman的参数设置的作用和默认值

 

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

默认为设置retention policy为冗余度为1,也可以修改冗余度的数值值,数值大小为rman为每个文件保留至少的备份数量。通过report obsolete可以查看当前废弃的备份,使用delete obsolete 可以删除相应的废弃备份。

RMAN> report obsolete;

 

RMAN retention policy will be applied to the command

RMAN retention policy is set to redundancy 1

no obsolete backups found

 

也可以设置为基于恢复窗口,比如:

 

RMAN> CONFIGURE RETENTION POLICY TO recovery window of 3 days;

 

new RMAN configuration parameters:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

new RMAN configuration parameters are successfully stored

 

RMAN>

这个命令的确保每个数据文件的备份有一个在可恢复点之前。上面的语句意味着,必须存在当前时间减去备份检查点事件大于等于三(sysdate-backup checkpoint time>=3) 的备份。举个例子说明:如果昨天数据文件1有一个备份,4天前也有一个备份,那么这两个备份都不会rman标示为obsolete

 

也可以配置为none,清除rman的保留策略,这就意味着rman不会将任何备份标记为obsolete

RMAN> configure retention policy to none;

 

old RMAN configuration parameters:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

new RMAN configuration parameters:

CONFIGURE RETENTION POLICY TO NONE;

new RMAN configuration parameters are successfully stored

 

CONFIGURE BACKUP OPTIMIZATION OFF; # default

这个命令配置rman备份的优化策略,用来避免创建相同的备份,默认是关闭。如果设置为打开,那么如果该文件已经备份,backup命令将跳过对这个文件的备份:

RMAN> configure backup optimization on;

 

new RMAN configuration parameters:

CONFIGURE BACKUP OPTIMIZATION ON;

new RMAN configuration parameters are successfully stored

下面的一个表给出了上面提到的相同备份的定义:

文件类型

确定文件相同的条件

数据文件(datafile)

相同的dbid,检查点scn,resetlogs scntime,数据文件必须为正常脱

机的,或者只读的,或者正常关闭的。

归档重做日志(archived redolog)

相同的线程,序列号,resetlogs scntime

备份集(backup set)

相同的backup set recidstamp

对于上述不同类型的文件rman有不同的备份优化策略,具体见《rman backup concepts》的backup optimization algorithm

Backup optimization只用在下面这些条件均成立时:

设置了 backup optimization on

运行 backup database, backup archivelog all/like 或者backup backupset all

只有一种类型的channel分配,如不能同时分配了disksbt

 

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

配置默认的设备类型,默认为disk,同样也可以配置为磁带sbt

RMAN> configure default device type to sbt;

 

new RMAN configuration parameters:

CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';

new RMAN configuration parameters are successfully stored

released channel: ORA_DISK_1

 

RMAN> configure default device type to disk;

 

old RMAN configuration parameters:

CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';

new RMAN configuration parameters:

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

new RMAN configuration parameters are successfully stored

测试环境没有sbt,故只在这里示意。

 

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

配置空间文件自动备份,默认是关闭,如果设置为打开,则在数据库物理结构发生改变的时候,会自动备份控制文件,比如创建一个表空间:

RMAN> configure controlfile autobackup on;

 

new RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

new RMAN configuration parameters are successfully stored

 

 

SQL> create tablespace test1 ;

 

Tablespace created.

 

SQL> select name from v$datafile;

 

NAME

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

+DATA/testasm/datafile/system.271.712970191

+DATA/testasm/datafile/undotbs1.273.712970193

+DATA/testasm/datafile/sysaux.272.712970193

+DATA/testasm/datafile/users.274.712970193

+DATA/testasm/datafile/example.284.712970319

+DATA/testasm/datafile/test1.293.719712113

 

6 rows selected.

SQL> select a.FILE#,a.name,a.BYTES/(1024*1024)||'M' sizes from v$datafile a where a.file#=6;

 

     FILE#

----------

NAME

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

SIZES

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

         6

+DATA/testasm/datafile/test1.293.719712113

100M

 

 

通过查看控制文件的备份可以看到控制文件备份的自动备份情况:

RMAN> list backup of controlfile;

 

 

List of Backup Sets

===================

 

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

2       Full    6.80M      DISK        00:00:02     22-MAY-10     

        BP Key: 2   Status: AVAILABLE  Compressed: NO  Tag: TAG20100522T203716

        Piece Name: +DATA/testasm/backupset/2010_05_22/ncsnf0_tag20100522t203716_0.287.719699913

  Control File Included: Ckp SCN: 1703871      Ckp time: 22-MAY-10

 

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

4       Full    6.77M      DISK        00:00:01     22-MAY-10     

        BP Key: 4   Status: AVAILABLE  Compressed: NO  Tag: TAG20100522T230658

        Piece Name: +DATA/testasm/backupset/2010_05_22/ncnnf0_tag20100522t230658_0.290.719708819

  Control File Included: Ckp SCN: 1710119      Ckp time: 22-MAY-10

 

现在设置autobackup on

RMAN> configure controlfile autobackup on;

 

new RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

new RMAN configuration parameters are successfully stored

 

删除简历的tablespace

SQL> drop tablespace test1;

 

Tablespace dropped.

 

然后再次查看控制文件备份情况:

RMAN> list backup of controlfile;

 

 

List of Backup Sets

===================

 

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

2       Full    6.80M      DISK        00:00:02     22-MAY-10     

        BP Key: 2   Status: AVAILABLE  Compressed: NO  Tag: TAG20100522T203716

        Piece Name: +DATA/testasm/backupset/2010_05_22/ncsnf0_tag20100522t203716_0.287.719699913

  Control File Included: Ckp SCN: 1703871      Ckp time: 22-MAY-10

 

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

4       Full    6.77M      DISK        00:00:01     22-MAY-10     

        BP Key: 4   Status: AVAILABLE  Compressed: NO  Tag: TAG20100522T230658

        Piece Name: +DATA/testasm/backupset/2010_05_22/ncnnf0_tag20100522t230658_0.290.719708819

  Control File Included: Ckp SCN: 1710119      Ckp time: 22-MAY-10

 

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

9       Full    6.80M      DISK        00:00:03     23-MAY-10     

        BP Key: 9   Status: AVAILABLE  Compressed: NO  Tag: TAG20100523T000736

        Piece Name: +DATA/testasm/autobackup/2010_05_23/s_719712456.293.719712459

  Control File Included: Ckp SCN: 1717688      Ckp time: 23-MAY-10

 

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

这里是配置自动备份文件的格式。

 

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;

配置backup type为备份集backupset

Rman的备份类型分为image copybackupset

一个image copy是对数据库文件的二进制拷贝,与os的拷贝命令相同。不同的是rmanimage copy会将备份信息记录在rman的备份信息库,这些image copy可以被rman用来恢复文件,而oscopy命令产生的备份文件则需要手动的加入到rman的备份信息库才能被rman使用。

Image copy只能创建在disk上,使用 as copy选项的backup命令将会创建image copy的备份。

 

备份集backupset包含一个或者多个数据文件,归档日志,控制文件或spfile的数据,也可以备份现有的备份集到另外的备份集中。备份集有一个或多个备份片backup pieces组成,下面两个视图可以看到本例中的备份片和备份集的信息,简单的列出一些字段信息,将在后面专门讲述具体的一些备份恢复相关的视图:

 

SQL> select a.RECID,a.PIECE#,a.COPY#,a.DEVICE_TYPE,a.BYTES from V$BACKUP_PIECE a;

 

     RECID     PIECE#      COPY# DEVICE_TYPE            BYTES

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

         1          1          1 DISK               768524288

         2          1          1 DISK                 7127040

         3          1          1 DISK                 7094272

         4          1          1 DISK                 7094272

         5          1          1 DISK               112525312

         6          1          1 DISK               112525312

         7          1          1 DISK               112525312

         8          1          1 DISK               112525312

         9          1          1 DISK                 7127040

 

9 rows selected.

SQL> select a.RECID,a.BACKUP_TYPE,a.CONTROLFILE_INCLUDED,a.PIECES from V$BACKUP_SET a;

 

     RECID B CON     PIECES

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

         1 D NO           1

         2 D YES          1

         3 D YES          1

         4 D YES          1

         5 D NO           1

         6 D NO           1

         7 D NO           1

         8 D NO           1

         9 D YES          1

 

9 rows selected.

 

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

Rman默认总是备份归档日志,当然也可以具体设置,但一般使用默认。

 

CONFIGURE SNAPSHOT CONTROLFILE NAME TO

'/tpdata/ora/oracle/product/10.2.0/db_1/dbs/snapcf_testasm.f'; # default

临时控制文件快照的目录设置,当rman使用恢复目录重新同步或者备份当前控制文件时,需要一个控制文件的快照,主要是为了一致性的读控制文件。一般来说也不改动。

 

 

 

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

转载于:http://blog.itpub.net/16179598/viewspace-663456/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值