ORACLE10G非归档模式下RMAN异机迁库

环境信息:
| 源库 | 目标库 | |
|---|---|---|
| 操作系统 | WIN7 | WIN SVR 2012 R2 |
| IP | x.x.x.216 | x.x.x.112 |
| 数据库版本 | 10.2.0.4.0 - 64bi | 10.2.0.4.0 - 64bi |
| 存储方式 | 单实例 | 单实例 |
| ORACLE_HOME | D:\oracle\product\10.2.0\db_1 | D:\oracle\product\10.2.0\db_1 |
| ORACLE_SID | ORCL | ORCL |
RMAN恢复思路步骤:
- 初始化数据库,安装相同环境;
- 恢复参数文件;
- 恢复控制文件;
- 启动数据库到MOUNT状态,利用控制文件进行数据恢复;
- restore database;
- alter database open ressetlogs;
- 验证结果
具体恢复步骤:
- 在源库上登录RMAN控制台并且进行切换日志组,触发检查点,关闭数据库,重启动数据库至mount模式。
rman target /
sql'alter system switch logfile';
sql'alter system checkpoint';
shutdown immediate;
startup mount;

2. 另起1个命令窗口,登录sqlplus,查询DBID并且记录下该值后关闭该命令窗口。
sqlplus / as sysdba
select dbid from v$database;

- 对源库进行全备份,并且记录该备份路径。
run{
allocate channel d1 type disk;
allocate channel d2 type disk;
backup as compressed backupset database;
release channel d1;
release channel d2;
report obsolete;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
}

4. 对源库进行参数文件、控制文件的备份,并且记录该备份路径。
backup spfile;
backup current controlfile;

5. 在目标系统中安装相同版本的ORACLE数据库,并且将DB_HOME与DB_SID设置与源库中一样。

6. 安装完毕后,将上述所备份的全库备份文件,参数文件备份,控制文件备份拷贝至目标库中相同的系统路径中
7. 在目标库中D:\oracle\product\10.2.0\db_1\database新建一个空白文件,文件名称为FAKESPFILEORCL.ORA,并且将下方内容复制进文件中
db_name=ORCL
java_pool_size=4194304
large_pool_size=4194304
shared_pool_size=96468992
- 如果目标库中未shutdown则先shutdown,并且以新建的参数文件进行nomount启动数据库
startup pfile='D:\oracle\product\10.2.0\db_1\database\FAKESPFILEORCL.ORA' nomount;

9. 在RMAN下,执行命令 SET DBID=1526707455(源库DBID);
set dbid=1526707455;

- 在目标库中进行参数文件恢复
restore spfile from 'D:\oracle\product\10.2.0\flash_recovery_area\ORCL\BACKUPSET\2019_01_30\O1_MF_NNSNF_TAG20190130T171134_G52TL81Y_.BKP';

11. 关闭数据库并且以还原后的参数文件进行nomount启动
shutdown immediate;
startup nomount;

12. 在目标库中进行控制文件恢复
restore controlfile from 'D:\oracle\product\10.2.0\flash_recovery_area\ORCL\BACKUPSET\2019_01_30\O1_MF_NCNNF_TAG20190130T171148_G52TLNS2_.BKP';

13. 关闭数据库并且以mount启动
shutdown immediate;
startup mount;
- (可选操作)修改控制文件中记录的数据文件路径(如果源系统中存在数据库文件在F盘而目标系统不存在F盘则有必要进行此步操作),并且启动恢复
(或者使用windows虚拟盘符)
!请确保目标系统中存在数据文件存放的路径文件夹!
report schema;

run{
set newname for datafile 8 to 'D:\ORACLEDATA1\INFO_LOB';
restore database;
switch datafile all;
}

- 此时数据库恢复完成
- 如果不需要修改路径则直接restore database;即可
!请确保目标系统中存在数据文件存放的路径文件夹! - 清除重做日志打开数据库
alter database open resetlogs;
- 验证数据库(验证源数据库中的数据是否到目标数据库中)

