iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)
  • 287
分享到

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)

2024-04-02 19:04:59 287人浏览 薄情痞子
摘要

前言:在迁移oracle数据库的过程中,我们会遇到很多种情况,例如32位操作系统下的数据库迁移到64位,不同操作系统平台之间的迁移,那么怎么选择迁移工具呢,首先我们需要确认迁移源端和目标端的环境,再次停

前言:在迁移oracle数据库的过程中,我们会遇到很多种情况,例如32位操作系统下的数据库迁移到64位,不同操作系统平台之间的迁移,那么怎么选择迁移工具呢,首先我们需要确认迁移源端和目标端的环境,再次停机时间,数据量大小,相对而言,逻辑迁移更稳妥一点,不管是手动的expdp/impdp 还是借助其他工具,OGG之类,像高水位这样的问题也会得到缓解。 rman也是一项工具,那么什么时候选择呢,或者选择的利弊呢?版本限制、bug有点多,rman能把数据库的环境完全复制过来,在一些场景中是需要的。

下面做个测试,源端环境:   windows2008 64位+Oracle11.2.0.1+ filesystem

                        目标端环境:Redhat6.7 x64+oracle11.2.0.4+ASM

首先我们确认一下字节:

     【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)


下面开始通过rman执行迁移工作

在Windows环境下执行备份:

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)

通过以下语句生成pfile文件:

create pfile='d:\pfile20171029.ora' from spfile;

将备份文件、归档日志、pfile文件、密码文件拷贝至目标端(linux

目标端相关操作:

首先编辑参数文件,修改相关路径、参数等,并且创建相关目录

例如:

mkdir -p /home/oracle/arcHivelog
mkdir -p /u02/app/oracle/admin/orcl/adump

启动数据库到nomount状态

export ORACLE_SID=orcl
sqlplus / as sysdba
startup nomount pfile='/home/oracle/rmanbackup/pfile20171029.ora'

开始恢复控制文件(注意,初始化参数文件中已更改控制文件存放到ASM磁盘中)

* 恢复控制文件并启动到mount阶段:


【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)


* 注册备份文件


【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)


执行恢复数据库操作,此处注意,首先需要清理rman中无效备份,如果不清理,需要制定,不然恢复时首先找的是原来备份,如下:

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)


*此处执行检查备份、并清理无效、过期备份(简图)

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)
 

再次执行恢复操作:

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)


OK,我们执行recover

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)

Recovery Manager complete.  此处注意,这里执行的是recover database,也未应用之后的归档日志,再个,在线日志并没有原来的目录,数据库open时会默认给创建到dbs目录中,open后需要更改redo log位置。


recover完成,下面开始open

SQL> alter database open resetlogs upgrade; -- upgrade 版本由11201到11204

Database altered.


打开了,可以啊,完事了?  redo log没做,还有什么  想想……


首先我们需要把数据库根本的正好,来执行几个脚本,来完成最终的数据库升级

需要执行以下三个脚本, 顺序要求,首先执行catupgrd.sql,再依次执行utlrp.sql catbundle.sql 

  还要注意一点:执行catupgrd.sql之前,需要重建临时表空间,步骤如下:

create temporary tablespace temp01 tempfile '+DATA' SIZE 1G;
alter database default temporary tablespace temp01;
drop tablespace temp including contents and datafiles cascade constraints;



ok,可以执行啦

SQL> @?/rdbms/admin/catbundle.sql psu apply   
SQL>@?/rdbms/admin/utlrp.sql
SQL>@?/rdbms/admin/catupgrd.sql     --第一个执行,它会频繁切换归档,俺的测试空间已爆

为什么需要执行这三个呢,我们看一下这几个脚本的描述

第一个,这个主要目的是将补丁信息更新到sql中,也会执行其他东西,也就是视图dba_reGIStry_history

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)

第二个,重新编译无效对象

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)


最终要的,就是第三个,必须执行,这里说的是10.2及之前的版本,本次环境为11.2.0.1 到 11.2.0.4 ,也是必须执行的脚本,如果你不想每次shutdown数据库后,startup时还需要 alter database open upgrade  那就执行此步骤。

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)

   脚本执行完成,我们来看看版本信息:

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux) 


红色部分为升级的一部分,可以忽略。第二行为执行脚本catupgrd.sql   生成,描述信息:Upgraded from 11.2.0.1.0

第三行为脚本catbundle.sql执行结果

  还有什么收尾工作吗,对了,在线日志路径还未更改,那就查看更改吧

 基本步骤如下:

select group#,status from v$log;
alter system archive log current;

alter database drop logfile group 3;
alter database add logfile group 3 ('+DATA') size 100m;
alter database drop logfile group 1;
alter database add logfile group 1 ('+DATA') size 100m;
alter database drop logfile group 2;
alter database add logfile group 2 ('+DATA') size 100m;

 更改完成,还需要执行以下命令

create spfile from  pfile='/home/oracle/rmanbackup/pfile01.ora';

再次重启数据库验证,数据库正常。

等等,我们需要追加归档日志恢复……

【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)

