迁移数据库的方法有多种,较为常用的则是使用RMAN来迁移。使用RMAN迁移数据库属于数据库的物理备份与恢复范畴,整个过程中数据库的相关信息是完整地镜像。因此,基于此种方式还原恢复的数据库用于测试会使得与真实的生产环境差异相对较小。

一、主要步骤
     1、备份数据库
     2、拷贝备份到目的服务器
     3、为目标数据库创建项目目录
     4、为目标数据库创建pfile或spfile(使用RMAN还原或复制原pfile到目的服务器)
     5、还原控制文件
     6、还原数据文件
     7、OPEN 数据库

二、迁移演示

目的:将在一台机器的orcl数据库迁移到另一台机器上

1. 备份数据库:

    备份脚本参考:RMAN的实战篇--备份脚本

2. 将用RAMN备份的文件拷贝到目标服务器上。

  这里使用scp的方式拷贝到异机

scp -r 20161231/  oracle@192.168.0.92:/u02/database/orcl/backup/rman/

3. 创建目录

mkidr -p /u01/app/oracle/oradata/orcl
mkdir -p /u01/app/oracle/flash_recovery_area

mkdir -p /u01/app/oracle/flash_recovery_area/orcl

mkdir -p /u01/app/oracle/oradata/orcl
mkdir -p /u01/ARCHLOG
mkdir -p /u02/ARCHLOG
mkdir -p /u03/ARCHLOG
mkdir -p /u01/app/oracle/admin/orcl/dpdump
mkdir -p /u01/app/oracle/admin/orcl/adump

mkdir -p /u01/orcl/onlinelog/

mkdir -p /u02/orcl/onlinelog/

mkdir -p /u03/orcl/onlinelog/

4.创建密码文件

[oracle@oracledb ~]$ orapwd file=orapworcl password=oracle force=y entries=10

5、使用pfile启动实例到nomount状态

[oracle@oracledb dbs]$ cp /u02/database/orcl/backup/rman/20161231/initorcl.ora $ORACLE_HOME/dbs
[oracle@oracledb dbs]$ export ORACLE_SID=orcl
SQL> startup nomount;

注意检查参数文件中的目录是否都建立了。

6. 恢复控制文件并切换到mount状态

RMAN> restore controlfile from '/u02/database/orcl/backup/rman/20161231/cntl_lev0.bak';

启动 restore 于 30-12月-16
使用通道 ORA_DISK_1 通道 ORA_DISK_1: 已复制控制文件副本
输出文件名=/u01/app/oracle/oradata/orcl/control01.ctl
输出文件名=/u01/app/oracle/flash_recovery_area/orcl/control02.ctl
完成 restore 于 30-12月-16 RMAN> alter database mount; 数据库已装载
释放的通道: ORA_DISK_1

7. 指定备份文件所在目录

RMAN> catalog start with '/u02/database/orcl/backup/rman/20161231';

8. 还原数据库

RMAN> restore database;

9.恢复数据库

SQL> conn / as sysdba 

SQL> recover database until cancel;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done SQL> recover database using backup controlfile until cancel;
********
....
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel #输入cancel,完成介质恢复
Media recovery cancelled.

10. open数据库

SQL> alter database open resetlogs;  

11.一致性关闭数据库并重启数据库

SQL> shutdown immediate;  

SQL> startup 

#如果open 不成功,请尝试shutdown 之后再次open,如果仍然不成功使用隐藏参数_allow_resetlogs_corruption打开数据库

SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;

System altered.

SQL> startup force
ORACLE instance started. Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 88082000 bytes
Database Buffers 192937984 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open SQL> alter database open resetlogs; Database altered. SQL> alter system set "_allow_resetlogs_corruption"=false scope=spfile; System altered. SQL> shut immediate

