os:Red Hat Enterprise Linux Server release 5.4
db:11.2.0.1.0
两节点rac:节点1:syk1
           节点2:syk2
采用rman增量备份,使用脚本如下:
[oracle@syk1 ~]$ more level0_backup.sh
ORAHOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORAOWNER=oracle
dt=`date +%m%d`

rman target / >> /home/oracle/sykdb_level0_$dt.log  << EOF
run{
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup incremental level 0  database format '/rman_backup/db_level0_%d_%T_%s_%p_%t' tag 'db_level0';
sql 'alter system archive log current';
release channel ch1;
release channel ch2;
}
run{
allocate channel ch1 type disk connect sys/admin123@sykdb1;
allocate channel ch2 type disk connect sys/admin123@sykdb2;
backup archivelog all format '/rman_backup/arch_level0_%s_%p_%t' tag 'arch_level0' delete all input;
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
release channel ch2;
release channel ch1;
}
list backup;
exit

[oracle@syk1 ~]$ more level1_backup.sh
ORAHOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORAOWNER=oracle
dt=`date +%m%d`

rman target / >> /home/oracle/sykdb_level1_$dt.log  << EOF
run{
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup incremental level 1  database format '/rman_backup/db_level1_%d_%T_%s_%p_%t' tag 'db_level1';
sql 'alter system archive log current';
release channel ch1;
release channel ch2;
}
run{
allocate channel ch1 type disk connect sys/admin123@sykdb1;
allocate channel ch2 type disk connect sys/admin123@sykdb2;
backup archivelog all format '/rman_backup/arch_level1_%s_%p_%t' tag 'arch_level1' delete all input;
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
release channel ch2;
release channel ch1;
}
list backup;
exit

备份、恢复操作都在节点1上进行,6月27进行level0、level1备份,6月28日再进行level1备份。备份日志见附件

恢复过程如下:
6月28日level1备份完成后创建测试表
[oracle@syk1 ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 28 09:53:21 2012

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

SQL> conn / as sysdba
Connected.
SQL> create table moe as select * from dba_users;

Table created.

两个节点都启动到mount状态
节点1:
[oracle@syk1 ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 28 09:53:21 2012

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

SQL> conn / as sysdba
Connected.
SQL> startup force mount;
ORACLE instance started.

Total System Global Area 3340451840 bytes
Fixed Size                  2217952 bytes
Variable Size            2382366752 bytes
Database Buffers          939524096 bytes
Redo Buffers               16343040 bytes
Database mounted.

节点2:
[oracle@syk2 ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 28 09:54:00 2012

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

SQL> conn / as sysdba
Connected.
SQL> startup force mount;
ORACLE instance started.

Total System Global Area 3340451840 bytes
Fixed Size                  2217952 bytes
Variable Size            1879050272 bytes
Database Buffers         1442840576 bytes
Redo Buffers               16343040 bytes
Database mounted.

把节点2上归档日志和备份文件scp到节点1对应目录下:
[oracle@syk2 ~]$ cd /arch/sykdb/
[oracle@syk2 sykdb]$ ll
total 296
-rw-r----- 1 oracle asmadmin 293888 Jun 28 09:53 1_234_778361898.dbf
-rw-r----- 1 oracle asmadmin   1024 Jun 28 09:53 1_235_778361898.dbf
[oracle@syk2 sykdb]$ scp * syk1:/arch/sykdb/
1_234_778361898.dbf                                                                               100%  287KB 287.0KB/s   00:00   
1_235_778361898.dbf                                                                               100% 1024     1.0KB/s   00:00   
[oracle@syk2 sykdb]$ cd /rman_backup/
[oracle@syk2 rman_backup]$ ll
total 72096
-rw-r----- 1 oracle asmadmin   327680 Jun 27 16:49 arch_level0_20_1_787078158
-rw-r----- 1 oracle asmadmin  3138048 Jun 27 17:13 arch_level1_27_1_787079625
-rw-r----- 1 oracle asmadmin 33675264 Jun 28 09:43 arch_level1_33_1_787139038
-rw-r----- 1 oracle asmadmin 34111488 Jun 28 09:44 arch_level1_35_1_787139041
-rw-r----- 1 oracle asmadmin  2459136 Jun 28 09:44 arch_level1_37_1_787139044
-rw-r----- 1 oracle asmadmin     9216 Jun 28 09:44 arch_level1_39_1_787139045
[oracle@syk2 rman_backup]$ scp * syk1:/rman_backup/
arch_level0_20_1_787078158                                                                        100%  320KB 320.0KB/s   00:00   
arch_level1_27_1_787079625                                                                        100% 3065KB   3.0MB/s   00:00   
arch_level1_33_1_787139038                                                                        100%   32MB  32.1MB/s   00:01   
arch_level1_35_1_787139041                                                                        100%   33MB  32.5MB/s   00:00   
arch_level1_37_1_787139044                                                                        100% 2402KB   2.4MB/s   00:00   
arch_level1_39_1_787139045                                                                        100% 9216     9.0KB/s   00:00   

节点1上进行恢复,恢复日志见附件

两个节点open
[oracle@syk1 ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 28 09:53:21 2012

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

SQL> conn / as sysdba
Connected.
SQL> alter database open;

Database altered.


[oracle@syk2 rman_backup]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 28 10:04:37 2012

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

SQL> conn / as sysdba
Connected.
SQL> select open_mode from v$database;

OPEN_MODE
--------------------
MOUNTED

SQL> select name,open_mode from gv$database;

NAME      OPEN_MODE
--------- --------------------
SYKDB     MOUNTED
SYKDB     READ WRITE

SQL> alter database open;

Database altered.

SQL> select instance_name,status,database_status from gv$instance;

INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
sykdb2           OPEN         ACTIVE
sykdb1           OPEN         ACTIVE

查看测试表

SQL> select count(*) from moe;

  COUNT(*)
----------
        29


恢复完成。