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. 恢复成功