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
恢复完成。
转载于:https://blog.51cto.com/qhd2004/911438