Oracle 12.2 升级案例:云和恩墨助力某市人社核心系统升级迁移

本文主要是介绍Oracle 12.2 升级案例:云和恩墨助力某市人社核心系统升级迁移,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

某市人力资源和社会保障局属于政府机构,执行人力资源和社会保障的监督、管理、执行职能。其核心数据库系统经过多年使用运行,正面临着设备老旧、性能缓慢等突出问题。

为提高联网的实时业务交互和数据交换能力,为人社局的各个应用提供安全、可靠的网络环境,并使用和跟踪最新数据库技术,客户决定实现数据库升级的重大业务变更工作,经过多方评估,云和恩墨成为用户的服务供应商,为用户提供数据库升级迁移服务。

最终,通过精密规划、精确实施,云和恩墨为用户实现五小时零故障核心数据库Oracle 12.2大版本升级迁移,迁移总数据量达40T以上,并通过最佳实践确保了用户系统的稳定高效率运行!

面临挑战

在本项目实施之前,用户面临的挑战包括硬件老化、性能低下、故障频繁等:

  • 客户迁移前,数据库系统的硬件为IBM 780服务器,已连续运行多年,在迁移前半年内,连续出现过多次硬件损坏,I/O也一直接近于满负荷状态,性能瓶颈突出;

  • 客户的数据库软件为 Oracle 10g 版本,Oracle已停止对该版本的官方维护支持,对比当前的 12c 云数据库时代,客户版本明显滞后;

    根据下图所示,大家可以看到,自2018年开始,事实上Oracle 18c 已经登上了舞台,属于Oracle 12c的时代已经加速到来。

    f38276f4ec994bef28213863f908e719.png

  • 新项目需要将数据库进行升级迁移,需要迁移数据总量超过 40 TB;且需要将数据库版本由 10g 升级至 Oracle 最新的数据库版本,Oracle 12.2。

    海量数据跨越一个大版本的升级,再加上时间要求,对升级工作就带来了相当大的挑战

    9f925a3875434cca477591217ac84282.png

客户场景和解决方案

用户的场景决定了迁移的方案和时间。对于本案例来说,这也是核心要素。

  • 在硬件方面,主机、网络、存储等全部重新采购,主机仍然采用小型机,全面更换,这样就有了一套独立的新环境。

  • 软件方面,新环境操作系统使用 AIX,同操作系统平台的迁移就简化了数据库的迁移工作。

数据迁移,可以通过搭建 DataGuard 同步到新服务器:

0e52620acfbaa8c1a1a0dab356a951eb.png

正式割接时,将数据库版本先由原来的10.2.0.4升到11.2.0.4,再由11.2.0.4升级为12.2,然后将非CDB的数据库转化CDB架构。

实施步骤

完善的实施步骤,严谨的测试过程,是项目成功的有力保障,为此云和恩墨经过详细的设计、测试验证、最终实施了成功的迁移过程,以下的实践步骤供大家参考:

1、迁移环境调研
数据库当前环境调研;数据库遗留问题汇总梳理以及新平台数据库的架构设计、版本选型、补丁实施以及调试等工作。

2、迁移计划及实施方案输出
根据前期数据库调研情况并结合客户实际的硬件条件现状,制定合理的迁移升级方案,并制定完善的回退方案,以确保整个核心系统的可用性。

3、测试环境搭建及测试
测试环境搭建,测试环境性能测试,Orion测试,SPA性能测试,迁移升级方案可行性验证。

4、正式环境搭建及验证测试
数据库功能测试,数据库压力测试,正式环境的迁移方案演练,以及配合应用进行业务应用的功能验证。

5、迁移实施和现场保障
完成客户核心生产库所有数据的迁移工作。派驻公司内ACE专家,OCM资深工程师,提供至少两人现场保障服务,解决处理突发故障,兜底保障数据安全以及应用的正常运行。

6、GoldenGate版本升级
现有GoldenGae版本不支持12C数据库,需做版本升级。

7、Active DataGuard搭建
数据库迁移完成后,待核心生产库运行稳定后,协助搭建核心生产库的Active DataGuard。

8、质保服务
自项目实施之后,质保期三个月,为用户提供质量保障。

关键点分享

在这样一个大规模的数据库案例实施中,尤其是业内领先的新版本升级,不可避免会遇到一些已知和未知的问题,在实践中需要快速处理、规避,以实现实施控制。

在12.2的升级中,你可能遇到 ORA-01722 号错误,这是其中一个升级脚本遇到的:

810c4b745f50824ce6ab277bb5d06c0a.png

这是一个已知问题,根据 Oracle Mos文档 Upgrade to 12.2 Fails with Error:”ORA-01722: Invalid number : NONUPGRADED_TABLEDATA” (文档 ID 2279497.1) 的描述,可以通过如下的方式来解决:

1

2

3

4

5

6

7

set serveroutput on

@?/rdbms/admin/catuptabdata.sql

@?/rdbms/admin/utluptabdata.sql

execute dbms_preup.run_fixup_and_report('INVALID_SYS_TABLEDATA');

execute dbms_preup.run_fixup_and_report('INVALID_USR_TABLEDATA');

set serveroutput off

在执行 PDB 插入到 CDB 时,有一个重要的步骤: exec dbms_pdb.sync_pdb() ,这个步骤如果疏漏或出现错误会导致pdb的信息与cdb的信息不一致,数据库会将pdb置于受限模式 (“OPTION WARNING Database option mismatch: PDB installed version NULL” in PDB_PLUG_IN_VIOLATIONS (文档 ID 2020172.1),该文档中有详细的描述,大家可以参考。

相关阅读

动手为王 | Oracle 数据库跨版本升级迁移实践

积极拥抱互联网化 北京电信核心完成跨平台迁移

浙江移动完成国内最大规模的Oracle数据库升级

【云和恩墨业务介绍】之升级迁移服务

数据驱动,成就未来,云和恩墨,不负所托!

推荐阅读

安全稳健 - 全面保障城商行核心系统顺利升级

XTTS (Cross Platform Incremental Backup) 测试

IT基础架构变革在路上:青海移动的去“IE”之旅

从小型机到x86:四川电信核心数据库迁移

云和恩墨

数据驱动,成就未来。整合业界顶尖的技术与合作伙伴资源,围绕数据及相关领域,提供解决方案和专业服务。

IT基础架构

专业服务:云化(分布式)数据中心解决方案

支撑软件:分布式存储软件

数据架构

Oracle DB2 MySQL NoSQL

专项服务:混合架构 / 安全 / 容灾 / 优化 / 整合升级迁移

运维服务:运维服务  | 云化运维

人才培养:个人教育培训 | 在线教育

支撑软件:自动化运维软件 | 数据库监控软件

应用架构

专业服务:中间件 | 数据建模与模型优化 | SQL审核与优化

支撑软件:应用开发质量管控平台 

业务架构

数据治理 | 电子商务用户行业分析 | 数据资产运营

8b69fdce1637cf0b58a61a5229ff8adb.png

这篇关于Oracle 12.2 升级案例:云和恩墨助力某市人社核心系统升级迁移的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/506722

相关文章

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp