代码编织梦想

Oracle使用RMAN从Windows迁移数据到Linux
由于Windows与Linux同属于little endian平台,所以Windows平台RMAN数据库备份可以在Linux直接使用,但是Windows平台下的归档日志无法在Linux平台直接用于recover database,但是我们可以使用增量备份解决增量问题,然后最后在源库停机下做最后备份,减少源库停机时间。

1. 基础数据备份恢复
1.1 源端Windows 做0级备份
# 下面仅给出示例,实际命令与并行度需要根据实际服务器负载以及磁盘能力配置。
RMAN> backup as compressed backupset incremental level 0 database format 'd:\rmanbak\full_level0_%d_%T_%s_%p' tag 'full_level_0';
RMAN> backup current controlfile format 'd:\rmanbak\ctl_level0_%d_%T_%s_%p' tag 'ctl_bak_1';

1.2 Linux端恢复0级备份
# 恢复spfile与修改pfile中参数、上传备份集到Linux服务器等基础步骤略过,下面仅演示恢复过程
RMAN> startup nomount;
RMAN> restore controlfile from '/rman/windowsLinux/CTL.BAK';
RMAN> alter database mount;

# 清理控制文件记录的原来备份信息记录
RMAN> crosscheck backup;
RMAN> delete noprompt expired backup;

# 重新将备份片注册到控制文件记录中
RMAN> catalog start with '/rman/windowsLinux/';

# restore数据库0级备份
RMAN>run{
set newname for database to '/veridata/oradata/%U.dbf';   # 如果需要与源文件名保持一致,则可以为每个datafile单独set newname
set newname for tempfile '+DATA/czh/tempfile/temp.264.1076500267' to '/veridata/oradata/temp.264.1076500267';
restore database;
switch datafile all;
switch tempfile all;
}

2. 增量数据恢复
2.1 源端Windows做1级备份
RMAN> backup as compressed backupset incremental level 1 database format 'd:\rmanbak\incr_level0_%d_%T_%s_%p' tag 'incr_level_1';
1
2.2 Linux端恢复1级备份
# 增量恢复,只应用增量备份即可
RMAN> catalog start with '/rman/windowsLinux/';
RMAN> recover database;

2.3 停机窗口Windows最后一次1级备份
停机窗口前,可以根据需要,每天,每隔几小时定时重复执行上述2.1、2.2步骤,可以大幅度减少最后一次增量备份以及恢复的时间,缩短停机时间。

# 由于Linux无法直接应用Windows平台下归档,所以需要在停机窗口干净关闭数据库,启动到mount状态
SQL> create table test as select * from dba_users;   # 创建测试表,以便最后验证数据是否完全恢复
RMAN> shutdown immediate;
RMAN> startup mount;
RMAN> backup as compressed backupset incremental level 1 database format 'd:\rmanbak\incr_level0_%d_%T_%s_%p' tag 'incr_level_1';

# 需要在mount下重新备份最新的控制文件,以便最后保证最后恢复的数据文件头以及控制文件SCN保持一致。
RMAN> backup current controlfile format 'd:\rmanbak\ctl_level0_%d_%T_%s_%p' tag 'ctl_bak_final';

2.4 Linux端恢复
# 直接恢复最后一次增量
RMAN> catalog start with '/rman/windowsLinux/';
RMAN> recover database;

# datafile应用完最后一次增量之后,重新恢复最新控制文件,保证数据文件与控制文件记录SCN保持一致。
# 这步是保证数据库能一致性打开的关键,如果不回复mount后备份的控制文件则无法打开数据库。
RMAN> shutdown immediate;
RMAN> startup nomount;
RMAN> startup nomount;
RMAN> restore controlfile from '/rman/windowsLinux/CTL_FINAL.BAK';
RMAN> alter database mount;

# 由于新恢复的源端控制文件,清理控制文件中记录的原先备份片信息
RMAN> crosscheck backup;
RMAN> delete noprompt expired backup;

# 由于控制文件新恢复,所以原先restore的数据文件路径需要重新catalog注册到控制文件,然后switch
RMAN> catalog start with '/oradata/orcl';
RMAN> switch database to copy;

# open read only,验证测试表
RMAN> alter database open read only;
SQL> desc test;

# 检查redo log位置,检查tempfile位置,如有需要,修正文件位置
SQL> select member from v$logfile;
SQL> select name from v$tempfile;
# 修正redo举例,tempfile可以直接添加新的tempfile然后drop旧的即可。
SQL> alter database rename file '/u01/app/oracle/product/11.2.0/dbhome_1/oradata/db2/group_2.log' TO '+DATA/db2/onlinelog/group_2.275.918765543';

# 验证无误,可以open打开数据库
SQL> alter database open resetlogs;

2.5 恢复后收尾工作
对Linux数据库进行全量备份。
检查数据库db link、diretory等对环境有强依赖对象是否无效,如有必要,进行重建修正。
————————————————
版权声明:本文为CSDN博主「普通网友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jwocnimabi/article/details/121271831

oracle单实例数据库windows环境跨平台迁移到linux_iverycd的博客-爱代码爱编程

Oracle单实例数据库Windows环境跨平台迁移到Linux 一、基于网络Active database二、基于备份集Backup-based 一、基于网络Active database 场景:windo

windows下oracle11g备份,【RMAN】Oracle11g使用rman迁移升级数据库(win_to_linux)-爱代码爱编程

前言:在迁移Oracle数据库的过程中,我们会遇到很多种情况,例如32位操作系统下的数据库迁移到64位,不同操作系统平台之间的迁移,那么怎么选择迁移工具呢,首先我们需要确认迁移源端和目标端的环境,再次停机时间,数据量大小,相对而言,逻辑迁移更稳妥一点,不管是手动的expdp/impdp还是借助其他工具,OGG之类,像高水位这样的问题也会得到缓解。rma