- 结束
ps:
- 其他参考地址:
http://blog.51cto.com/jiujian/1165766
http://blog.51cto.com/pimg2005/1920337
https://blog.csdn.net/hzcyhujw/article/details/79421613
https://docs.oracle.com/cd/B19306_01/backup.102/b14192/recov004.htm#sthref588 - win系统迁移linux与上述步骤相似,不过需要在参数文件还原后重新修改控制文件的具体路径
- 监控执行的进度
select sid,SERIAL# ,CONTEXT,SOFAR,TOTALWORK,round(SOFAR/TOTALWORK*100,2) "_%" from v$session_longops where OPNAME like 'RMAN%' and SOFAR<>TOTALWORK and TOTALWORK<>0;
ORACLE10G非归档模式下RMAN异机迁库的更多相关文章
- ORACLE10G非归档模式下异机迁库(文件迁移)
环境信息: 源库 目标库 操作系统 WIN7 WIN SVR 2012 R2 系统盘符 C,D,E,F C,D IP x.x.x.216 x.x.x.112 数据库版本 10.2.0.4.0 - 64 ...
- 非归档模式下使用Rman进行备份和恢复
实验环境: 一.首先进行全库数据备份: 在非归档模式下,rman备份需要在mount模式下进行 SQL> select status from v$instance; STATUS ------ ...
- Oracle之rman数据库在非归档模式下的备份和恢复
1.数据库在非归档模式下的备份 SQL> archive log list;数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 ...
- 测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程
测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的 ...
- Oracle非归档模式下脱机数据文件
正常情况下,要想对数据文件脱机,必须在归档模式下,这是ORACLE自动保护的一种措施,防止在非归档模式下对数据文件脱机,造成数据丢失.如果想在非归档模式下执行数据文件脱机操作,则需要加上“for dr ...
- 使用alter database datafile 'XXX' offline drop 是否能够恢复(非归档模式下)
今天在群里面听到一位网友在说使用了alter database datafile 'XXX' offline drop命令是否能够恢复数据,在非归档模式下,下面是用一个实验来验证一下 ######## ...
- oracle非归档模式下的冷备份和恢复
查看归档的相关信息 SQL> archive log list数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB ...
- RMAN备份之非归档模式下的备份
Backing Up a Database in NOARCHIVELOG Mode:1.Log into RMAN2.Shutdown immediate from RMAN3.Startup mo ...
- ORACLE归档模式和非归档模式的利与弊
转: 在Oracle数据库中,主要有两种日志操作模式,分别为非归档模式与归档模式.默认情况下,数据库采用的是非归档模式.作为一个合格的数据库管理员,应当深入了解这两种日志操作模式的特点,并且在数据库建 ...
随机推荐
- Spring IoC 容器和 bean 对象
程序的耦合性: 耦合性(Coupling),又叫耦合度,是对模块间关联程度的度量.耦合的强弱取决于模块间接口的复杂性.调用模块的方式以及通过界面传送数据的多少.模块间的耦合度是指模块之间的依赖关系,包 ...
- LeetCode 677. Map Sum Pairs 键值映射(C++/Java)
题目: Implement a MapSum class with insert, and sum methods. For the method insert, you'll be given a ...
- Django自动化测试平台项目案例
引言 在项目组待了近半年时间,根据自己的感受和体验,做了一个辅助测试的工具(数据预报平台),主要目的是针对目前项目接口文档缺失,自动化预报脚本无法可视化,资源循环利用,统一管理化. 业务背景 我们项目 ...
- nginx命令行及演示:重载、热部署、日志切割
重载配置文件 nginx -s reload 热部署(升级nginx) 首先备份二进制文件 cp nginx nginx.old 拷贝新版本的nginx替换以前的nginx二进制文件 cp ngi ...
- 如何运行使用gradle打包的项目
目标:https://github.com/davenkin/springmvc4-helloworld 使用SpringMVC编写的一个HelloWorld程序. 初学Gradle只能一步步摸索前进 ...
- WeChall_Training: Encodings I (Training, Encoding)
We intercepted this message from one challenger to another, maybe you can find out what they were ta ...
- djiango 配置文件(setings)
""" Django settings for ORM project. Generated by 'django-admin startproject' using D ...
- c++利用初始化列表在类内部和类外部定义构造函数的区别
case 1:在类外定义构造函数,所有data member都在初始化列表中进行初始化. class SupportClass { public: SupportClass() { cout < ...
- postman之下载文件
前言 小伙伴们在实际的测试工作中是否遇到过下载的接口呢,例如网盘的项目就涉及到上传和下载的接口了,那么我们如何利用postman对下载接口进行测试呢?下面我们一起来学习吧! 练习案例:下载接口:htt ...
- MySql Docker的一些操作方法
偶尔有需求,涉及到数据库的改动,那一定要表结构改动.程序调试都先在测试环境淬炼千百遍. 现在流行微服务.docker部署,很容易拉起一整套环境. Compose File Demo mysql: im ...