1.
backup pfile
sql>
create pfile='/home/oracle/2012.10.26/dbs.pfile.ora' from spfile;
2.
backup full database
rman>
Run{
Backup full database format '/home/oracle/2012.10.26/full_%
U.db';
SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
Backup
archivelog all format '/home/oracle/2012.10.26/arc_%U.arc';
}
3.backup
controlfile
rman> backup as copy current
controlfile format '/home/oracle/2012.10.26/control01.ctl';
or
rman> copy current
controlfile to '/home/oracle/2012.10.26/control01.ctl';
or
sql> alter database backup
controlfile to trace as 'e:\controlfile';
4.
backup passwordfile
=====================异机不同目录恢复====================
1. 把
rman全备文件ftp到测试机
Rman>
Run{
Backup full database format ‘C
:/tmp_rman_bak/full_%U.bak’;
Backup
archivelog all format ‘C:/tmp_rman_bak/arc_%U.bak’ delete input;
Copy current
controlfile to ‘C:/tmp_rman_bak/control_bak.ctl’;
}
2. 创建实例(以下在测试机)
C:\Documents and Settings\E01210>
oradim -new -sid mmsfab3
3.
Dd
在window环境需要注意,不能加单引号,否则显示的时间为字符串了。
SET NLS_DATE_FORMAT=YYYY-MM-DD HH24
:MI:SS
但是在
linux 环境下就需要单引号。
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
4. 进入
rman
C:> alter session set
nls_date_format=YYYY-MM-DD:HH24:MI:SS;
C:> set ORACLE_SID=mmsfab3
C:>
rman targete /
5.启动到
nomount状态
RMAN>
startup force nomount pfile=' F:\his\ MMSFAB3\pfile.ora';
注:如果有问题,先确认
pfile.ora中的路径是否存在
6. 恢复控制文件
RMAN> set
dbid 4027388037
RMAN>
restore controlfile from 'F:\his\ MMSFAB3_C-40273880.CTL';
7. 进入
mount状态
Rman>Alter database mount;
8. 改备份文件的路径
RMAN>
CATALOG START WITH 'F:\bak\rman\...';
9. Rename the Redologfiles,so that they can be created in new locations when opened the database is opened in resetlogs
Sql> select * from
v$logfile;
I:\MMSFAB3\REDO01.LOG
I:\MMSFAB3\REDO02.LOG
I:\MMSFAB3\REDO03.LOG
SQL> alter database rename file 'I
:\MMSFAB3\REDO01.LOG' to 'F:\MMSFAB3\REDO01.LOG';
Sql> alter database rename file ' I:\MMSFAB3\REDO02.LOG ' to ' F:\MMSFAB3\REDO02.LOG ';
Sql> alter database rename file ' I:\MMSFAB3\REDO03.LOG ' to ' F:\MMSFAB3\REDO03.LOG ';
10. 并设
datafile路径,run { }
RMAN>
Run{
Set
newname for datafile 1 to 'F:\MMSFAB3\SYSTEM01.DBF';
Set
newname for datafile 2 to 'F:\MMSFAB3\UNDOTBS2_03.DBF';
Set
newname for datafile 3 to 'F:\MMSFAB3\SYSAUX01.DBF';
Set
newname for datafile 4 to 'F:\MMSFAB3\USERS01.DBF';
Set
newname for datafile 5 to 'F:\MMSFAB3\MMSFAB3TBS01.DBF';
Set
newname for datafile 6 to 'F:\MMSFAB3\MMSFAB3TBS02.DBF';
Set
newname for datafile 7 to 'F:\MMSFAB3\MMSFAB3TBS03.DBF';
Set
newname for datafile 8 to 'F:\MMSFAB3\MMSF3ERPTTBS01.DBF';
Set
newname for datafile 9 to 'F:\MMSFAB3\MMSF3MERPTBS01.DBF';
Set
newname for datafile 10 to 'F:\MMSFAB3\MMSFAB3TBS04.DBF';
Set
newname for datafile 11 to 'F:\MMSFAB3\QUESTPATBS01.DBF';
Set
newname for datafile 12 to 'F:\MMSFAB3\QUESTPA_INDEXTBS01.DBF';
Set
newname for datafile 13 to 'F:\MMSFAB3\MMSFAB3TBS05.DBF';
Set
newname for datafile 14 to 'F:\MMSFAB3\UNDOTBS2_04.DBF';
Set
newname for datafile 15 to 'F:\MMSFAB3\UNDOTBS2_05.DBF';
Set
newname for datafile 16 to 'F:\MMSFAB3\SYSAUX02.DBF';
Set
newname for datafile 17 to 'F:\MMSFAB3\UNDOTBS2_01.DBF';
Set
newname for datafile 18 to 'F:\MMSFAB3\UNDOTBS2_02.DBF';
Set
newname for datafile 19 to 'F:\MMSFAB3\UNDOTBS2_06.DBF';
Set
newname for datafile 20 to 'F:\MMSFAB3\UNDOTBS2_07.DBF';
Set
newname for datafile 21 to 'F:\MMSFAB3\UNDOTBS2_08.DBF';
restore database;
switch
datafile all;
recover database;
alter database open
resetlogs;
}
注:select * from
v$archived_log; ---找sequence 号
Recover Database
Until Sequence 81010;
或者
List backup 查到最后的
scn号,用
recover database until SCN 24857337203;
11. Open with
Resetlogs
rman
> alter database open resetlogs;
12. 恢复成功