使用rman迁移数据库到异机的更多相关文章

  1. 使用不同用户对Oracle数据库进行异机恢复,失败,错误:Backup file not found in NetBackup catalog

    最近做某数据库恢复演练,数据库版本是10.2.0.4,恢复控制文件一直报错,报错如下,经过反复折腾,原来恢复机上oracle用户不是oracle导致(我的是oraclev4),查看源库oracle用户 ...

  2. RMAN备份策略与异机恢复一例(续篇)

    本文是<RMAN备份策略与异机恢复一例>的续篇,继续实验验证,最终实现两个需求: 1.异机恢复临时测试的小库 2.传输归档时,实现增量传输 1.异机恢复临时测试的小库 之前异机恢复的需求已 ...

  3. RMAN备份策略与异机恢复一例

    实验环境: A机器(生产用途):RHEL 6.5 + Oracle 11.2.0.4 + IP Address 192.168.1.11 B机器(备机用途):RHEL 6.5 + Oracle 11. ...

  4. openStack 重新resize时会进行重新调度,可能在本机Resize 扩展资源,也可能存在的情况时 ,新扩展的资源在当前节点不足分配,整个虚拟机将进行迁移调度,进行异机迁移时需要迁移 的两台主机间能使用nova系统用户经passless登录

    openStack 重新resize时会进行重新调度,可能在本机Resize 扩展资源,也可能存在的情况时 ,新扩展的资源在当前节点不足分配,整个虚拟机将进行迁移调度,进行异机迁移时需要迁移 的两台主 ...

  5. linux下仅仅有rman备份集的异机不同文件夹恢复

    昨天在客户那里做了一次rman异机的恢复,把生产库弄一份给測试库用,总库大概80G,总共花费了2个小时,当时客户的环境是windows 11.2.0.3,今天早晨在linux下又一次測试了一下,记录下 ...

  6. RMAN迁移数据库(不改变文件目录)

    1.目标库创建相应目录mkdir -p /u01/app/oracle/oradata/orclmkdir -p /u01/app/oracle/fast_recovery_area/ORCLmkdi ...

  7. 基于RMAN从活动数据库异机克隆(rman duplicate from active DB)

    Oracle 11g RMAN能够实现基于活动数据库进行异机克隆,从而省去需要先备份再ftp到辅助服务器的过程.这一切可以全部交给Oracle来搞定.在克隆期间,Oracle会读取Target DB的 ...

  8. 基于RMAN的异机数据库克隆(rman duplicate)

    对于基于生产环境下的数据库的版本升级或者测试新的应用程序的性能及其影响,备份恢复等等,我们可以采取从生产环境以克隆的方式将其克隆到本地而不影响生产数据库的正常使用.实现这个功能我们可以借助rman d ...

  9. Oracle备份恢复之冷备份恢复与异机还原

    (同平台:rhel6.4~rhel6.4:同版本:oracle 11g 11.2.0.1~ oracle 11g 11.2.0.1) 冷备份发生在数据库关闭状态下,直接拷贝物理文件的备份方式,备份数据 ...

随机推荐

  1. 带你玩转JavaWeb开发之三 - CSS从基础到实战

    一,什么是CSS? Cascading Style Sheets层叠样式表           层叠:就是层层覆盖叠加,如果有多种样式对同一html标签进行修饰,样式有冲突的部分应用优先级高,不冲突的 ...

  2. iOS开发中常用到的宏定义

    1.首次启动判断: #define First_Launched @"firstLaunch" 2.ios7系统判断: #define IsIOS7 ([[[UIDevice cu ...

  3. qmake的使用(可设置c编译器flag参数)

    本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso***还是先说一下当前的系统环境:Ubuntu 14.04 + Qt5.4如果没有安装过QT,可以安装下面几个qt软件 ...

  4. tomcat服务重启linux

    1杀掉tomcat 进程  用ssh登陆到服务器 lsof -i:8080         //找到端口 ps -ef|grep tomcat kill -9 端口 2找到tomcat目下的start ...

  5. FIO是测试IOPS

    FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, ...

  6. this的指向

    在JS中,有三种需要注意的this:寻常的this/事件的this/ajax请求的this. 寻常的this 这种this的判断很简单,this是指向执行函数的对象.下面是事例说明: var name ...

  7. Oracle EBS R12 电子技术参考手册 - eTRM (电子文档)

    http://etrm.oracle.com/pls/etrm/etrm_search.search

  8. enum使用

    新建一个.h文件 typedef enum { type1 = 1, type2 = 2 };

  9. vsftpd.conf 怎么保存

    引用:http://zhidao.baidu.com/question/169939742.html vsftpd.conf 用vim编辑后如何保存?网上很多我都看了 esc 然后shift+ 不好使 ...

  10. 我去,徒弟半夜来电让写一个PHP短信验证(和群发)

    感觉很纳闷啊,,..好几天几乎通宵了,今晚本来以为有个早觉睡,居然2点多才打电话来让帮忙... 记得前段时间还有博友问过同类的问题.... 名字我就隐藏掉了,呵呵,, 我在网上随便找了一个提供相应接口 ...