windows下oracle11g备份,ORACLE11G从WINDOWS到LINUX跨平台迁移并升级-爱代码爱编程

Windows11.2.1-->Linux11.2.3 1、rman备份 2、查看备份集头块格式 select*from v$transportable_platform order by endian_format; 得到结果win64和linux64数据文件头块格式相同不需要转换 3、ftp备份集文件到linux主机上(已安装好11

oracle 域 迁移 linux,Oracle数据库迁移 Windows To Linux (RMAN异构迁移)-爱代码爱编程

两边数据数据库版本一致-RMAN异构迁移 听很多大佬说RMAN是不支持异构迁移的....,但是还是操作了一波,可以成功! 源库:创建源库的pfile文件 shutdown immediate startup mount create pfile='D:\oracle\oradata\protect\pfile0413.ora' from sp

oracle 域 迁移 linux,Oracle数据库跨平台迁移(Linux到Windows)-爱代码爱编程

Oracle数据库从Linux平台到Windows跨平台迁移 1. 场景说明 1.1.客户原环境 OS:Red Hat Enterprise Linux Server release 6.5DB:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

oracle迁移数据库 rman,Linux平台下使用RMAN进行Oracle数据库迁移-爱代码爱编程

第四部分:修改实例名,以及数据库名相关内容可以参见先前的文章:Oracle数据库实例的重命名( http://blog.sina.com.cn/s/blog_67be3b4501016dgu.html ) SYS@test > shutdown immediate; SYS@test > startup mount 修改数据文件、控制

oracle asm 到 asm rman 迁移,使用RMAN执行oracle ASM数据迁移-爱代码爱编程

8、使用RMAN执行oracleASM数据迁移 Oracle ASM数据迁移概述 Oracle ASM数据迁移的目的 Oracle ASM的替代品包括文件系统、裸设备和SAN配置。和这些替代品相比,Oracle ASM有一些超越的优点,包括性能优化、冗余包含和负载均衡。不再需要第三方的逻辑卷管理器,因为oracle ASM为你管理磁盘。Oracl

sap 46c oracle 从unix 迁移至 windows,oracle通过rman从linux迁移至windows-爱代码爱编程

前两天在技术交流群里看到有人在迁移oracle时遇到问题(从linux环境迁移至windows),在此试验一下整个过程。 1.备份整库 在linux环境下通过rman备份整库,并将备份集拷贝至windows环境下,此步骤省略。 其中有两个备份集: o1_mf_s_1042364904_hfoxqb24_.bkp    ----参数文件和控制文件

rman从linux恢复到windows,RMAN迁移(WINDOWS到Linux)-爱代码爱编程

RMAN功能确实强大,需要将一套跑在WINDOWS上的数据库迁移到LINUX上来,CONVERT DATABASE这个功能 操作起来也不难,但是要注意的是两个数据库的版本(包括小版本)要一样,否则开库的时候会报错。 1.首先查看数据库是否支持你要迁移的操作系统 select * from V$TRANSPORTABLE_PLATFORM orde

使用数据泵从win迁移到linux,【oracle相关】通过数据泵将win系统oracle数据库导入到linux下...-爱代码爱编程

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 【问题】不用rman,只采用oracle中数据泵导入导出工具将win系统下的oracle数据导入到linux系统下 【分析】 当数据不是很大,且对rman恢复不熟悉的朋友,可以用数据泵工具来导入导出,操作相对来说繁琐,但相对简单 【处理】 第一步:在linux创建orcl实例,并手工创建表空间以及

windows+Oracle单机迁移至Linux+Oracle RAC迁移方案-爱代码爱编程

数据库迁移前后架构信息对比 根据 ORACLE官方文档中对于WINDOWS环境到LINUX环境的数据库迁移方式,结合用户数据库系统不允许长时间停机的特点,我们决定采用ORACLE DATAGUARD方式进行数据的初始同步。 正式迁移时只需要关闭主库,最新的数据已经通过DATAGUARD同步到LINUX一体机环境的数据库,此时只需要进行数据库升级以及向RAC

Oracle RMAN增量迁移Windows单机到Linux Oracle RAC-爱代码爱编程

本案例根据真实案例整理,但是文档中目录与环境均在虚拟机环境中模拟,不涉及任何敏感信息,由于经过了多次修改,所以存在不同部分,目录与文件不对应情况,但是不影响整体阅读。 数据库版本11.2.0.41. 基础数据备份恢复 由于Windows与Linux同属于little endian平台,所以Windows平台RMAN数据库备份可以在Lin

springboot生产监控_魅lemon的博客-爱代码爱编程

文章目录 一、健康监控简介1、介绍2、SpringBoot准备工作3、其他 二、健康检测触达关键组件1、内置组件健康详情2、自定义组件健康详情3、自定义多 HealthIndicator 聚合 三、对外暴露应

基于java演唱会购票系统计算机毕业设计源码+系统+数据库+lw文档+部署_ssh 演唱会门票预约管理系统-爱代码爱编程

基于JAVA演唱会购票系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA演唱会购票系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、HTML、CSS、JS、JQuery等技术 后端技术

pycharm连接远程数据库_pycharm连接clickhouse-爱代码爱编程

创建连接 首先我们需要点击Database,创建所需的数据库连接(这里使用PostgreSQL做演示)。 配置SSH信息 随后在弹出的窗口中选择SSH/SSL一栏,勾选User SSH tunnel 点击小省略号