Oracle数据库批量数据无损迁移技术
2021-06-16吴天宇冯蕊杨翠
吴天宇 冯蕊 杨翠
(甘肃同兴智能科技发展有限责任公司 甘肃省兰州市 730050)
Oracle 数据库因其方便、快捷、高效的特点而备受青睐,是最常用商用数据库之一。在数据库的迁移过程中,选择批量数据无损迁移技术,优化迁移方案,能够使得停库时间被最大程度上减少,提升数据库的可利用率,进而能够最大程度上减少业务损失,更好的保障企业的经济效益[1]。基于此,本文对Oracle 数据库批量数据无损迁移技术进行简要的分析与探索,就如何Oracle 数据库迁移技术的选择提出自己的建议。
1 Oracle数据库的基本情况介绍
Oracle 数据库是目前世界上最流行的关系数据库管理系统,受到各大、中、小企业的青睐。Oracle 数据库具有内部系统可移植性好、方便快捷、应用广等特点,是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。[2]并且由于Oracle 数据库自身能够实现跨硬件平台、跨操作系统的数据操作能力,Oracle 数据库的应用范围呈现出极速拓展的发展态势。在企业尤其是大企业中,由于数据庞杂,在进行数据迁移的过程中,操作不当就会造成数据丢失、多池组链逻辑混乱等问题,使得新旧系统之间难以有效对接,使公司的正常运行受到影响。因此选择科学有效的迁移技术,制定切实可行的迁移方案具有重要的价值。
2 Oracle数据库批量数据无损迁移技术的主要内容
2.1 批量数据同步
进行批量数据无损迁移的过程中,首先要实现批量数据同步,可以借助触发器实现对Oracle 数据库批量数据的变化的有效捕捉,由于在触发器的使用过程中,会产生一定的数据冗余,为了解决这一问题,可以将触发器用数据库中的日志表进行代替,使用日志表中的sql 语句实现对变化信息的存储[3]。这里需要注意的是,在设计数据库表时,要对其具体的规模进行控制。数据库表的具体结构如图1。
在使用其中的触发器时,要注意触发器的触发方式,即以行级触发以记录控制信息,在使用触发器进行更新操作实施,要对更新字段进行判断,当发现结果为主键时,就要删除数据库表中旧主键值的所有相应日志记录,并且要记录以下两条控制信息。第一条,负责标示删除的旧主键值日志记录。第二条,负责标示插入的新主键值日志记录[4]。如果发现结果为非主键时,则要首先派单主键的字段是否发生了变化,如果确认发生了变化,则要将更新的字段计入到UCN 中,并且判断这则记录是否进行过更新,如果更新过就将日志表中对于的记录进行更新。具体流程如图2。通过以上操作将批量数据的变化保存至设计的日志表中,就能够有效实现数据的同步。
2.2 批量数据传输
图1:Oracle 数据库表的具体结构示意图
图2:非主键操作流程图
传输中选定的中间转换格式为xml 文档[5]。转换完成后,再以数据包的形态保存在备份数据库中,进而实现备份数据库与主数据库之间的同步。最后再使用Open JMS 对Oracle 数据库实施批量数据传输。全部完成后可以通过建立元数据模型,完成Oracle 数据库批量数据的无损迁移。在模型中,要能够完成手动数据、定时数据以及历史数据的批量归档等工作,在模型的构成结构上,具体包括专业数据库层、应用数据库层、应用模块层、数据传输层四层的内容,这四个层级之间相互配合、密切合作,共同作用下实现Oracle 数据库批量数据的无损迁移[6]。
3 Oracle数据库迁移优化方法研究
3.1 数据特征绑定技术设计
数据特征绑定技术能够有效的解决Oracle 数据库迁移中容易发生的数据丢失的问题,通过将Oracle 数据库中自带的一些功能,包括数据贮存交互规则,以及数据交互池,将两者之间的关系进行重新的排布优化为形成数据特征绑定技术[7]。在具体操作上,通过一串临时特征代码的有效植入,进而实现迁移过程中的有效排列与追踪。根据数据库中的信息类别、性质属性来为其赋予的新型特性,这些被赋予的数据信息在权限上被限制,只能被临时读取,其他外界的任何操作都无法实现对其的控制,使得数据丢失的概率被大大降低,十分具有安全性。
3.2 逻辑迁移技术设计
逻辑备份与恢复技术又可以被称为导出/ 导入。在导出中使用的文件类型hi 二进制的系统文件,并且在数据的读取过程中不受物理位置的限制,能够比较灵活的将整个数据库、用户模式或表模式中的护具进行导出。应用逻辑迁移技术时,往往是对于一些比较重要的数据,并且逻辑迁移技术的一个比较突出的优势在于能够实现不同操作平台、不同数据库版本之间的有效切换,仅为能够对备份工作起到很好的支持,并且由于Oracle 数据库支持同步复制,能够提升应用的实效性。逻辑备份在应用的过程中,相较于其他的迁移方式更加方便、快捷,而且操作简单,对磁盘空间的要求低,具有很大的应用优势。下面对几种逻辑备份技术进行介绍。
3.2.1 EXP/EXPDP 及IMP/IMPDP 数据备份恢复技术
EXP/EXPDP 即导出/ 导入功能,是Oracle 数据库中比较基础的功能。EXPDP 与EXP 采用不同的导出机制,其中采用并行导出机制的EXPDP 相较于EXP,在速度上更占优势,但是需要注意的是EXPDP 导出后的dmp 文件只能由IMPDP 进行导入[9]。
3.2.2 RMAN 数据备份恢复技术
RMAN 在Oracle 数据库中负责备份、还原恢复等常规功能,对于Oracle 的使用版本有着一定的要求,能够对数据部进行整体或部分的备份,并且也支持进行增量数据块级别的备份。就其恢复功能而言,主要是通过物理备份的形式,将数据库中的日志信息进行搬移、重组,如果在备份频率的设置上应用得当,能够使数据得到很好的恢复与保存。
3.2.3 GOLDENGATE 数据复制技术
Golden Gate 软件也是一种备份技术,通过将日志的结构化数据进行复制、解析,得到相应的数据增量变化,然后将这些变化使用到目标数据库中。Golden Gate 软件的使用速度十分迅猛,在异构环境下,甚至能够实现海量数据亚秒一级的实时复制,并且应用场景十分丰富,企业的选择数据库迁移技术时,可以进一步考虑此项技术。
3.3 基于XTTS 技术的数据库迁移技术
XTTS 是一个跨平台迁移表空间,XTTS 技术是在TTS 技术的基础上优化发展而来的,具体而言,使得进一步支持了跨平台、增量备份,提升了应用的实效。XTTS 技术从11gR2 开始可以支持跨平台、不同块大小,可以使用增量备份,也能够大大地减少了停机的时间,进而能够更好的实现Oracle 数据库快捷、高效、平稳、安全地跨平台迁移,是Oracle 数据库批量数据无损迁移技术中的重要组成部分。
(1)在前期迁移阶段,首先要对迁移的用户及需要迁移的表空间进行确认。然后对环境进行核对。要对迁移的目标库进行查询,查询的主要目的在于对迁移中的用户和表空间重名情况进行查核,如果发现重名,就要对目标库中的用户民和表空间名称进行修改。并且检查是否有用户将表创建到本次迁移的表空间外的其他表空间上,如果有的话,就要对其中进行改造。
(2)在初始化阶段要对其中的参数、表空间进行初始化。
(3)在数据同步阶段,主要实现的是对数据文件的传送、字节序转换。
(4)在N 次增量阶段,首先要创建表空间的增量备份,接着将传送增量备份到目标库,然后在目标库应用增量,并生成同步的SCN 号,最后将这些步骤进行多次的重复、运次那个,实现将增量数据同步到目标库中。
(5)在正式迁移阶段,首先要将源库表空间设置为只读状态,具体的操作过程包括停止源库监听,然后锁住用户,并将用户连接进行除去,将表空间设置为只读,然后停止源库监听。其次,要创建最后增量备份、转换及传送,使用源库导出数字字典,对目标库进行物化视图授权,进而实现表空间的传输,接着导入元数据,并将目标库表空间设置为读写模式。这种XTTS 技术的数据库迁移方案,由于支持跨平台迁移,并且方便、快捷,因此广受好评,在应用XTTS 技术进行数据库的迁移,能够使数据库在迁移过程中的停机时间被大大缩短。
上述介绍的几种比较主流的数据迁移技术,在在使用过程中,要根据自身的需求进行确定,并且各自都有自身的优劣条件,例如,在使用EXP/EXPDP/IMP/IMPDP 技术时,虽然具有较好的稳定性,并且由于其本身属于Oracle 数据库中的自带工具,因此在使用时对于版本的要求比较宽,但是其主要的问题在于,在进行数据迁移时必须停数据库,这对着大企业来说是对业务的严重影响,对于经济效益的获得而言比较不利,在技术选择时要综合考量。
4 小结
随着技术的不断更新,选择一项简单可靠、方便易行的方案,提升数据迁移的质量和速度,对于数据的安全性、可靠性、效益性都有重要影响。对于数据库操作管理人员来说,要掌握多种数据备份迁移的技能,并且对各项技术的优势、劣势认识清楚,能够在需要时做出正确的选择,最大程度上降低数据库停机的时间与损失,更好的处理和应对各种数据隐患。并且需要注意的是,在进行Oracle 数据库批量数据无损迁移的过程中,数据并不是影响迁移工作质量和效率的唯一因素,一些新型的数据源或者联机备份也能够实现数据信息的有效迁移,数据库操作管理人员要及时更新知识,了解各种数据信息的有效迁移的技术和设备,与时代发展同步,及时了解最新的信息和数据,使得能够最稳妥、快速的提出相应的解决方案。