论文部分内容阅读
摘 要:本文研究数字化校园核心数据库升级问题,主要涉及升级方案确定、升级实践、应急保障方案、备份保障机制等。通过对比分析,确定服务器、操作系统、集群与存储管理软件、数据库版本等多个层面升级方案。升级前进行充分的模拟测试,及时发现并解决问题,为数据库升级扫清障碍。以服务器、操作系统、集群与存储管理软件升级为基础,利用oracle自带的数据泵工具,合理规划升级时间,在节奏可控的方式下实现oracle实时应用集群模式升级。升级后从数据库层面与业务层面对数据进行校验,保障迁移前后数据的一致性。制定应急保障措施和备份保障机制,保障数据库系统正常运行,进一步提高业务系统数据的可用性和安全性。
关键词:数据泵;Oracle实时应用集群;数据安全;数据迁移
中图分类号:G647 文献标志码:A 文章编号:1673-8454(2017)15-0052-07
一、建设背景
随着信息化迅猛发展,信息化建设过程中诸多问题日益凸显,如缺少统一应用平台,信息孤岛现象严重;数据标准不统一,不利于数据共享;缺乏相应的信息标准和管理规范;业务系统不完善,无法为全校师生提供全方位服务等等。华东师范大学于2002年启动了数字化校园公共数据库系统建设项目,公共数据库系统是学校的一个高层应用平台,通过统一门户网站形式,集成了校级核心业务系统,如办公自动化系统、研究生系统、人事系统、继续教育系统、党群系统、教务系统、后勤系统、科研系统等。通过统一身份认证方式,实现门户网站一次登录便可访问所有集成应用服务。同时建立核心数据库模式,用于存放校级业务系统数据,实现业务数据的集中管理和共享。公共数据库系统在学校信息化进程中具有十分重要的意义,服务于学校教学、科研、管理和生活等各个方面,有利于进一步提升学校核心竞争力。[1-3]公共数据库系统体系结构如图1所示。
目前,我校数字化校园公共数据库系统的核心数据库采用oracle10g RAC,承载数据库的服务器采用的是两台Oracle M5000小型机,操作系统为Solaris 10版本,集群和存储管理软件采用的是Veritas Storage Foundation for RAC 5.0 Mp3。当前存在的主要问题:一是支撑核心数据库的两台M5000小型机运行超过六年,设备老化,維护成本高,且CPU处理能力、内存等方面性能已经落后于学校信息化建设的步调,系统稳定性存在较大风险,存在严重的安全隐患;二是核心数据库版本为Oracle10g RAC,且10G版本的主要支持和扩展支持都已结束,官方不再对新的问题提供支持服务,严重影响数据库安全。综合考虑,核心数据库升级势在必行。
二、升级方案确定
本次升级将实现由现有的“Oracle M5000 Solaris10.2 SFRAC5.0 Mp3 Oracle10.2.0.4RAC”升级到“oracle M10-4 Solaris11.3 Grid11.2.0.4 Oracle11.2.0.4RAC”。通过购置两台新的小型机Oracle M10-4[4]来替换两台老的Oracle M5000,采用小型机专有的solaris系统[5],利用Oracle自身的集群和存储管理软件Grid infrastructure替换第三方赛门铁克SFRAC[6],并通过数据泵的方式来实现Oracle10g RAC到Oracle11g RAC[7-8]升级。
(一)服务器升级方案确定
支撑核心数据库的小型机Oracle M5000由于运行时间过长,以及性能不能满足学校信息化建设步伐,需要进行服务器升级。在升级选择中,服务器类型需要考虑小型机还是x86服务器,操作系统类型需要考虑是unix、Linux还是Windows,最终我们选择在小型机M10-4部署操作系统solaris方案,主要基于以下四点考虑。
1.软硬件融合程度高。采用Oracle M10-4作为新的数据库服务器,搭载特有Oraclesolaris操作系统,运行Oracle数据库。从服务器、操作系统到数据库均由Oracle公司统一设计、研发、测试和生成,软硬件融合度更好,提供一整套稳定的解决方案,有利于数据库性能极致发挥。
2.高级别的可靠性、可用性和可维护性(RAS)特性。作为公共数据库系统的核心数据库服务器,在可靠性、可用性和安全性等方面具有严苛的要求。Oracle M10-4延续大型机高标准的系统与部件设计技术,具有大型机的RAS特性,如通过指令重试实现自动恢复、高达 2 TB 的系统内存具有纠错码 (ECC) 保护功能并支持扩展 ECC、数据路径完整性保证以及可配置的内存镜像等。此外,该服务器的磁盘、I/O 卡、电源和风扇采用冗余配置且可热交换。Oracle M10-4能够保证全年7X24正常运作,为关键业务提供实时、稳定、安全服务。
3.性能优势。由于核心数据库业务模型复杂,而且实时性高,主要是基于内存的数据交换及基于多数据源的交易处理,因而对于响应速度及高并发具有很高的要求。Oracle M10-4采用多核多线程技术的SPARC 64 X处理器以及专用高速I/O通道,运行效率高,响应时间短,支持用户高并发,更快对业务请求进行处理。
4.可扩展性。考虑到公共数据库系统是个不断发展的系统,无论是处理能力还是存储的数据量都在不断增长,因而需要数据库服务器的伸缩性和升级能力强,以适应今后较长一段时间的业务需求。Oracle M10-4在CPU、内存、I/O以及利用现有成熟的集群技术进行节点扩充等多个方面都具有良好的可扩展性。
(二)集群与存储管理软件升级方案确定
目前数据库服务器运行的集群与存储管理软件是第三方赛门铁克的SFRAC,在本次升级中,我们需要考虑集群与存储管理软件升级问题。在升级选择中,是继续使用第三方集群与管理软件,还是使用oracle自身集群与管理软件,我们最终确定使用Oracle自身的集群与管理软件Grid infrastructure,主要基于以下三点考虑。 1.节省成本。在升级选择中,我们采用Oracle自身的集群与管理软件Grid infrastructure,无需再购买第三方集群与管理软件。
2.兼容性好。Oracle公司对Grid infrastructure与Oracle数据库进行统一设计、研发和调试等,实现两者高度集成,有利于RAC稳定性及高可用性。
3.易于管理与维护。即使使用第三方集群与存储管理软件,也需要安装Oracle的集群软件clusterware,这意味着第三方集群软件只能代替clusterware的部分功能,因此采用Oracle自身的集群与管理软件更易于管理和维护。
(三)oracle数据库升级方案确定
当前数字化校园核心数据库版本为Oracle10G RAC,且10G版本的主要支持和扩展支持都已结束,官方不再对新的问题提供支持服务,严重影响数据库安全。我们采用数据泵(expdp/impdp)方式来实现Oracle10.2.0.4RAC到Oracle11.2.0.4 RAC升级,主要基于以下四点考虑。
1.升级速度快。数据泵是Oracle10g新引入的数据迁移工具,是传统exp/imp的扩展集,支持并行模式,多线程同时进行数据操作,导入导出速度更快,有利于减少停机时间,及时恢复公共数据库系统的运行。
2.可操作性强。数据泵作为一种任务来运行与管理,任务可以进行控制、暂停、重新开始、终止、并行数修改及后台自动运行等操作。此外,可以通过Exclude与Include支持选择部分对象来处理,通过FLASHBACK_TIME参数将某一时刻的一致性数据取出,通过ESTIMATE参数根据分配的块或统计信息进行空间估计等等。在升级过程中,我们还可以通过调用STATUS实时察看任务的工作状态,可以了解到每个业务线程的状态、当前正在处理的对象和完成的百分比以及详细的工作进度和错误,保证升级的顺利进行。
3.升级风险低。本次采用Oracle11g作为最终升级版本,考虑到数字化校园的业务系统主要基于Oracle10g开发,如果跨版本直接升级到Oracle12c,会存在比较大的代码调整与兼容性问题,采用Oracle11g风险相对较低。
4.穩定性与性能提升。Oracle11g相对于Oracle10g而言,性能与稳定性进一步提升,如扩展Oracle网格计算功能来实现IT资源有效利用、新增故障诊断功能更利于问题解决等等。
三、核心数据库升级实践
本节详细描述了核心数据库升级实践,主要涉及升级前的模拟测试、升级具体操作、升级后的数据验证等。模拟测试为数据库升级的可行性提供依据,作为存放校级业务系统数据的核心数据库,在升级前需要进行充分的测试,及时发现并解决问题,合理规划升级时间,为数据库升级扫清障碍。在升级具体操作中,需要在两台M10-4上进行数据库实时应用集群部署实施,通过数据泵方式完成老数据库到新数据库的数据迁移工作。在完成数据迁移之后,为了保障升级前后数据的一致性,分别从数据库和业务系统两个层面进行数据校验,保障在新数据库环境下业务系统能够高效稳定地运作。
(一)升级模拟测试
本次升级主要内容涉及服务器、操作系统、集群与存储管理软件以及数据库版本等多个方面。从业务数据角度分析,使用数据泵进行数据迁移过程中可能会出现数据丢失、数据不一致或数据不完整等问题。从业务系统角度分析,公共数据库系统主要基于Oracle 10g开发与测试,在Oracle 11g并没有进行过相关功能测试。考虑到Oracle11g与Oracle10g的差别,如Oracle部分函数语句在10G和11G上运行时输出可能不一致等,系统在Oracle 11g上运行时可能存在一定的代码调整和兼容性问题。因此,必须进行充分的测试,及时发现问题并解决问题,保障核心数据库升级工作顺利进行。
我们搭建一个独立于生产环境的作业环境进行测试工作。在M10-4上部署Oracle11g RAC,并通过数据泵的方式将生产数据库的数据导入到新搭建测试数据库中,并进行生产数据库与测试数据库的数据验证,关于这部分主要内容将在接下来的升级具体实施和升级后数据验证中进行详细阐述。数据库测试环境搭建完成之后,我们需要搭建相关业务系统测试环境。为了保证测试的有效性,我们需要业务测试环境与生产环境配置保持一致,如cpu、内存、操作系统、中间件等。业务测试环境搭建的具体流程如下。
(1)为业务系统配置相关虚拟机,用于部署业务系统。
(2)在业务虚拟机上安装配置相关的发布服务器,如weblogic、tomcat等,用于提供业务发布。
(3)在生产环境中将业务系统进行打包,将打包文件传送到测试虚拟机上进行部署。如操作系统为Linux的业务,我们使用tar命令来将业务系统打包,通过scp命令将其传输到测试环境中。
(4)在测试环境中,配置测试数据源,通过防火墙,来阻断与生产数据库的服务请求,保证数据源为测试环境数据库。
(5)启动发布服务器,进行业务发布及相关业务功能模块测试工作。
模拟测试工作是保障核心数据库顺利升级的前提与关键。测试环境部署完成后,组织人员对业务系统功能进行测试,如查询、修改、删除、增加、导入、导出、报表等功能,采用多人轮流测试方式,确保系统的每一项功能都能测试通过。经过两个多月的测试,记录并解决在测试过程中出现的问题,业务系统在测试环境中运行稳定。通过模拟测试,有利于升级中问题的发现与解决,合理规划升级所需时间,把控升级节奏,保障升级工作的顺利进行。
(1)问题发现与解决。通过模拟测试,我们可以及时发现数据迁移过程中以及在新数据库下业务系统可能出现的问题,有充足的时间对出现的问题进行处理,为数据库正式升级扫清障碍,保证升级的顺利进行。
关键词:数据泵;Oracle实时应用集群;数据安全;数据迁移
中图分类号:G647 文献标志码:A 文章编号:1673-8454(2017)15-0052-07
一、建设背景
随着信息化迅猛发展,信息化建设过程中诸多问题日益凸显,如缺少统一应用平台,信息孤岛现象严重;数据标准不统一,不利于数据共享;缺乏相应的信息标准和管理规范;业务系统不完善,无法为全校师生提供全方位服务等等。华东师范大学于2002年启动了数字化校园公共数据库系统建设项目,公共数据库系统是学校的一个高层应用平台,通过统一门户网站形式,集成了校级核心业务系统,如办公自动化系统、研究生系统、人事系统、继续教育系统、党群系统、教务系统、后勤系统、科研系统等。通过统一身份认证方式,实现门户网站一次登录便可访问所有集成应用服务。同时建立核心数据库模式,用于存放校级业务系统数据,实现业务数据的集中管理和共享。公共数据库系统在学校信息化进程中具有十分重要的意义,服务于学校教学、科研、管理和生活等各个方面,有利于进一步提升学校核心竞争力。[1-3]公共数据库系统体系结构如图1所示。
目前,我校数字化校园公共数据库系统的核心数据库采用oracle10g RAC,承载数据库的服务器采用的是两台Oracle M5000小型机,操作系统为Solaris 10版本,集群和存储管理软件采用的是Veritas Storage Foundation for RAC 5.0 Mp3。当前存在的主要问题:一是支撑核心数据库的两台M5000小型机运行超过六年,设备老化,維护成本高,且CPU处理能力、内存等方面性能已经落后于学校信息化建设的步调,系统稳定性存在较大风险,存在严重的安全隐患;二是核心数据库版本为Oracle10g RAC,且10G版本的主要支持和扩展支持都已结束,官方不再对新的问题提供支持服务,严重影响数据库安全。综合考虑,核心数据库升级势在必行。
二、升级方案确定
本次升级将实现由现有的“Oracle M5000 Solaris10.2 SFRAC5.0 Mp3 Oracle10.2.0.4RAC”升级到“oracle M10-4 Solaris11.3 Grid11.2.0.4 Oracle11.2.0.4RAC”。通过购置两台新的小型机Oracle M10-4[4]来替换两台老的Oracle M5000,采用小型机专有的solaris系统[5],利用Oracle自身的集群和存储管理软件Grid infrastructure替换第三方赛门铁克SFRAC[6],并通过数据泵的方式来实现Oracle10g RAC到Oracle11g RAC[7-8]升级。
(一)服务器升级方案确定
支撑核心数据库的小型机Oracle M5000由于运行时间过长,以及性能不能满足学校信息化建设步伐,需要进行服务器升级。在升级选择中,服务器类型需要考虑小型机还是x86服务器,操作系统类型需要考虑是unix、Linux还是Windows,最终我们选择在小型机M10-4部署操作系统solaris方案,主要基于以下四点考虑。
1.软硬件融合程度高。采用Oracle M10-4作为新的数据库服务器,搭载特有Oraclesolaris操作系统,运行Oracle数据库。从服务器、操作系统到数据库均由Oracle公司统一设计、研发、测试和生成,软硬件融合度更好,提供一整套稳定的解决方案,有利于数据库性能极致发挥。
2.高级别的可靠性、可用性和可维护性(RAS)特性。作为公共数据库系统的核心数据库服务器,在可靠性、可用性和安全性等方面具有严苛的要求。Oracle M10-4延续大型机高标准的系统与部件设计技术,具有大型机的RAS特性,如通过指令重试实现自动恢复、高达 2 TB 的系统内存具有纠错码 (ECC) 保护功能并支持扩展 ECC、数据路径完整性保证以及可配置的内存镜像等。此外,该服务器的磁盘、I/O 卡、电源和风扇采用冗余配置且可热交换。Oracle M10-4能够保证全年7X24正常运作,为关键业务提供实时、稳定、安全服务。
3.性能优势。由于核心数据库业务模型复杂,而且实时性高,主要是基于内存的数据交换及基于多数据源的交易处理,因而对于响应速度及高并发具有很高的要求。Oracle M10-4采用多核多线程技术的SPARC 64 X处理器以及专用高速I/O通道,运行效率高,响应时间短,支持用户高并发,更快对业务请求进行处理。
4.可扩展性。考虑到公共数据库系统是个不断发展的系统,无论是处理能力还是存储的数据量都在不断增长,因而需要数据库服务器的伸缩性和升级能力强,以适应今后较长一段时间的业务需求。Oracle M10-4在CPU、内存、I/O以及利用现有成熟的集群技术进行节点扩充等多个方面都具有良好的可扩展性。
(二)集群与存储管理软件升级方案确定
目前数据库服务器运行的集群与存储管理软件是第三方赛门铁克的SFRAC,在本次升级中,我们需要考虑集群与存储管理软件升级问题。在升级选择中,是继续使用第三方集群与管理软件,还是使用oracle自身集群与管理软件,我们最终确定使用Oracle自身的集群与管理软件Grid infrastructure,主要基于以下三点考虑。 1.节省成本。在升级选择中,我们采用Oracle自身的集群与管理软件Grid infrastructure,无需再购买第三方集群与管理软件。
2.兼容性好。Oracle公司对Grid infrastructure与Oracle数据库进行统一设计、研发和调试等,实现两者高度集成,有利于RAC稳定性及高可用性。
3.易于管理与维护。即使使用第三方集群与存储管理软件,也需要安装Oracle的集群软件clusterware,这意味着第三方集群软件只能代替clusterware的部分功能,因此采用Oracle自身的集群与管理软件更易于管理和维护。
(三)oracle数据库升级方案确定
当前数字化校园核心数据库版本为Oracle10G RAC,且10G版本的主要支持和扩展支持都已结束,官方不再对新的问题提供支持服务,严重影响数据库安全。我们采用数据泵(expdp/impdp)方式来实现Oracle10.2.0.4RAC到Oracle11.2.0.4 RAC升级,主要基于以下四点考虑。
1.升级速度快。数据泵是Oracle10g新引入的数据迁移工具,是传统exp/imp的扩展集,支持并行模式,多线程同时进行数据操作,导入导出速度更快,有利于减少停机时间,及时恢复公共数据库系统的运行。
2.可操作性强。数据泵作为一种任务来运行与管理,任务可以进行控制、暂停、重新开始、终止、并行数修改及后台自动运行等操作。此外,可以通过Exclude与Include支持选择部分对象来处理,通过FLASHBACK_TIME参数将某一时刻的一致性数据取出,通过ESTIMATE参数根据分配的块或统计信息进行空间估计等等。在升级过程中,我们还可以通过调用STATUS实时察看任务的工作状态,可以了解到每个业务线程的状态、当前正在处理的对象和完成的百分比以及详细的工作进度和错误,保证升级的顺利进行。
3.升级风险低。本次采用Oracle11g作为最终升级版本,考虑到数字化校园的业务系统主要基于Oracle10g开发,如果跨版本直接升级到Oracle12c,会存在比较大的代码调整与兼容性问题,采用Oracle11g风险相对较低。
4.穩定性与性能提升。Oracle11g相对于Oracle10g而言,性能与稳定性进一步提升,如扩展Oracle网格计算功能来实现IT资源有效利用、新增故障诊断功能更利于问题解决等等。
三、核心数据库升级实践
本节详细描述了核心数据库升级实践,主要涉及升级前的模拟测试、升级具体操作、升级后的数据验证等。模拟测试为数据库升级的可行性提供依据,作为存放校级业务系统数据的核心数据库,在升级前需要进行充分的测试,及时发现并解决问题,合理规划升级时间,为数据库升级扫清障碍。在升级具体操作中,需要在两台M10-4上进行数据库实时应用集群部署实施,通过数据泵方式完成老数据库到新数据库的数据迁移工作。在完成数据迁移之后,为了保障升级前后数据的一致性,分别从数据库和业务系统两个层面进行数据校验,保障在新数据库环境下业务系统能够高效稳定地运作。
(一)升级模拟测试
本次升级主要内容涉及服务器、操作系统、集群与存储管理软件以及数据库版本等多个方面。从业务数据角度分析,使用数据泵进行数据迁移过程中可能会出现数据丢失、数据不一致或数据不完整等问题。从业务系统角度分析,公共数据库系统主要基于Oracle 10g开发与测试,在Oracle 11g并没有进行过相关功能测试。考虑到Oracle11g与Oracle10g的差别,如Oracle部分函数语句在10G和11G上运行时输出可能不一致等,系统在Oracle 11g上运行时可能存在一定的代码调整和兼容性问题。因此,必须进行充分的测试,及时发现问题并解决问题,保障核心数据库升级工作顺利进行。
我们搭建一个独立于生产环境的作业环境进行测试工作。在M10-4上部署Oracle11g RAC,并通过数据泵的方式将生产数据库的数据导入到新搭建测试数据库中,并进行生产数据库与测试数据库的数据验证,关于这部分主要内容将在接下来的升级具体实施和升级后数据验证中进行详细阐述。数据库测试环境搭建完成之后,我们需要搭建相关业务系统测试环境。为了保证测试的有效性,我们需要业务测试环境与生产环境配置保持一致,如cpu、内存、操作系统、中间件等。业务测试环境搭建的具体流程如下。
(1)为业务系统配置相关虚拟机,用于部署业务系统。
(2)在业务虚拟机上安装配置相关的发布服务器,如weblogic、tomcat等,用于提供业务发布。
(3)在生产环境中将业务系统进行打包,将打包文件传送到测试虚拟机上进行部署。如操作系统为Linux的业务,我们使用tar命令来将业务系统打包,通过scp命令将其传输到测试环境中。
(4)在测试环境中,配置测试数据源,通过防火墙,来阻断与生产数据库的服务请求,保证数据源为测试环境数据库。
(5)启动发布服务器,进行业务发布及相关业务功能模块测试工作。
模拟测试工作是保障核心数据库顺利升级的前提与关键。测试环境部署完成后,组织人员对业务系统功能进行测试,如查询、修改、删除、增加、导入、导出、报表等功能,采用多人轮流测试方式,确保系统的每一项功能都能测试通过。经过两个多月的测试,记录并解决在测试过程中出现的问题,业务系统在测试环境中运行稳定。通过模拟测试,有利于升级中问题的发现与解决,合理规划升级所需时间,把控升级节奏,保障升级工作的顺利进行。
(1)问题发现与解决。通过模拟测试,我们可以及时发现数据迁移过程中以及在新数据库下业务系统可能出现的问题,有充足的时间对出现的问题进行处理,为数据库正式升级扫清障碍,保证升级的顺利进行。