读取归档日志报错,终于用上了MOS文章中提到的失败,那么如果源目标归档日志都采用ASM方式存储呢?会出现吗?   留着吧不能用追加归档日志方式,就使用增量备份呗

  虽然说使用逻辑方式迁移看似简单,例如expdp/impdp ,其实需要准备的东西并不少,有兴趣的可以测试下,迁移我们就可能遇到不同的操作系统、不同的版本甚至32位到64位,  不知道Oracle18C  能解决不?

 折腾半天,最后以600结束,也算无憾 ,其实挺扯淡……


 就这样吧,周一愉快

 

    

--结束END--

本文标题: 【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)

本文链接: https://www.lsjlt.com/news/45397.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用RMAN实现Oracle数据库迁移
    这篇文章主要介绍了如何使用RMAN实现Oracle数据库迁移,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.打开RMAN[oracle@E...
    99+
    2024-04-02
  • 【RMAN】rman使用NORESTELOGS 方式恢复数据库
    关于备份、迁移具体命令方式可参考文档:http://blog.itpub.net/29487349/viewspace-2142872/ 全备恢复数据文件后,准备使用增量完整恢复数据时,选择使用nore...
    99+
    2024-04-02
  • ORACLE11G RMAN备份如何恢复到异机数据库
    这期内容当中小编将会给大家带来有关ORACLE11G RMAN备份如何恢复到异机数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 scp /u01/prb/rman...
    99+
    2024-04-02
  • Oracle 11g 使用RMAN备份数据库
    使用Oracle自带的备份恢复工具RMAN(Recovery Manager)具有以下几种优势:支持增量备份能自动管理备份文件自动化备份与恢复备份的文件有效性检查配置快闪恢复区(flash recovery...
    99+
    2024-04-02
  • 如何使用RMAN备份数据库
    这篇文章给大家分享的是有关如何使用RMAN备份数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Oracle推荐的数据库备份和恢复工具是RMAN(恢复管理器,Recovery ...
    99+
    2024-04-02
  • 使用RMAN恢复数据库的过程
    这篇文章主要讲解了“使用RMAN恢复数据库的过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用RMAN恢复数据库的过程”吧!由于需要搭建一个测试环境,把...
    99+
    2024-04-02
  • oracle数据库使用rman备份脚本
    关于使用rman备份数据库的脚本 #!/bin/bash  export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/ap...
    99+
    2024-04-02
  • IOS数据库升级数据迁移的示例分析
    这篇文章主要介绍IOS数据库升级数据迁移的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!IOS 数据库升级数据迁移的实例详解概要:很久以前就遇到过数据库版本升级的引用场景,当...
    99+
    2024-04-02
  • 怎么用rman备份数据库
    这篇文章主要讲解了“怎么用rman备份数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用rman备份数据库”吧! 在数...
    99+
    2024-04-02
  • Oracle数据库中如何使用rman命令
    这期内容当中小编将会给大家带来有关Oracle数据库中如何使用rman命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Oracle数据库rman常用命令怎么使用  连接...
    99+
    2024-04-02
  • 怎么使用RMAN复制数据库active database
    这篇文章主要介绍“怎么使用RMAN复制数据库active database”,在日常操作中,相信很多人在怎么使用RMAN复制数据库active database问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • 如何使用RMAN还原和恢复数据库
    这篇文章主要介绍“如何使用RMAN还原和恢复数据库”,在日常操作中,相信很多人在如何使用RMAN还原和恢复数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用RMAN...
    99+
    2024-04-02
  • 使用EFCORE迁移数据库
    一、迁移需要的依赖 Install-Package Microsoft.EntityFrameworkCore.SqlServer -version 3.1.1 Install-Pa...
    99+
    2024-04-02
  • Oracle数据库升级或数据迁移的方法是什么
    本篇文章给大家分享的是有关Oracle数据库升级或数据迁移的方法是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。这里论述了oracle数据库升级的升级前的准备、升级过程和升...
    99+
    2023-06-06
  • PostgreSQL中的数据库迁移和升级如何操作
    在 PostgreSQL 中进行数据库迁移和升级需要谨慎操作,以下是一些常用的方法: 备份数据:在进行数据库迁移和升级之前,务必...
    99+
    2024-04-09
    PostgreSQL
  • 在Oracle中如何执行数据库升级和迁移
    在Oracle数据库中,执行数据库升级和迁移通常涉及以下步骤: 创建数据库备份:在进行升级或迁移之前,首先应该创建数据库的完整备...
    99+
    2024-04-09
    Oracle
  • 使用RMAN还原数据库到某个时间点
    在数据库备份完全可用给的情况下,可以通过如下方式还原数据库到某个时间点 ...
    99+
    2024-04-02
  • 如何利用RMAN备份重建数据库
    这篇文章主要介绍了如何利用RMAN备份重建数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。有时数据库由于某些原因需要全部销毁重建,之前的...
    99+
    2024-04-02
  • MOS怎么利用RMAN可传输表空间迁移数据库到不同字节序的平台
    小编给大家分享一下MOS怎么利用RMAN可传输表空间迁移数据库到不同字节序的平台,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • 数据库升级的革命:无缝版本迁移的秘诀
    自动化脚本: 自动化脚本是无缝版本迁移的关键组件。这些脚本将升级过程分解成一系列步骤,允许数据库系统在尽可能少的手动干预下自动执行这些步骤。自动化脚本可以验证架构变更、迁移数据并更新配置,从而简化升级过程。 变更跟踪和回滚: 有效的变更跟...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作