使用RMAN进行备份

1.备份数据库

RMAN> show all;

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 CHANNEL DEVICE TYPE DISK FORMAT'/u01/app/oracle/rmanbak/df_%d_%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 '/u01/app/oracle/10g/dbs/snapcf_orcl.f'; # defaul

RMAN> backupdatabaseformat'/u01/app/oracle/rmanbak/whole_%d_%U';--备份整个数据库

RMAN> backup as compressed backupset--备份整个数据库并压缩备份集

2> database format'/u01/app/oracle/rmanbak/whole_%d_%U';

RMAN> run{

2> allocate channel ch1 type disk--手动分配一个通道

3> maxpiecesize=2g;--指定备份片的大小为g

4> backupas compressed backupset--压缩备份集

5> format'/u01/app/oracle/rmanbak/whole_%d_%U'filesperset=3--指定备份集中允许容纳的文件数为个

6>database;

7> release channel ch1;}--释放通道

RMAN> configure device type disk parallelism 3;--将并行度改为

old RMAN configuration parameters:

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;

new RMAN configuration parameters:

CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;

new RMAN configuration parameters are successfully stored

RMAN> backup as compressed backupset--并行度改为之后,自动启用了个通道

2> format'/u01/app/oracle/rmanbak/whole_%d_%U'filesperset=3

3> database;

Starting backup at 14-OCT-10

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=148 devtype=DISK--sid值对应v$session视图中的sid

allocated channel: ORA_DISK_2

channel ORA_DISK_2: sid=146 devtype=DISK

allocated channel: ORA_DISK_3

channel ORA_DISK_3: sid=144 devtype=DISK

RMAN> run{

2> allocate channel ch1 type disk

3> maxpiecesize=100m;--备份片大小设置为m,则一个备份集包含多个备份片,且每个备份片大小为m

4> backup

5> format'/u01/app/oracle/rmanbak/whole_%d_%U'

6> database;

7> release channel ch1;}

RMAN> list backupset tag=TAG20101014T171115;

List of Backup Sets

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

BS KeyType LV SizeDevice Type Elapsed Time Completion Time

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

21Full690.30MDISK00:01:3914-OCT-10

List of Datafiles in backup set 21

File LV Type Ckp SCNCkp TimeName

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

1Full 164879114-OCT-10 /u01/app/oracle/oradata/orcl/system01.dbf

2Full 164879114-OCT-10 /u01/app/oracle/oradata/orcl/undotbs01.dbf

3Full 164879114-OCT-10 /u01/app/oracle/oradata/orcl/sysaux01.dbf

4Full 164879114-OCT-10 /u01/app/oracle/oradata/orcl/users01.dbf

5Full 164879114-OCT-10 /u01/app/oracle/oradata/orcl/example01.dbf

6Full 164879114-OCT-10 /u01/app/oracle/oradata/orcl/tbs1.dbf

Backup Set Copy #1 of backup set 21

Device Type Elapsed Time Completion Time Compressed Tag

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

DISK00:01:3914-OCT-10NOTAG20101014T171115

List of Backup Pieces for backup set 21 Copy #1

BP KeyPc# StatusPiece Name

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

211AVAILABLE/u01/app/oracle/rmanbak/whole_ORCL_0nlqemtj_1_1

222AVAILABLE/u01/app/oracle/rmanbak/whole_ORCL_0nlqemtj_2_1

233AVAILABLE/u01/app/oracle/rmanbak/whole_ORCL_0nlqemtj_3_1

244AVAILABLE/u01/app/oracle/rmanbak/whole_ORCL_0nlqemtj_4_1

255AVAILABLE/u01/app/oracle/rmanbak/whole_ORCL_0nlqemtj_5_1

266AVAILABLE/u01/app/oracle/rmanbak/whole_ORCL_0nlqemtj_6_1

277AVAILABLE/u01/app/oracle/rmanbak/whole_ORCL_0nlqemtj_7_1

BS KeyType LV SizeDevice Type Elapsed Time Completion Time

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

22Full6.80MDISK00:00:0114-OCT-10

BP Key: 28Status: AVAILABLECompressed: NOTag: TAG20101014T171115

Piece Name: /u01/app/oracle/rmanbak/whole_ORCL_0olqen0s_1_1

Control File Included: Ckp SCN: 1648817Ckp time: 14-OCT-10

SPFILE Included: Modification time: 14-OCT-10

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

2.备份数据文件

Oracle数据文件及表空间的管理请参考:Oracle表空间与数据文件

RMAN> backup as copy datafile 4--备份类型为镜像备份

2> format'/u01/app/oracle/rmanbak/df_%d_%U';

