1.备份单机数据库和日志文件run {
allocate channel c1 type disk format 'e:\rman\%U';
sql 'alter system archive log current';
backup database;
backup archivelog all delete input;
release channel c1;
}
2.使用shutdown immediate命令关闭RAC所有节点。
3.启动RAC环境中一台机器到NOMOUNT状态。
4.登录RMAN恢复环境恢复 controlfile文件。
C:\>rman target /
恢复管理器: Release 11.1.0.6.0 - Production on 星期六 8月 22 10:07:57 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到目标数据库: ORCL (未装载)
RMAN> restore controlfile from 'e:\rman\O1_MF_S_695485617_58WHKLQG_.BKP';
启动 restore 于 21-8月 -09
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=523 实例=orcl1 设备类型=DISK
通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成, 用时: 00:00:03
输出文件名=+DATA/orcl/controlfile/current.260.695482029
完成 restore 于 21-8月 -09
5.将数据库启动到mount
RMAN> alter database mount;
使用目标数据库控制文件替代恢复目录
数据库已装载
6.使用Sqlplus 工具重新指字redo文件的路径。
C:\>sqlplus /nolog
SQL*Plus: Release 11.1.0.6.0 - Production on 星期五 8月 21 21:09:35 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL> conn sys/oracle as sysdba
已连接。
SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\redo01.log' t
o '+data/orcl/onlinelog/redo01.log';
数据库已更改。
SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\redo02.log' t
o '+data/orcl/onlinelog/redo02.log';
数据库已更改。
SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\redo03.log' t
o '+data/orcl/onlinelog/redo03.log';
数据库已更改。
SQL>
7.使用catalog backuppiece命令将从单机考过来的RMAN备份文件编目列表。
如果在当前机器的路径与源机器路径相同时,可以不执行该命令。
RMAN> catalog backuppiece 'E:\rman\17KN8FOA_1_1';
释放的通道: ORA_DISK_1
已将备份片段列入目录
备份片段句柄=E:\RMAN\17KN8FOA_1_1 RECID=25 STAMP=695490647
RMAN> catalog backuppiece 'E:\rman\19KN8H5O_1_1';
已将备份片段列入目录
备份片段句柄=E:\RMAN\19KN8H5O_1_1 RECID=26 STAMP=695490671
8.使用RMAN工具进行数据恢复。
run {
set newname for datafile 00024 TO '+DATA/orcl/datafile/ZL9EPRLOB.DBF';
set newname for datafile 00012 TO '+DATA/orcl/datafile/ZL9CISREC.DBF';
set newname for datafile 00025 TO '+DATA/orcl/datafile/ZL9EPRDAT.DBF';
set newname for datafile 00009 TO '+DATA/orcl/datafile/ZL9EXPENSE.DBF';
set newname for datafile 00038 TO '+DATA/orcl/datafile/ZL9EXPENSE01.DBF';
set newname for datafile 00010 TO '+DATA/orcl/datafile/ZL9MEDLST.DBF';
set newname for datafile 00030 TO '+DATA/orcl/datafile/ZL9INDEXCIS.DBF';
set newname for datafile 00002 TO '+DATA/orcl/datafile/sysaux.DBF';
set newname for datafile 00001 TO '+DATA/orcl/datafile/system.DBF';
set newname for datafile 00029 TO '+DATA/orcl/datafile/ZL9INDEXHIS.DBF';
set newname for datafile 00003 TO '+DATA/orcl/datafile/undotbs1.DBF';
set newname for datafile 00008 TO '+DATA/orcl/datafile/ZL9PATIENT.DBF';
set newname for datafile 00007 TO '+DATA/orcl/datafile/ZL9BASEITEM.DBF';
set newname for datafile 00039 TO '+DATA/orcl/datafile/ZL9CISAUDIT.DBF';
set newname for datafile 00031 TO '+DATA/orcl/datafile/ZL9INDEXHISTORY.DBF';
set newname for datafile 00032 TO '+DATA/orcl/datafile/ZL9INDEXMDR.DBF';
set newname for datafile 00033 TO '+DATA/orcl/datafile/ZL9INDEXMTL.DBF';
set newname for datafile 00034 TO '+DATA/orcl/datafile/ZL9INDEXDEV.DBF';
set newname for datafile 00036 TO '+DATA/orcl/datafile/ZLBAK2007.DBF';
set newname for datafile 00037 TO '+DATA/orcl/datafile/ZLBAK2008.DBF';
set newname for datafile 00040 TO '+DATA/orcl/datafile/ZLBAK2009.DBF';
set newname for datafile 00013 TO '+DATA/orcl/datafile/ZL9HISTORY.DBF';
set newname for datafile 00017 TO '+DATA/orcl/datafile/ZL9MEDREC.DBF';
set newname for datafile 00006 TO '+DATA/orcl/datafile/ZLTOOLSTBS.DBF';
set newname for datafile 00023 TO '+DATA/orcl/datafile/ZL9ACTDATA.DBF';
set newname for datafile 00015 TO '+DATA/orcl/datafile/ZL9MTLREC.DBF';
set newname for datafile 00016 TO '+DATA/orcl/datafile/ZL9MEDBASE.DBF';
set newname for datafile 00020 TO '+DATA/orcl/datafile/ZL9DEVREC.DBF';
set newname for datafile 00021 TO '+DATA/orcl/datafile/ZL9DEVUSE.DBF';
set newname for datafile 00027 TO '+DATA/orcl/datafile/ZL9HUMANINFO.DBF';
set newname for datafile 00028 TO '+DATA/orcl/datafile/ZL9HUMANWAGE.DBF';
set newname for datafile 00035 TO '+DATA/orcl/datafile/ZL9PEISDATA.DBF';
set newname for datafile 00014 TO '+DATA/orcl/datafile/ZL9MTLBASE.DBF';
set newname for datafile 00022 TO '+DATA/orcl/datafile/ZL9ACTBASE.DBF';
set newname for datafile 00011 TO '+DATA/orcl/datafile/ZL9DUEREC.DBF';
set newname for datafile 00018 TO '+DATA/orcl/datafile/ZL9MEDDAY.DBF';
set newname for datafile 00019 TO '+DATA/orcl/datafile/ZL9DEVBASE.DBF';
set newname for datafile 00026 TO '+DATA/orcl/datafile/ZL9HUMANBASE.DBF';
set newname for datafile 00004 TO '+DATA/orcl/datafile/USERS.DBF';
restore database;
switch datafile all;
recover database;
}
9.恢复完成之后打开数据库,为节点2增加日志组文件。
SQL> alter database add logfile thread 2 group 4 '+data/orcl/onlinelog/redo04.log' size 50 M;
数据库已更改。
SQL> alter database add logfile thread 2 group 5 '+data/orcl/onlinelog/redo05.log' size 50 M;
数据库已更改。
SQL> alter database add logfile thread 2 group 6 '+data/orcl/onlinelog/redo046.log' size 50 M;
数据库已更改。
10.允许数据库的第2个实列进程。
alter database enable thread 2;
11.为实例创建回退表空间。
create undo tablespace UNDOTBS2 datafile size 500M;
12.创建TEMP临时表空间。
create temporary tablespace TEMP tempfile '+data/orcl/tempfile/temp01.dbf' SIZE 500M;
13.更改TEMP为当前临时表空间。
alter database default temporary tablespace TEMP;
14.删掉之前旧的临时表空间TEMP1和数据文件。
drop tablespace TEMP1 including contents and datafiles;
15.创建ZLoolstmp临时表空间
create temporary tablespace zltoolstmp tempfile '+data/orcl/tempfile/zltoolstmp.dbf' SIZE 500M;
16.SHUTDOWN IMMEDIATE 数据库,重启节点1,2数据库。