主要总结一下使用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 scn和time,数据文件必须为正常脱 机的,或者只读的,或者正常关闭的。 |
归档重做日志(archived redolog) | 相同的线程,序列号,resetlogs scn和time |
备份集(backup set) | 相同的backup set recid和stamp |
对于上述不同类型的文件rman有不同的备份优化策略,具体见《rman backup concepts》的backup optimization algorithm。
Backup optimization只用在下面这些条件均成立时:
设置了 backup optimization 为on
运行 backup database, backup archivelog all/like 或者backup backupset all
只有一种类型的channel分配,如不能同时分配了disk和sbt
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 copy和backupset
一个image copy是对数据库文件的二进制拷贝,与os的拷贝命令相同。不同的是rman的image copy会将备份信息记录在rman的备份信息库,这些image copy可以被rman用来恢复文件,而os的copy命令产生的备份文件则需要手动的加入到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/