高校数字化校园核心数据库升级研究与实践
2017-08-16李雪锋陈丽荣张增修沈富可
李雪锋,陈丽荣,陈 洁,张增修,沈富可
(华东师范大学 信息化办公室,上海200241)
高校数字化校园核心数据库升级研究与实践
李雪锋,陈丽荣,陈 洁,张增修,沈富可
(华东师范大学 信息化办公室,上海200241)
本文研究数字化校园核心数据库升级问题,主要涉及升级方案确定、升级实践、应急保障方案、备份保障机制等。通过对比分析,确定服务器、操作系统、集群与存储管理软件、数据库版本等多个层面升级方案。升级前进行充分的模拟测试,及时发现并解决问题,为数据库升级扫清障碍。以服务器、操作系统、集群与存储管理软件升级为基础,利用oracle自带的数据泵工具,合理规划升级时间,在节奏可控的方式下实现oracle实时应用集群模式升级。升级后从数据库层面与业务层面对数据进行校验,保障迁移前后数据的一致性。制定应急保障措施和备份保障机制,保障数据库系统正常运行,进一步提高业务系统数据的可用性和安全性。
数据泵;Oracle实时应用集群;数据安全;数据迁移
一、建设背景
随着信息化迅猛发展,信息化建设过程中诸多问题日益凸显,如缺少统一应用平台,信息孤岛现象严重;数据标准不统一,不利于数据共享;缺乏相应的信息标准和管理规范;业务系统不完善,无法为全校师生提供全方位服务等等。华东师范大学于2002年启动了数字化校园公共数据库系统建设项目,公共数据库系统是学校的一个高层应用平台,通过统一门户网站形式,集成了校级核心业务系统,如办公自动化系统、研究生系统、人事系统、继续教育系统、党群系统、教务系统、后勤系统、科研系统等。通过统一身份认证方式,实现门户网站一次登录便可访问所有集成应用服务。同时建立核心数据库模式,用于存放校级业务系统数据,实现业务数据的集中管理和共享。公共数据库系统在学校信息化进程中具有十分重要的意义,服务于学校教学、科研、管理和生活等各个方面,有利于进一步提升学校核心竞争力。[1-3]公共数据库系统体系结构如图1所示。
目前,我校数字化校园公共数据库系统的核心数据库采用oracle10g RAC,承载数据库的服务器采用的是两台Oracle M5000小型机,操作系统为Solaris 10版本,集群和存储管理软件采用的是Veritas Storage Foundation for RAC 5.0 Mp3。当前存在的主要问题:一是支撑核心数据库的两台M5000小型机运行超过六年,设备老化,维护成本高,且CPU处理能力、内存等方面性能已经落后于学校信息化建设的步调,系统稳定性存在较大风险,存在严重的安全隐患;二是核心数据库版本为Oracle10g RAC,且10G版本的主要支持和扩展支持都已结束,官方不再对新的问题提供支持服务,严重影响数据库安全。综合考虑,核心数据库升级势在必行。
图1 公共数据库系统体系结构
二、升级方案确定
本次升级将实现由现有的“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公司对Gridinfrastructure与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)问题发现与解决。通过模拟测试,我们可以及时发现数据迁移过程中以及在新数据库下业务系统可能出现的问题,有充足的时间对出现的问题进行处理,为数据库正式升级扫清障碍,保证升级的顺利进行。
(2)升级时间确定。通过模拟测试,可以对整个项目各个环节进行时间统计,确定数据库正式升级所需要的时间。
(3)升级节奏的可控性。通过对整个升级项目的模拟测试,记录测试中出现的问题及解决方法,明确具体操作过程和步骤,可以有效地把控数据库的升级节奏,降低升级过程中出现未知问题的风险。
(二)升级具体实施
1.Oracle11g RAC部署实施
(1)环境准备
在进行Oracle11g RAC安装之前,需要进行以下五个方面的准备工作。
a.将两台新购置的Oracle M10-4上架并加电测试,通过网络及光纤跳线将小型机M10-4接入现有的网络拓扑中,如图2所示。
图2 M10-4接入现有网络拓扑
b.存储规划。在EMC vplex存储系统上为数据库提供vplex共享存储,实现存储层面异地双活容错。[9]划分3块10G大小的磁盘,用于配置GRIDDG磁盘组,存放OCR和voting disk;4块500G的磁盘,用于配置DATA磁盘组,存放数据库;1块1T的磁盘,用于配置FLASH磁盘组,作为恢复区;配置1块1T的磁盘,挂载到第一个节点目录/DATABACK,存放每天逻辑备份。
c.网络规划。M10-4配置了4块PCI-E千兆网卡,通过配置ipmp方式实现网络冗余功能,将net1和net2绑定为ipmp0,作为Oracle RAC的公有地址,用于提供外部服务;将net3和net4绑定为ipmp1,作为Oracle RAC的私有地址,用于集群心跳通信。从Oracle11Gr2开始,在原有的私有IP、公有IP及浮动IP的基础上引入了SCAN IP。SCAN是位于数据库和客户端之间的虚拟服务层,当有客户端请求时,通过SCAN IP监听,连接到后台集群数据库,实现负载均衡。
d.操作系统安装配置。在两台M10-4上安装配置最新版solaris11.3操作系统,在安装配置过程中,主要涉及管理模块配置、键盘选择、系统语言选择、磁盘分区配置、时区位置选择、时间同步协议配置、多路径功能配置、DNS配置、主机名配置、IP地址配置、solaris内核参数调整、shell配置、root用户远程登录配置、文件上传权限设置、hosts文件配置等。
e.数据库前期配置。在安装数据库实时应用集群的两个节点上进行数据库安装前相关配置,主要涉及Oracle与grid用户配置、Oracle与grid所属组配置、Oracle与grid用户家目录配置、Oracle与grid用户基目录配置、Oracle与grid用户无秘钥通信配置、数据库名配置、数据库实例配置、ASM实例配置、服务名配置等。
(2)Oracle11g RAC 安装配置
环境准备完善之后,接下来就需要进行Oracle11g RAC安装配置,主要涉及Grid infrastructure安装配置、Oracle软件安装配置及RAC数据库创建与配置等。
a.Grid infrastructure安装配置
本次升级中,针对集群与存储管理软件,我们使用Oracle自身的集群与管理软件Grid infrastructure来代替第三方赛门铁克SFRAC。Grid infrastructure主要包括两个重要组件——Clusterware集群管理软件和ASM存储管理软件。Clusterware集群管理软件将RAC中的所有节点融合成一个整体,提供RAC稳定运行环境及高可用性保障。ASM存储管理软件以裸设备为基础,可以自动管理磁盘组并提供有效的数据冗余功能。我们以grid用户来进行Grid infrastructure安装配置,主要涉及安装选项及类型选择、产品语言选择、网格即插即用信息配置、集群节点配置、scan名称和端口配置、集群节点添加、公共与私有网络配置、ASM存储配置、ASM磁盘组配置、ASM口令设置、操作系统组选择等。在安装配置过程中,有以下三点需要注意。①在安装和配置集群的网络基础结构中,我们需要选择“高级安装”模式,来进行高级配置。②创建ASM磁盘组中,涉及三种冗余方式——外部冗余、普通冗余及高冗余。外部冗余是指ASM不提供数据冗余,有效磁盘空间是所有磁盘设备的大小之和;普通冗余是指ASM提供两份冗余,有效磁盘空间是所有磁盘设备大小的一半;高冗余是指ASM提供三份冗余,有效磁盘空间是所有磁盘设备大小的三分之一。③在安装过程中会弹出一个提示框,要求在每个节点上以root身份去执行脚本orainstRoot.sh和root.sh,先在安装软件的本节点上执行完,然后再到集群其他节点运行,执行完毕之后,回到图形化界面确定继续安装。
b.Oracle软件安装
我们以Oracle用户来图形化安装Oracle软件,主要涉及安全更新配置、安装类型选择、数据库安装类型配置、产品语言选择、数据库版本选择、Oracle主目录与基目录配置、数据库管理员与操作者组配置等。在Oracle软件安装过程中,有以下两点需要注意。①在数据库安装类型配置中,需要选择RAC数据库安装。②在安装过程中会弹出一个提示框,要求在每个节点上以root身份去执行脚本root.sh,执行完毕之后,回到图形化界面确定来完成安装。
c.RAC数据库创建与配置
安装好Oracle数据库软件后,接下来通过Oracle用户进行RAC数据库创建及配置工作,主要包括数据库类型及模板选择、全局数据库配置、EM配置、自动维护配置、数据库中用户口令配置、数据库文件存储类型和位置选择、快速恢复区配置、内存(PGA和SGA)配置、连接到操作系统最大用户进程数配置、字符集配置、连接模式配置、监听配置、重做日志配置、归档模式配置等。在RAC数据库创建与配置过程中,有以下六点需要注意。①在字符集配置中,需要保持与老数据库字符集一致,否则会导致老库数据导入新库中显示乱码。②关于内存配置,设置PGA与SGA占物理内存70%,操作系统占物理内存30%。③数据库最大连接数是指可以同时连接到数据库的操作系统进程的最大数量,包括用户进程和Oracle后台进程,需要根据实际情况进行配置。④根据数据库重做日志归档频率及安全性考虑,每个节点配置5个重做日志组,每个重做日志组中包含两个重做日志文件,每个文件100M。⑤从Oracle11gr2 RAC开始,基于rman进行备份时,要求快照控制文件必须能被所有节点访问。默认情况下,快照控制文件仅能被本节点访问。为解决这一问题,可以将快照控制文件放置在共享存储上。⑥从Oracle11g开始,数据库默认策略中设置了用户密码有效期180天。密码过期后,会导致连接数据库异常,影响业务使用。
2.数据迁移
我们采用的数据迁移方案就是利用数据泵在老数据库上进行全库导出,在新数据上,通过业务用户对应方案的方式进行导入。最后为了降低对业务的影响,我们将新数据库的IP地址修改为老数据库地址。在数据迁移前需要停止公共数据库系统的所有服务以及数据库监听,切断客户端对数据库的服务请求,并通过第三方备份软件netvault对老数据库进行一次全备,保证数据安全。在小型机M10-4上完成Oracle11g RAC部署之后,接下来我们通过数据泵方式将运行在M5000上数据库Oracle10g RAC的数据迁移到运行在M10-4的数据库Oracle11g RAC,具体操作如下。
(1)在老数据库Oracle10g RAC和新数据库Oracle11g RAC建立目录对象并授权。在使用数据泵时,其导入导出文件只能存放在数据库目录对象对应的操作系统目录中,不能直接放置在操作系统目录。我们先以Oracle用户在操作系统创建目录,然后在数据库中以sys用户创建目录对象,建立与操作系统目录关联,并对system用户对该目录对象操作授权。
(2)在老数据库Oracle10g RAC上重新安装数据泵工具。由于老数据库运行时间比较长,出现数据泵损坏,需要重新安装数据泵工具。
(3)在老数据库Oracle10g RAC上导出数据之前,进行无效对象编译。由于数据库长时间运行,导致数据库中存在大量的无效对象,如包、过程、视图等,需要利用Oracle自身脚本utlrp.sql进行重新编译工作。
(4)在新数据库Oracle11g RAC进行表空间创建。由于新数据库与老数据库的数据文件位置发生改变,在使用数据泵将老库数据导入到新库之前,需要在新库中重建业务系统表空间。通过对老数据库中dba_tablespaces、dba_data_file及dba_temp_files进行分析,梳理出当前业务系统使用到的表空间及相应数据文件,然后在新数据库中进行重建。我们以业务表空间DBCENTER和临时表空间DATACENTER_TEMP为例,其他表空间创建类似。
(5)将老数据库Oracle10g RAC进行全库导出。我们建立一个名为all_exp的业务作业,通过数据泵并行模式来将老数据库Oracle10g RAC进行全库导出,在操作系统目录/home/oracle/expdp下将会生成名为all.dmp的文件。
(6)将all.dmp文件从老数据库服务器拷贝到新数据库服务器。我们以Oracle用户身份通过scp命令来将老数据库服务器上的all.dmp文件传输到新数据库服务器的/home/oracle/expdp目录下,假设IP(M10-4)指代服务器M10-4的IP地址。
(7)将导出的数据导入到新数据库中。在新数据库上建立一个名为all_imp的业务作业,通过数据泵并行模式按照业务用户对应的方案(schemas)将数据导入到新数据库中。为了提高导入速度,建议关闭新数据的归档模式,导入完毕后再开启归档模式。假设user_1,user_2,……,user_n为业务用户对应的schema。
(8)在新数据库上编译无效对象。在完成数据导入后,数据库中存在大量无效对象,如视图、触发器、过程等。我们利用Oracle自带脚本utlrp.sql对无效对象进行编译,保证对象的有效性。
(9)更改新数据库的IP地址为老数据库地址。为了降低对公共数据库系统的影响,保证业务及时正常运作,在本次升级中,我们在新数据库规划中,采用与老数据一致的数据库名 (db_name)、集群每个节点实例名(instance_name)、服务名(service_name)、监听端口、私有地址等。数据导入到新数据库后,将老数据库服务器网线从交换机上拔下来断开网络,保持SCAN IP地址不变,将新数据库的公有地址和浮动地址更改为老数据库地址。假设IP(M5000)为老数据库的公网地址,IP_VIP(M5000)为老数据库的浮动IP地址。我们以节点RAC1为例,节点RAC2操作类似。
关于更改新数据库公网地址,需要先删除新数据库的公网地址,然后再重新配置老数据库公网地址IP(M5000),最后需要更新hosts文件。
关于更改新数据库浮动地址,需要先停止集群资源,然后再进行浮动地址更改,最后还需要更新hosts文件。
(三)升级后数据验证
在完成数据迁移之后,需要进行数据验证工作。数据验证是数据迁移完成后的重要环节,是对迁移质量的检查,也是判断业务系统能否正式提供服务的重要依据。我们将从两个层面进行验证工作:一是数据库层面,进行老数据库与新数据库比对工作;二是业务系统层面,对各个业务系统进行功能、流程、性能、准确性等多角度测试。
1.数据库层面
为了保障数据库迁移前后数据的一致性,数据迁移完成后,我们从数据库层面来进行老数据库与新数据库的比对工作。考虑到数据量比较大以及数据库中的对象比较多,主要采取抽样方式对数据库中与业务系统相关的用户、表、表空间、视图、索引、同义词、约束、序列、权限、角色、任务、dblink、触发器、存储过程、函数、包等进行名称及数量比对。通过数据库比对发现,任务和dblink并没有从老数据库迁移到新数据库中,需要通过手工方式重新建立任务和dblink。
2.业务系统层面
业务系统主要涉及办公自动化系统、研究生系统、人事系统、继续教育系统、党群系统、教务系统、后勤系统、科研系统等。为了保证业务系统能够正常提供服务,在完成数据库比对后,需要进行业务系统相关测试工作。相关业务系统负责人对所管业务系统进行测试。业务功能测试:对每个业务系统具体功能进行测试,如查询、修改、删除、增加、导入、导出、报表等功能。业务流程测试:在完成各个业务系统基础功能测试的基础上,进行业务流程测试。业务流程测试:从用户角度出发,模拟用户实际工作流程,测试业务系统完成相应业务的能力。业务性能测试:通过对关键业务查询速度、业务系统响应能力等进行测试,检验系统性能。业务数据准确性测试:通过编写检查程序进行前后数据对比等等。通过测试验证,在新数据库环境下,业务系统能够高效稳定地运作。
四、应急保障方案
本次数字化校园核心数据库升级存在许多风险点。一是数据一致性风险,采用数据泵方式进行业务数据迁移,尽管有详细的数据一致性核查方案,但仍无法保证不会存在数据损坏和丢失的风险。二是Oracle数据库版本风险,从Oracle10.0.2.4 RAC升级到Oracle11.0.2.4 RAC,尽管我们在升级前已经进行很长时间的模拟测试,但在正式迁移后,也无法保证不会因版本导致问题的风险。三是业务风险,当我们将完成数据库迁移后,新老数据抽样比对没有问题,但也无法保证业务系统能够正常运作。或者业务可以运作,但一段时间后才发现存在一些数据问题或者数据库自身异常,存在严重的业务风险。通过升级前的充分测试,尽管出现上述风险的概率极低,但是制定一套完善有效的应急保障方案对保证核心数据库升级顺利进行具有是十分重要的意义。主要从以下两个方面制定相关的应急保障方案。
1.在业务并未正式对外提供服务之前,如果出现这几种情况:新老数据库关键数据验证不一致,在规定时间仍然无法解决;或者关键数据验证一致,但业务部分功能无法正常运作;新数据库性能严重下降无法解决等等,必须进行回退操作,具体操作步骤如下。
(1)停止业务系统,断开新数据库网络,保证新数据库不再提供服务。
(2)将老数据库接入网络,启动数据库相关服务。
(3)重新启动业务系统,进行业务相关测试,完成回退工作。由于新老数据库采用配置一致的IP地址,所以对业务系统只需要进行重启动作,无需做任何其他操作。
2.当业务正常运作一段时间后才发现存在严重数据问题无法解决或者数据库严重异常时,必须进行回退操作,具体操作步骤如下。
(1)关闭业务系统、数据库监听及重启数据库,保证新数据库没有服务请求,同时梳理并导出新增的业务数据。
(2)将老数据库接入网络,启动数据库相关服务。同时将新增的数据导入到老数据库中。
(3)重新启动业务系统,进行业务相关测试,完成回退工作。由于新老数据库采用配置一致的IP地址及服务名,所以对业务系统只需要进行重启动作,无需做任何其他操作。
五、备份保障机制
作为数字化校园公共数据库系统的核心数据库,存放校级业务系统数据,如办公自动化系统、研究生系统、人事系统、继续教育系统、党群系统、教务系统、后勤系统、科研系统等,实现业务数据的集中管理和共享。为了保障业务数据安全,防止由于数据文件损坏或者丢失、存储设备故障等造成的数据库系统崩溃,需要对数据库进行备份,以便在数据库崩溃时利用备份数据及时进行恢复,保障数据库系统正常运行。在本次数据库升级中,我们采用以下三种方式来保障数据库安全。
(一)vplex同步异地容灾机制
EMC vplex[10-11]建立了一个统一的、整体部署的存储异地容灾的系统框架。通过存储虚拟化技术,将两校区存储统筹管理,实现数据层面的同步异地容灾。在本次升级中,我们采用vplex存储来配置磁盘组GRIDDG、DATA及FLASH,实现数据库同步异地容灾。
(二)数据泵逻辑备份机制
我们通过数据泵方式,利用solaris系统自带的crontab定制计划任务,对数据库进行逻辑备份。如制订一周备份计划,每日凌晨3点进行备份,逻辑备份保留七份。
(三)netvault备份机制
第三方备份软件netvault是基于rman进行备份,为进一步保障数据库安全,我们通过第三方备份软件netvault来将数据库备份到DELL存储上,实现备份数据与生产数据的分离,进一步保障数据库安全。
六、结束语
数字化校园核心数据库升级工作实现了服务器、操作系统、集群与存储管理软件、Oracle版本等多个方面的升级。通过在升级前进行充分的模拟测试,及时发现并解决问题,合理规划升级所需时间,把控升级节奏,保障升级工作的顺利进行。升级后从数据库层面与业务层面对数据进行校验,保障迁移前后数据的一致性。制定应急保障措施,以便在迁移后出现重大问题时,如关键数据不一致、业务系统无法使用、数据库性能严重下降等,能够及时进行回退操作,保障业务及时提供服务。通过备份保障机制,对数据库进行备份,以便在数据库崩溃时利用备份数据及时进行恢复,保障数据库系统正常运行。升级工作完成后,经过半年多的运行,核心数据库运行稳定,整体性能得到提升,达到预期目标。
[1]任友群,程静.用公共数据平台成就高校信息化建设——华东师范大学信息化建设[J].教育信息化,2006(8):38-41.
[2]王婷婷,陈桂兰.基于校园网的高校数据库发展与展望[J].中国教育信息化,2012(23):25-27.
[3]赵春,卢蓓蓉.华东师范大学统筹规划助力数据中心管理[J].中国教育网络,2012(10):31-33.
[4]Fujitsu M10.SPARC M10系统操作和管理指南[EB/OL].http://www.fujitsu.com/global/documents/products/computing/servers/unix/sparc/downloads/manuals/zh/c120-e679-17zh.pdf.
[5]Oracle Solaris 11.3[EB/OL].http://docs.oracle.com/cd/E53394_01/index.html.
[6]李雪锋.华东师范大学业务系统数据迁移的实施[J].中国教育网络,2015(10):75-76.
[7](美)Bob Bryla著,薛焱译.OCP认证考试指南(1Z0-053):Oracle Database 11g Administration II[M].北京:清华大学出版社,2010.3.
[8]Oracle11gR2 High Availability Best Practices[DB/OL].http://docs.oracle.com/cd/E11882_01/server.112/e10803/toc.htm.
[9]李雪锋.多校区数据中心双活容灾方案研究[J].中国教育信息化,2015(9):59-61.
[10]Lab Validation Report:EMC?VPLEX?Metro and Geo[EB/OL].https://china.emc.com/collateral/analyst-reports/esg-lab-validation-emc-vplex.pdf.
[11]Provisioning with EMC?VPLEX?Integrated Array Services[EB/OL].https://china.emc.com/collateral/whitepaper/h13049-provisioning-emc-vplex-integration.pdf.
(编辑:王天鹏)
G647
A
1673-8454(2017)15-0052-07