一.RMAN备份源库
注意点:
 最好保留rman备份日志

$rman target / log=backup.log
RMAN>run {
allocate channel t1 type disk;
allocate channel t2 type disk;
allocate channel t3 type disk;
allocate channel t4 type disk;
backup format '<give location of backup/%U>' filesperset (database); sql 'alter system archive log current';
backup format '<give location of backup/%U>' fiesperset (archivelog all);
backup format '<give location of backup/%U>' current controlfile;
}

二.将备份文件传输到用于恢复的机器
注意点:
在10之前,必须将备份放到相同的路径和目录;10g之后,可以使用catalog命令进行注册。
除了备份文件,还要将参数文件传输过去(当然也可以自己重建)

2.1 创建或修改参数文件
 对于参数文件中使用的文件路径目录都要创建好
2.2 创建口令文件

 C:\> orapwd file=pwdmdb.ora password=ys06 entries=

2.3 创建oracle services(windows平台需要执行)

  C:\> ORADIM -new -sid mdb -intpwd ys06 -maxusers  -startmode auto -pfile  'C:\init.ora';

三.还原控制文件

> set oracle_sid=mdb
> sqlplus /nolog
$ connect /as sysdba
$ startup nomount pfile=C:\init.ora
$ exit
> rman target /
RMAN> restore controlfile from 'C:\data\NCCNTRL_20150921_8AQHLUR6_1_1' #这一步需要使用到参数文件中对控制文件的配置信息
RMAN> alter database mount;

四.catalog备份信息
如果备份文件的位置和源库上不同,需要进行catalog注册

RMAN> catalog start with '备份文件的存放目录' noprompt;         #会将所有的备份片注册进来
RMAN> crosscheck backup tag '<backup tag from backup log>' ; #如果有多份备份,将老的备份标记为expired
RMAN> delete expired backup; #删除过期的备份

五.还原数据库

RMAN> report schema;    #列出schema信息,如果源库和目标库的文件位置或文件名不同,需要使用set newname进行重新设置
RMAN> run{
allocate channel t1 type disk;
allocate channel t2 type disk;
set newname for datafile to 'C:\ORACLE\ORADATA\SYSTEM01.DBF';
set newname for datafile to 'C:\ORACLE\ORADATA\SYSAUX01.DB';
set newname for datafile to 'C:\ORACLE\ORADATA\UNDOTBS01.DBF';
set newname for datafile to 'C:\ORACLE\ORADATA\USERS01.DBF';
set until sequence ;
restore database;
switch datafile all;
recover database;
}

sequence可以从rman备份日志中找到,或者查看v$backup_redolog

六.重命名redo文件

SQL> set lines
col member format a60
select a.thread#,a.group#,b.type,b.member,a.bytes/
from v$log a,v$logfile b
where a.group#=b.group# order by a.group#;
SQL> alter database rename file '<old file location and name>' to '<new location and name>';

确认一下

SQL> select a.thread#,a.group#,b.type,b.member,a.bytes/ from v$log a,v$logfile b where a.group#=b.group# order by a.group#;

七.重命名temp文件

SQL> alter database rename tempfile 'D:\APP\ADMINISTRATOR\ORADATA\mdb\TEMP01.DBF' to 'C:\ORACLE\ORADATA\TEMP01.DBF'

八.打开数据库

SQL> alter database open resetlogs;
SQL> create spfile from pfile;
SQL> shutdown immediate
SQL> startup

数据异机还原后,和源库有相同的DBID和DB_NAME

最新文章

  1. Jquery 仿 android Toast效果
  2. 核型SVM
  3. python自我输出源程序
  4. C# .NET MVC 接收 JSON ,POST,WCF 无缝隙切换
  5. POJ 1083 Moving Tables
  6. jQuery(function($){...})与(function($){...})(jQuery)知识点分享
  7. SQL Server 取前一天的0点和23点59分59秒
  8. mariadb 长链接时间限制导致队列消费进程崩溃
  9. C#工具:反射帮助类 泛型反射帮助类
  10. ArrayList, LinkedList, Vector - dudu:史上最详解
  11. Flutter 数据存储 加权限 sharedpreference, sqflite, file
  12. SSM框架中各层的含义和联系
  13. 第21月第6天 zhihu如何用3个月零基础入门机器学习
  14. [原] Android上使用native IO
  15. spring-boot + mybatis +pagehelper 使用分页
  16. Netty 零拷贝(三)Netty 对零拷贝的改进
  17. Analysis 图标分析 - loadrunner
  18. jquery.easing的使用
  19. Codeforces431C_K-Tree_KEY
  20. Python生成器是什么

热门文章

  1. head first---------facade design pattern
  2. ArcGIS for Android 点击选择
  3. 如何将Emmet安装到Notepad++?
  4. 安装完Framework后如何不重启系统?
  5. Thymeleaf th:action
  6. ICLR 2014 International Conference on Learning Representations深度学习论文papers
  7. MySQL数据类型varchar详解
  8. C# 弹出USB外接硬盘(U盘)
  9. 科普:UTF-8 GBK UTF8 GB2312 之间的区别和关系
  10. flex创建hashMap