迁移数据库的方法有多种,较为常用的则是使用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. Flink - Checkpoint

    Flink在流上最大的特点,就是引入全局snapshot,   CheckpointCoordinator 做snapshot的核心组件为, CheckpointCoordinator /** * T ...

  2. phpcms v9的url优化

    nginx配置重定向 # nginx rewrite rule rewrite ^/show-(.+)-(.+)-(.+).html$ /index.php?m=content&c=index ...

  3. 3D touch的 使用心得

    一.设置图标touch 快捷进入 1.静态标签 静态标签是我们在项目的配置plist文件中配置的标签,在用户安装程序后就可以使用,并且排序会在动态标签的前面. 我们先来看静态标签的配置: 首先,在in ...

  4. windows在cmd执行svn 命令

    1. 使用svn 命令行工具. 找到http://www.visualsvn.com/downloads/ 下载Apache Subversion command line tools,这是一个可以在 ...

  5. RML-怎样的语句会被归纳为同一类型(Unique Batches)

    我们知道使用RML工具分析跟踪数据(.TRC),其中的"Unique Batches",就是一个关于Batch级别的报表,Batch级别的报表针对的是存储过程或是一个TSQL Ba ...

  6. LUA表克隆方法归纳

    lua表克隆 将lua一个表, 克隆出一份为一个独立的另外一个表. 对于一个module, 如果在require之后,获得的表对象, 不能直接修改, 例如lua缓存此表, 但是多次逻辑执行, 都使用的 ...

  7. Ubuntu 安装BCM 43142无线网卡驱动

    ubuntu14.04 安装 bcm43142无线网卡 用命令lspci 查看无线网卡类型 然后下载对应的无线网卡驱动. 之后,使用下列命令安装,即可搜索无线热点了: sudo apt-get ins ...

  8. Mac电脑AndroidStudio使用SVN进行版本控制

    http://blog.csdn.net/xiaoshi720/article/details/49467523

  9. 教你快速高效接入SDK——总体思路和架构

    题记:很多做游戏开发的人,估计都或多或少地接过渠道SDK,什么UC,当乐,91,小米,360......据统计国内市场当前不下于100家渠道,还包括一些没有SDK的小渠道.每个渠道SDK接入的方法呢, ...

  10. 【过程改进】 windows下jenkins常见问题填坑

    没有什么高深的东西,1 2天的时间大多数人都能自己摸索出来,这里将自己遇到过的问题分享出来避免其他同学再一次挖坑. 目录 1. 主从节点 2. Nuget自动包还原 3. powershell部署 4 ...