Oracle到GaussDB的数据库迁移方法及装置与流程
未命名
09-22
阅读:97
评论:0

oracle到gaussdb的数据库迁移方法及装置
技术领域
1.本发明涉及数据库技术领域,可用于金融科技领域,尤其涉及oracle到gaussdb的数据库迁移方法及装置。
背景技术:
2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.gaussdb分布式数据库集中式双集群模式的部署方案搭建的系统,实现支撑大型业务系统oracle数据库迁移,缺少成熟的技术解决方案。常规技术方案是导出原库数据后按照目标库数据格式整理数据形成脚本或移行文本再导入到目标库完成数据迁移。
4.上述常规技术方案的缺点是:数据转换过程情况复杂,易产生数据转换错误。迁移周期长,对于增量数据容易出现漏迁移的情况。
5.因此,一种可靠有效的oracle到gaussdb的数据库迁移方案就显得尤为重要。
技术实现要素:
6.本发明实施例提供一种oracle到gaussdb的数据库迁移方法,用以实现可靠高效的oracle到gaussdb的数据库迁移,该方法包括:
7.停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点;
8.部署gaussdb数据库版本;
9.通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;
10.获得停止数据交互到全量数据同步的时间段内的增量数据,以所述锚定点,通过drs工具进行增量数据同步;
11.启动所述系统应用服务器;
12.启动gaussdb数据库的工作流;
13.通过录制回放组组件,对gaussdb数据库进行迁移后的业务验证。
14.本发明实施例还提供一种oracle到gaussdb的数据库迁移装置,用以oracle到gaussdb的数据库迁移方法,用以实现可靠高效的oracle到gaussdb的数据库迁移,该装置包括:
15.停止模块,用于停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点;
16.部署模块,用于部署gaussdb数据库版本;
17.全量数据同步模块,用于通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;
18.增量数据同步模块,用于获得停止数据交互到全量数据同步的时间段内的增量数据,以所述锚定点,通过drs工具进行增量数据同步;
19.系统应用服务器启动模块,用于启动所述系统应用服务器;
20.工作流启动模块,用于启动gaussdb数据库的工作流;
21.业务验证模块,用于通过录制回放组组件,对gaussdb数据库进行迁移后的业务验证。
22.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述oracle到gaussdb的数据库迁移方法。
23.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述oracle到gaussdb的数据库迁移方法。
24.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述oracle到gaussdb的数据库迁移方法。
25.本发明实施例中,停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点;部署gaussdb数据库版本;通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;获得停止数据交互到全量数据同步的时间段内的增量数据,以所述锚定点,通过drs工具进行增量数据同步;启动所述系统应用服务器;启动gaussdb数据库的工作流;通过录制回放组组件,对gaussdb数据库进行迁移后的业务验证。与现有技术中导出原库数据后按照目标库数据格式整理数据形成脚本或移行文本再导入到目标库完成数据迁移的技术方案相比,在停止数据交互后,记录了数据交互停止的锚定点;在全量数据同步完成后,以所述锚定点,通过drs工具进行增量数据同步,避免了增量数据漏迁移;自动化迁移过程,不易产生数据转换错误。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
27.图1为本发明实施例中oracle到gaussdb的数据库迁移方法的流程图;
28.图2为本发明实施例中oracle到gaussdb的数据库迁移方法的另一流程图;
29.图3为本发明实施例中停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互的流程图;
30.图4为本发明实施例中通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步的流程图;
31.图5为本发明实施例中通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步的另一流程图;
32.图6为本发明实施例中数据库迁移后回退的流程图;
33.图7为本发明实施例中oracle到gaussdb的数据库迁移装置的示意图;
34.图8为本发明实施例中计算机设备的示意图。
具体实施方式
35.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
36.本发明实施例针对的是gaussdb分布式数据库双集群模式的部署方案,通过存算分离和集中存储软硬结合的技术特性,进一步提升gaussdb高可用能力和数据库性能,支撑大型业务系统oracle数据库转型。
37.gaussdb双集群方案如下:
38.基于多region部署特性,在通用region内搭建独立数据库集群,构建同城双集群+异地容灾的高可用架构,提升高可用能力。
39.基于存算分离特性、存储层采用dorado集中式存储同城高可用方案,一方面突破本地磁盘的存储限制,另外一方面dorado集中存储具有读写能力强和集群之间磁盘级数据同步延时低的优势,能进一步提升数据库性能。
40.gaussdb数据库内核对roce网络方案进行了兼容,由于roce网络不具备scsi协议的能力,无法避免网络分区场景下多节点同时对共享日志文件写导致的数据不一致风险,因此引入了ip网络访问的nfs共享卷,用来管理共享日志文件访问的锁信息。
41.图1为本发明实施例中oracle到gaussdb的数据库迁移方法的流程图,包括:
42.步骤101,停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点;
43.步骤102,部署gaussdb数据库版本;
44.步骤103,通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;
45.步骤104,获得停止数据交互到全量数据同步的时间段内的增量数据,以所述锚定点,通过drs工具进行增量数据同步;
46.步骤105,启动所述系统应用服务器;
47.步骤106,启动gaussdb数据库的工作流;
48.步骤107,通过录制回放组组件,对gaussdb数据库进行迁移后的业务验证。
49.与现有技术中导出原库数据后按照目标库数据格式整理数据形成脚本或移行文本再导入到目标库完成数据迁移的技术方案相比,在停止数据交互后,记录了数据交互停止的锚定点;在全量数据同步完成后,以所述锚定点,通过drs工具进行增量数据同步,避免了增量数据漏迁移;自动化迁移过程,不易产生数据转换错误。
50.下面对每个步骤进行详细介绍。
51.在步骤101,停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点;
52.cdc是oracle数据库数据实时同步工具、drs为高斯数据库数据实时同步工具。在数据库迁移过程中,通常容易被想到的方案是通过将两套数据库静止,即隔断与外部数据交互后,将全库数据迁移到目标数据库,再直接启动与外部数据的同步机制。但是此时由于是两套同步机制,停止与启动存在时间差,可能导致增量数据的丢失。这个问题容易被忽略。本发明实施例提供了两个解决此问题的方法:
53.一是锚定法,记录数据交互停止的锚定点bookmark,在步骤104,以所述锚定点,通
过drs工具进行增量数据同步,以保证新旧库的数据同步是连续的。
54.二是二次全量恢数法,参见图2,oracle到gaussdb的数据库迁移方法的另一种流程,包括:
55.步骤101,停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互;
56.步骤102,部署gaussdb数据库版本;
57.步骤103,通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;
58.步骤105,启动所述系统应用服务器;
59.步骤106,启动gaussdb数据库的工作流;
60.步骤201,对oracle数据库、gaussdb数据库进行数据一致性对比,获得差异数据,将差异数据回复至gaussdb数据库;
61.步骤107,通过录制回放组组件,对gaussdb数据库进行迁移后的业务验证。
62.上述步骤中,在数据库迁移完成后,新旧数据库的同步机制重新开启,数据同步进度一致后,比较相关同步表的数据差异,再将差异数据整理后恢复新数据库中的数据。
63.参见图3,停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,包括:
64.步骤301,分别停止与oracle数据库、gaussdb数据库交互的系统应用服务器的对外服务功能;
65.步骤302,停止oracle数据库的数据同步操作,记录数据交互停止的锚定点;
66.步骤303,停止所述系统应用服务器的可用性监控。
67.在步骤102,部署gaussdb数据库版本,对于gaussdb数据库迁移后实现的功能通过版本实现部署。
68.在步骤103,通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;数据复制服务(data replication service,简称drs)是一种易用、稳定、高效、用于数据库实时迁移和数据库实时同步的云服务。数据复制服务围绕云数据库,降低了数据库之间数据流通的复杂性,有效地帮助减少数据传输的成本。可通过数据复制服务快速解决多场景下,数据库之间的数据流通问题,以满足数据传输业务需求。
69.通过drs工具进行全量数据同步时,可能出现的问题是:1、由于触发器为启动状态,全部数据都会被认为是发生了变动,造成触发器机制产生冗余数据和不必要的任务执行操作。比如:基于触发器供数的情况,会将全部数据作为变动数据提供给下游。2、由于全量数据同步存在顺序,对于存在外键的表,可能出现主表、从表数据导入不同步的情况,此时会出现数据同步的报错。3、由于新旧数据库自带的sequence生成方法所产生序号不一致,会导致数据迁移后新生成数据的sequence重复,从而出现功能问题。
70.下面分别介绍如何解决上述问题。
71.参见图4,通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步,包括:
72.步骤401,关闭gaussdb数据库的全量触发器和外键;
73.步骤402,对无主键表进行分析处理;
74.步骤403,通过drs工具,启动全量数据同步;
75.步骤404,对gaussdb数据库的每个表进行编号处理;
76.步骤405,启动gaussdb数据的全量触发器和外键。
77.上述步骤401和步骤405中,数据同步前关闭全量触发器,同步完成后开启,是解决触发器问题的方法一;数据同步前关闭外键,同步完成后开启,是解决外键问题的方法一,前述步骤201则是外键问题的方法二,即再次进行增量同步。
78.参见图5,通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步,包括:
79.步骤501,关闭gaussdb数据库的外键;
80.步骤502,对无主键表进行分析处理;
81.步骤503,通过drs工具,启动全量数据同步;
82.步骤504,对gaussdb数据库的每个表进行编号处理;
83.步骤505,启动gaussdb数据的外键;
84.步骤506,对全量触发器生成的记录进行清理。
85.上述步骤506为解决触发器问题的方法二,
86.在一实施例中,关闭gaussdb数据库的全量触发器和外键,包括:
87.查询gaussdb表中预设表(adm_triggers、pg_trigger),获取存在全量触发器的表和存在外键的表;
88.关闭存在全量触发器的表中的全量触发器;
89.关闭存在外键的表中的外键;
90.启动gaussdb数据的全量触发器和外键,包括:
91.启动存在全量触发器的表中的全量触发器;
92.启动存在外键的表中的外键。
93.对无主键表进行分析处理,包括:
94.对每个无主键表,判断该无主键表中数据是否命中预先设置的技术用途关键词;
95.若是,保留该无主键表;
96.若否,删除该无主键表。
97.在一实施例中,对gaussdb数据库的每个表进行编号处理,包括:
98.对gaussdb数据库的每个表的数据从零开始编号(sequence生成问题的解决方法一);
99.或,获得oracle数据库中每个表的数据的最后一个编号,将gaussdb数据库的每个表的初始编号确定为oracle数据库中对应表的最后一个编号加1(sequence生成问题的解决方法二)。
100.在步骤104,获得停止数据交互到全量数据同步的时间段内的增量数据,以所述锚定点,通过drs工具进行增量数据同步;
101.在步骤105,启动所述系统应用服务器;
102.在步骤106,启动gaussdb数据库的工作流;
103.在步骤107,通过录制回放组组件,对gaussdb数据库进行迁移后的业务验证。
104.进行业务验证时,通过录制回放组件实现,完成迁移后,业务交易仍基于旧的对外服务完成,通过录制回放组建记录交易信息,在新库回放交易,通过比对新旧库数据的一致
性完成技术和业务验证。
105.本发明实施例提出的方法支持切换后系统启动运行后的快速回退。具体实施时,实施回退方案的前提为数据切流后仍保留oracle数据库,并作为备库始终同步gauss数据库中的数据。(考虑资源消耗对于无主键表可以考虑不实时同步)
106.参见图6,在一实施例中,所述方法还包括:
107.步骤601,在将数据从oracle数据库切流至gaussdb数据库后仍保留oracle数据库,并作为备库始终同步gauss数据库中的数据,且有回退需求时,按如下步骤进行回退:
108.步骤602,停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点,同时等待oracle数据库到gaussdb数据库的增量数据同步完成;
109.步骤603,通过drs工具进行gaussdb数据库到oracle数据库的全量数据同步;
110.步骤604,将与gaussdb数据库交互的系统应用服务器切换至与oracle数据库交互的系统应用服务器;
111.步骤605,启动oracle数据库的工作流;
112.步骤606,通过录制回放组组件,对oracle数据库进行业务验证。
113.综上所述,在本发明实施例提出的方法中,停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点;部署gaussdb数据库版本;通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;获得停止数据交互到全量数据同步的时间段内的增量数据,以所述锚定点,通过drs工具进行增量数据同步;启动所述系统应用服务器;启动gaussdb数据库的工作流;通过录制回放组组件,对gaussdb数据库进行迁移后的业务验证。与现有技术中导出原库数据后按照目标库数据格式整理数据形成脚本或移行文本再导入到目标库完成数据迁移的技术方案相比,在停止数据交互后,记录了数据交互停止的锚定点;在全量数据同步完成后,以所述锚定点,通过drs工具进行增量数据同步,避免了增量数据漏迁移;自动化迁移过程,不易产生数据转换错误。另外,可支持系统启动运行后的快速回退。
114.本发明实施例中还提供了一种oracle到gaussdb的数据库迁移装置,如下面的实施例所述。由于该装置解决问题的原理与oracle到gaussdb的数据库迁移方法相似,因此该装置的实施可以参见oracle到gaussdb的数据库迁移方法的实施,重复之处不再赘述。
115.图7为本发明实施例中oracle到gaussdb的数据库迁移装置的示意图,包括:
116.停止模块701,用于停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点;
117.部署模块702,用于部署gaussdb数据库版本;
118.全量数据同步模块703,用于通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;
119.增量数据同步模块704,用于获得停止数据交互到全量数据同步的时间段内的增量数据,以所述锚定点,通过drs工具进行增量数据同步;
120.系统应用服务器启动模块705,用于启动所述系统应用服务器;
121.工作流启动模块706,用于启动gaussdb数据库的工作流;
122.业务验证模块707,用于通过录制回放组组件,对gaussdb数据库进行迁移后的业
务验证。
123.在一实施例中,停止模块具体用于:
124.分别停止与oracle数据库、gaussdb数据库交互的系统应用服务器的对外服务功能;
125.停止oracle数据库的数据同步操作,记录数据交互停止的锚定点;
126.停止所述系统应用服务器的可用性监控。
127.在一实施例中,全量数据同步模块具体用于:
128.关闭gaussdb数据库的全量触发器和外键;
129.对无主键表进行分析处理;
130.通过drs工具,启动全量数据同步;
131.对gaussdb数据库的每个表进行编号处理;
132.启动gaussdb数据的全量触发器和外键。
133.在一实施例中,全量数据同步模块具体用于:
134.查询gaussdb表中预设表,获取存在全量触发器的表和存在外键的表;
135.关闭存在全量触发器的表中的全量触发器;
136.关闭存在外键的表中的外键;
137.启动存在全量触发器的表中的全量触发器;
138.启动存在外键的表中的外键。
139.在一实施例中,全量数据同步模块具体用于:
140.对每个无主键表,判断该无主键表中数据是否命中预先设置的技术用途关键词;
141.若是,保留该无主键表;
142.若否,删除该无主键表。
143.在一实施例中,全量数据同步模块具体用于:
144.对gaussdb数据库的每个表的数据从零开始编号;
145.或,获得oracle数据库中每个表的数据的最后一个编号,将gaussdb数据库的每个表的初始编号确定为oracle数据库中对应表的最后一个编号加1。
146.在一实施例中,全量数据同步模块具体用于:
147.关闭gaussdb数据库的外键;
148.对无主键表进行分析处理;
149.通过drs工具,启动全量数据同步;
150.对gaussdb数据库的每个表进行编号处理;
151.启动gaussdb数据的外键;
152.对全量触发器生成的记录进行清理。
153.在一实施例中,工作流启动模块还用于:
154.在启动gaussdb数据库的批量工作流之后,对oracle数据库、gaussdb数据库进行数据一致性对比,获得差异数据,将差异数据回复至gaussdb数据库。
155.在一实施例中,所述装置还包括回退模块708,用于:
156.在将数据从oracle数据库切流至gaussdb数据库后仍保留oracle数据库,并作为备库始终同步gauss数据库中的数据,且有回退需求时,按如下步骤进行回退:
157.调用停止模块,停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点,同时等待oracle数据库到gaussdb数据库的增量数据同步完成;
158.调用部署模块,用于部署gaussdb数据库版本;
159.调用全量数据同步模块,通过drs工具进行gaussdb数据库到oracle数据库的全量数据同步;
160.调用系统应用服务器启动模块,将与gaussdb数据库交互的系统应用服务器切换至与oracle数据库交互的系统应用服务器;
161.调用工作流启动模块,启动oracle数据库的工作流;
162.调用业务验证模块,通过录制回放组组件,对oracle数据库进行业务验证。
163.综上所述,本发明实施例提出的装置中,停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点;部署gaussdb数据库版本;通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;获得停止数据交互到全量数据同步的时间段内的增量数据,以所述锚定点,通过drs工具进行增量数据同步;启动所述系统应用服务器;启动gaussdb数据库的工作流;通过录制回放组组件,对gaussdb数据库进行迁移后的业务验证。与现有技术中导出原库数据后按照目标库数据格式整理数据形成脚本或移行文本再导入到目标库完成数据迁移的技术方案相比,在停止数据交互后,记录了数据交互停止的锚定点;在全量数据同步完成后,以所述锚定点,通过drs工具进行增量数据同步,避免了增量数据漏迁移;自动化迁移过程,不易产生数据转换错误。另外,可支持系统启动运行后的快速回退。
164.本发明实施例还提供一种计算机设备,图8为本发明实施例中计算机设备的示意图,所述计算机设备800包括存储器810、处理器820及存储在存储器810上并可在处理器820上运行的计算机程序830,所述处理器820执行所述计算机程序830时实现上述oracle到gaussdb的数据库迁移方法。
165.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述oracle到gaussdb的数据库迁移方法。
166.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
167.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
168.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
169.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
170.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种oracle到gaussdb的数据库迁移方法,其特征在于,包括:停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点;部署gaussdb数据库版本;通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;获得停止数据交互到全量数据同步的时间段内的增量数据,以所述锚定点,通过drs工具进行增量数据同步;启动所述系统应用服务器;启动gaussdb数据库的工作流;通过录制回放组组件,对gaussdb数据库进行迁移后的业务验证。2.如权利要求1所述的方法,其特征在于,停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,包括:分别停止与oracle数据库、gaussdb数据库交互的系统应用服务器的对外服务功能;停止oracle数据库的数据同步操作,记录数据交互停止的锚定点;停止所述系统应用服务器的可用性监控。3.如权利要求1所述的方法,其特征在于,通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步,包括:关闭gaussdb数据库的全量触发器和外键;对无主键表进行分析处理;通过drs工具,启动全量数据同步;对gaussdb数据库的每个表进行编号处理;启动gaussdb数据的全量触发器和外键。4.如权利要求3所述的方法,其特征在于,关闭gaussdb数据库的全量触发器和外键,包括:查询gaussdb表中预设表,获取存在全量触发器的表和存在外键的表;关闭存在全量触发器的表中的全量触发器;关闭存在外键的表中的外键;启动gaussdb数据的全量触发器和外键,包括:启动存在全量触发器的表中的全量触发器;启动存在外键的表中的外键。5.如权利要求3所述的方法,其特征在于,对无主键表进行分析处理,包括:对每个无主键表,判断该无主键表中数据是否命中预先设置的技术用途关键词;若是,保留该无主键表;若否,删除该无主键表。6.如权利要求3所述的方法,其特征在于,对gaussdb数据库的每个表进行编号处理,包括:对gaussdb数据库的每个表的数据从零开始编号;或,获得oracle数据库中每个表的数据的最后一个编号,将gaussdb数据库的每个表的初始编号确定为oracle数据库中对应表的最后一个编号加1。
7.如权利要求1所述的方法,其特征在于,通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步,包括:关闭gaussdb数据库的外键;对无主键表进行分析处理;通过drs工具,启动全量数据同步;对gaussdb数据库的每个表进行编号处理;启动gaussdb数据的外键;对全量触发器生成的记录进行清理。8.如权利要求1所述的方法,其特征在于,在启动gaussdb数据库的批量工作流之后,还包括:对oracle数据库、gaussdb数据库进行数据一致性对比,获得差异数据,将差异数据回复至gaussdb数据库。9.如权利要求1所述的方法,其特征在于,还包括:在将数据从oracle数据库切流至gaussdb数据库后仍保留oracle数据库,并作为备库始终同步gauss数据库中的数据,且有回退需求时,按如下步骤进行回退:停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点,同时等待oracle数据库到gaussdb数据库的增量数据同步完成;通过drs工具进行gaussdb数据库到oracle数据库的全量数据同步;将与gaussdb数据库交互的系统应用服务器切换至与oracle数据库交互的系统应用服务器;启动oracle数据库的工作流;通过录制回放组组件,对oracle数据库进行业务验证。10.一种oracle到gaussdb的数据库迁移装置,其特征在于,包括:停止模块,用于停止与oracle数据库、gaussdb数据库相关的系统应用服务器的数据交互,记录数据交互停止的锚定点;部署模块,用于部署gaussdb数据库版本;全量数据同步模块,用于通过drs工具进行oracle数据库到gaussdb数据库的全量数据同步;增量数据同步模块,用于获得停止数据交互到全量数据同步的时间段内的增量数据,以所述锚定点,通过drs工具进行增量数据同步;系统应用服务器启动模块,用于启动所述系统应用服务器;工作流启动模块,用于启动gaussdb数据库的工作流;业务验证模块,用于通过录制回放组组件,对gaussdb数据库进行迁移后的业务验证。11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一所述方法。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至9任一所述方法。
技术总结
本发明公开了一种Oracle到GaussDB的数据库迁移方法及装置,涉及数据库技术领域,可用于金融科技领域,该方法包括:停止与Oracle数据库、GaussDB数据库相关的系统应用服务器的数据交互,记录交互停止的锚定点;部署GaussDB数据库版本;通过DRS工具进行Oracle数据库到GaussDB数据库的全量数据同步;获得停止数据交互到全量数据同步的时间段的增量数据,以锚定点,通过DRS工具进行增量数据同步;启动系统应用服务器;启动GaussDB数据库的工作流;通过录制回放组组件,对GaussDB数据库进行迁移后的业务验证。本发明可以实现可靠高效的Oracle到GaussDB的数据库迁移。到GaussDB的数据库迁移。到GaussDB的数据库迁移。
技术研发人员:王可 李祥 章桔锋 戚云琪
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.06.26
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/