RMAN> list copy;

RMAN> backup datafile 4,5,6 format'/u01/app/oracle/rmanbak/df_%d_%U';--备份类型为备份集

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

3.备份表空间

Oracle数据文件及表空间的管理请参考:Oracle表空间与数据文件

RMAN>backup tablespace users,example format'/u01/app/oracle/rmanbak/tb_%d_%U';

RMAN> backup tablespace temp;--临时表空间不需要备份

Starting backup at 14-OCT-10

using channel ORA_DISK_1

using channel ORA_DISK_2

RMAN-00571:===========================================================

RMAN-00569:===============ERROR MESSAGE STACK FOLLOWS===============

RMAN-00571:===========================================================

RMAN-03002: failure of backup command at 10/14/2010 18:56:12

RMAN-20202: tablespace not found in the recovery catalog

RMAN-06019: could not translate tablespace name "TEMP"

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

4.备份控制文件

Oracle控制文件的详细介绍请参考:Oracle控制文件(CONTROLFILE)

RMAN> configure controlfile autobackup on;--自动备份控制文件置为on状态,将自动备份控制文件和参数文件

old RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP OFF;

new RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

new RMAN configuration parameters are successfully stored

注:在备份system01.dbf或system表空间时将会自动备份控制文件和参数文件,即使自动备份控制文件参数为off

--单独备份控制文件及参数文件

RMAN> backup current controlfile;

--备份数据文件时包含控制文件

RMAN> backup datafile 4 include current controlfile;

RMAN> sql"alter database backup controlfile to ''/tmp/orclcontrol.bak''";

sql statement: alter database backup controlfile to ''/tmp/orclcontrol.bak''

RMAN>sql"alter database backup controlfile to trace as ''/tmp/orclcontrol.sql''";

sql statement: alter database backup controlfile to trace as ''/tmp/orclcontrol.sql''

--单独备份spfile

RMAN> backup spfile format'/u01/app/oracle/rmanbak/sp_%d_%U';

RMAN> backup copies 2 device type disk spfile;

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

5.备份归档日志文件

备份归档日志时仅仅备份归档过的数据文件(不备份联机重做日志文件)

备份归档日志时总是对归档日志做完整备份

RMAN对归档日志备份前会自动做一次日志切换,且从一组归档日志中备份未损坏的归档日志

RMAN会自动判断哪些归档日志需要进行备份

归档日志的备份集不能包含其它类型的文件

关于Oracle日志文件请参考:Oracle联机重做日志文件(ONLINELOGFILE)

关于Oracle归档日志请参考:Oracle归档日志

RMAN>backup

2> format'/u01/app/oracle/rmanbak/lf_%d_%U'

3> archivelog all delete input;--delete input删除所有已经备份过的归档日志

RMAN> backup--此种写法实现了上述相同的功能

2> archivelog all delete input

3> format'/u01/app/oracle/rmanbak/lf_%d_%U';

RMAN>backup archivelog sequencebetween50and120thread1deleteinput;

RMAN> backup archivelog from time"sysdate-15"until time"sysdate-7";

RMAN> backup

2> format'/u01/app/oracle/rmanbak/lf_%d_%U'

3> archivelog from sequence=80

4> delete input;

使用plus archivelog时备份数据库完成的动作(backup database plus archivelog)

1.首先执行alter system archive log current命令(对当前日志归档)

2.执行backup archivelog all命令(对所有归档日志进行备份)

3.执行backup database命令中指定的数据文件、表空间等

4.再次执行alter system archive log current

5.备份在备份操作期间产生的新的归档日志

--执行下面的命令,并观察备份列出的信息,可以看到使用plus archivelog时使用了上面描述的步骤来进行备份

RMAN> backup database plus archivelog

2> format'/u01/app/oracle/rmanbak/lg_%d_%U'deleteinput;

6.备份闪回区

RMAN> backup recovery area;

使用backup recovery area时,将备份位于闪回区且未进行过备份的所有文件,这些文件包括完整、增量备份集、自动备份的

控制文件(假定使用闪回区作为备份路径时)、归档日志、数据文件的镜像副本等。闪回日志,当前的控制文件。

联机重做日志不会被备份

RMAN> backup recovery files;

使用backup recovery files时,将备份磁盘上未进行过备份的所有恢复文件,而不论是否位于闪回区

注:使用上述两条命令时,备份目的地必须是磁带

7.总结:

数据文件的备份集对于未使用的块可以执行增量备份,可以跳过未使用过的数据块来进行压缩备份

对于控制文件、归档日志文件、spfile文件则是简单的拷贝,并对其进行打包压缩而已

你可能感兴趣的:(rman)