一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

Oracle数据库同步方法及装置与流程

2022-06-01 18:05:14 来源:中国专利 TAG:

oracle数据库同步方法及装置
技术领域
1.本发明涉及数据库技术领域,尤其涉及一种oracle数据库同步方法及装置。


背景技术:

2.在oracle业务数据库中,随着时间推移,数据表中的数据会逐渐增多。为了避免越来越多的数据影响在线数据处理的性能,一般会将时间比较久远的数据保存到一个归档数据库中,然后删除业务数据库中相应数据。现有方法在将业务数据库中的数据同步到归档数据库时存在效率低下的问题。


技术实现要素:

3.本发明实施例提出一种oracle数据库同步方法,用以将oracle业务数据库中的数据同步到oracle归档数据库中,效率高,该方法包括:
4.配置数据库配置表、归档配置表,其中,所述数据库配置表包括oracle业务数据库信息、oracle归档数据库信息和归档配置表名字段,归档配置表至少包括业务数据库表名字段、是否归档过期数据字段和归档周期字段;
5.在根据数据库配置表中的oracle业务数据库信息、oracle归档数据库信息对oracle业务数据库和oracle归档数据库进行校验并通过后,读取数据库配置表中归档配置表名字段中的归档配置表名;
6.对归档配置表名对应的归档配置表中每个业务数据库表,读取该业务数据库表的是否归档过期数据字段;
7.在该业务数据库表的是否归档过期数据字段值为是时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第一要求的第一记录集,将所述第一记录集同步至对应的归档数据库表中;从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中;
8.在该业务数据库表的是否归档过期数据字段值为否时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中。
9.本发明实施例提出一种oracle数据库同步装置,用以将oracle业务数据库中的数据同步到oracle归档数据库中,效率高,该装置包括:
10.配置模块,用于配置数据库配置表、归档配置表,其中,所述数据库配置表包括oracle业务数据库信息、oracle归档数据库信息和归档配置表名字段,归档配置表至少包括业务数据库表名字段、是否归档过期数据字段和归档周期字段;
11.校验模块,用于在根据数据库配置表中的oracle业务数据库信息、oracle归档数据库信息对oracle业务数据库和oracle归档数据库进行校验并通过后,读取数据库配置表中归档配置表名字段中的归档配置表名;
12.数据读取模块,用于对归档配置表名对应的归档配置表中每个业务数据库表,读取该业务数据库表的是否归档过期数据字段;
13.第一同步模块,用于在该业务数据库表的是否归档过期数据字段值为是时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第一要求的第一记录集,将所述第一记录集同步至对应的归档数据库表中;调用第二同步模块,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中;
14.第二同步模块,用于在该业务数据库表的是否归档过期数据字段值为否时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中。
15.本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述oracle数据库同步方法。
16.本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述oracle数据库同步方法的计算机程序。
17.在本发明实施例中,配置数据库配置表、归档配置表,其中,所述数据库配置表包括oracle业务数据库信息、oracle归档数据库信息和归档配置表名字段,归档配置表至少包括业务数据库表名字段、是否归档过期数据字段和归档周期字段;在根据数据库配置表中的oracle业务数据库信息、oracle归档数据库信息对oracle业务数据库和oracle归档数据库进行校验并通过后,读取数据库配置表中归档配置表名字段中的归档配置表名;对归档配置表名对应的归档配置表中每个业务数据库表,读取该业务数据库表的是否归档过期数据字段;在该业务数据库表的是否归档过期数据字段值为是时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第一要求的第一记录集,将所述第一记录集同步至对应的归档数据库表中;从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中;在该业务数据库表的是否归档过期数据字段值为否时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中。在上述过程中,利用了oracle数据闪回特性,将业务数据库中的数据同步到归档数据库,具体地,通过配置数据库配置表、归档配置表,自动执行oracle数据库同步,效率高,使得应用程序只需要访问归档数据库就可以实现访问所有数据,这极大地降低了应用程序的编程难度。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
19.图1为本发明实施例中oracle数据库同步方法的流程图;
20.图2为本发明实施例中进行业务数据库和归档数据库校验的流程图;
21.图3为本发明实施例中进行表格配置的流程图;
22.图4为本发明实施例中同步过期数据的流程图;
23.图5为本发明实施例中同步满足预设时间段要求的数据的流程图;
24.图6为本发明实施例中oracle数据库同步装置的示意图;
25.图7为本发明实施例中计算机设备的示意图。
具体实施方式
26.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
27.在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
28.图1为本发明实施例中oracle数据库同步方法的流程图,如图1所示,该方法包括:
29.步骤101,配置数据库配置表、归档配置表,其中,所述数据库配置表包括oracle业务数据库信息、oracle归档数据库信息和归档配置表名字段,归档配置表至少包括业务数据库表名字段、是否归档过期数据字段和归档周期字段;
30.步骤102,在根据数据库配置表中的oracle业务数据库信息、oracle归档数据库信息对oracle业务数据库和oracle归档数据库进行校验并通过后,读取数据库配置表中归档配置表名字段中的归档配置表名;
31.步骤103,对归档配置表名对应的归档配置表中每个业务数据库表,读取该业务数据库表的是否归档过期数据字段;
32.步骤1031,在该业务数据库表的是否归档过期数据字段值为是时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第一要求的第一记录集,将所述第一记录集同步至对应的归档数据库表中;从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中;
33.步骤1032,在该业务数据库表的是否归档过期数据字段值为否时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中。
34.在本发明实施例中,利用了oracle数据闪回特性,将业务数据库中的数据同步到归档数据库,具体地,通过配置数据库配置表、归档配置表,自动执行oracle数据库同步,效率高,使得应用程序只需要访问归档数据库就可以实现访问所有数据,这极大地降低了应用程序的编程难度。
35.具体实施时,数据库配置表包括oracle业务数据库信息、oracle归档数据库信息
和归档配置表名字段,其中,oracle业务数据库信息包括业务数据库名字段、业务数据库用户名字段、业务数据库密码字段,oracle归档数据库信息包括归档数据库名字段、归档数据库用户名字段、归档数据库密码字段,上述oracle业务数据库信息、oracle归档数据库信息提供了应用程序访问两个数据库的权限信息。
36.图2为本发明实施例中进行业务数据库和归档数据库校验的流程图,首先读取数据库配置表,获得oracle业务数据库信息、oracle归档数据库信息,之后进行校验流程。
37.在一实施例中,根据数据库配置表中的oracle业务数据库信息、oracle归档数据库信息对oracle业务数据库和oracle归档数据库进行校验,包括:
38.根据oracle业务数据库信息、oracle归档数据库信息,校验oracle业务数据库与oracle归档数据库的模型是否一致;
39.若一致,确定校验结果为通过;
40.若不一致,确定校验结果为不通过,生成告警信息。
41.在上述实施例中,数据库的模型包括层次模型、网状模型和关系模型,只有在模型一直时,才进行后续同步流程,否则退出同步流程。通过校验,提高了数据库同步的安全性,大大降低了同步失败的概率。
42.在一实施例中,所述归档配置表还包括业务数据寿命字段、主键列字段、时间列字段和业务数据库表rowid寿命字段;
43.在配置数据库配置表、归档配置表之后,还包括:
44.配置归档记录表和归档对照表,其中,归档记录表包括业务数据库表名字段、scn_last字段,归档对照表至少包括业务数据库表名、业务数据库表rowid、归档数据库表名、归档数据库表rowid、归档时间。
45.在上述实施例中,归档配置表中的业务数据寿命字段、时间列字段为后续数据同步提供依据,可保证同步成功的概率,主键列字段用于在第一记录集和第二记录集中每行记录更新或插入时应用,同样地,配置归档记录表和归档对照表也为后续同步提高了依据,通过配置前述的4个表,可保证数据库的同步的效率和成功率。业务数据库表rowid寿命字段是指在归档对照表中记录的保存时间,超出这个业务数据库表rowid寿命字段值,该记录就会被删除。该删除过程在图2中未列出。
46.图3为本发明实施例中进行表格配置的流程图,其配置顺序依次为数据库配置表、归档配置表、归档记录表、归档对照表。其中,归档配置表的归档周期字段值的单位为分钟,考虑系统性能影响,推荐值为1分钟。归档数据库表rowid是数据行在目标数据库的rowid。
47.在步骤1031中,该业务数据库表的是否归档过期数据字段值为是,此时同步的为业务数据表中的过期数据,完成后,同步满足预设时间段要求的数据;在步骤1032中,该业务数据库表的是否归档过期数据字段值为否,此时同步的是满足预设时间段要求的数据,通过两个数据库同步的分步骤,提高了数据库同步的灵活性,可按需同步数据库数据。
48.在一实施例中,所述第一要求为业务数据库表的operation_version字段值为空的记录;
49.所述第二要求为业务数据库表的第m行与第n行之间的operagtion_version字段值不为空的记录,m为oracle业务数据库中的scn_sys字段值;n为归档记录表中业务数据库表的scn_last字段值。
50.在上述实施例中,业务数据库表存在闪回缓存中,对于每个业务数据库表,都有一个operation_version字段,读取出该业务数据库表中operation_version字段值为空的记录,形成第一记录集;读取出该业务数据库表中第m行与第n行之间的operagtion_version字段值不为空的记录,形成第二记录集,其中,m为oracle业务数据库中的scn_sys字段值,可以直接读取,是固定值,n为归档记录表中业务数据库表的scn_last字段值,n是可以更新的。通过设置两个记录集,可分别对过期数据和满足预设时间段要求的数据进行同步,提高效率。
51.需要注意的是,归档配置表中如果有多个业务数据库表,在同步时,多个业务数据库表可以并行执行同步流程,也可以顺序执行同步流程,可按需灵活选用同步方式。
52.对于步骤1031,图4为本发明实施例中同步过期数据的流程图,在一实施例中,将所述第一记录集同步至对应的归档数据库表中,包括:
53.对第一记录集的每行记录,判断该行记录的业务数据库表rowid字段值存在于归档对照表中;
54.若存在,将该行记录更新至对应的归档数据库表中;
55.若不存在,将该行记录插入到对应的归档数据库表中,将该行记录的业务数据库表rowid插入到归档对照表中。
56.在上述流程中,通过业务数据库表rowid字段值决定是更新还是插入,逻辑清晰,同步成功率高。
57.对于步骤1032,图5为本发明实施例中同步满足预设时间段要求的数据的流程图,在一实施例中,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中,包括:
58.对第二记录集的每行记录,获得该行记录的operagtion_version字段值;
59.若该行记录的operagtion_version字段值为i,将该行记录插入到对应的归档数据库表中,将该行记录的业务数据库表rowid插入到归档对照表中;
60.若该行记录的operagtion_version字段值为u,将该行记录更新至对应的归档数据库表中;
61.若该行记录的operagtion_version字段值为d,判断该行记录的时间列字段值是否在业务数据寿命字段值之内,如果在,从对应的归档数据库表中删除该行记录,从归档对照表中删除该行记录的业务数据库表rowid;
62.更新归档记录表中该业务数据库表的scn_last字段值。
63.在上述实施例中,分别采用了预先配置好的归档对照表、归档记录表、和归档配置表实现了自动化的同步,效率高。
64.综上所述,在本发明实施例提出的方法中,配置数据库配置表、归档配置表,其中,所述数据库配置表包括oracle业务数据库信息、oracle归档数据库信息和归档配置表名字段,归档配置表至少包括业务数据库表名字段、是否归档过期数据字段和归档周期字段;在根据数据库配置表中的oracle业务数据库信息、oracle归档数据库信息对oracle业务数据库和oracle归档数据库进行校验并通过后,读取数据库配置表中归档配置表名字段中的归档配置表名;对归档配置表名对应的归档配置表中每个业务数据库表,读取该业务数据库表的是否归档过期数据字段;在该业务数据库表的是否归档过期数据字段值为是时,从
oracle业务数据库的闪回缓存中读取该业务数据库表的满足第一要求的第一记录集,将所述第一记录集同步至对应的归档数据库表中;从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中;在该业务数据库表的是否归档过期数据字段值为否时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中。在上述过程中,利用了oracle数据闪回特性,将业务数据库中的数据同步到归档数据库,具体地,通过配置数据库配置表、归档配置表,自动执行oracle数据库同步,效率高,使得应用程序只需要访问归档数据库就可以实现访问所有数据,这极大地降低了应用程序的编程难度。
65.本发明实施例还提出一种oracle数据库同步装置,其原理与oracle数据库同步方法类似,这里不再赘述。
66.图6为本发明实施例中oracle数据库同步装置的示意图,如图6所示,该装置包括:
67.配置模块601,用于配置数据库配置表、归档配置表,其中,所述数据库配置表包括oracle业务数据库信息、oracle归档数据库信息和归档配置表名字段,归档配置表至少包括业务数据库表名字段、是否归档过期数据字段和归档周期字段;
68.校验模块602,用于在根据数据库配置表中的oracle业务数据库信息、oracle归档数据库信息对oracle业务数据库和oracle归档数据库进行校验并通过后,读取数据库配置表中归档配置表名字段中的归档配置表名;
69.数据读取模块603,用于对归档配置表名对应的归档配置表中每个业务数据库表,读取该业务数据库表的是否归档过期数据字段;
70.第一同步模块6031,用于在该业务数据库表的是否归档过期数据字段值为是时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第一要求的第一记录集,将所述第一记录集同步至对应的归档数据库表中;调用第二同步模块6032,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中;
71.第二同步模块6032,用于在该业务数据库表的是否归档过期数据字段值为否时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中。
72.在一实施例中,所述归档配置表还包括业务数据寿命字段、主键列字段、时间列字段和业务数据库表rowid寿命字段;
73.配置模块601还用于:配置归档记录表和归档对照表,其中,归档记录表包括业务数据库表名字段、scn_last字段,归档对照表至少包括业务数据库表名、业务数据库表rowid、归档数据库表名、归档数据库表rowid、归档时间。
74.在一实施例中,校验模块602具体用于:
75.根据oracle业务数据库信息、oracle归档数据库信息,校验oracle业务数据库与oracle归档数据库的模型是否一致;
76.若一致,确定校验结果为通过;
77.若不一致,确定校验结果为不通过,生成告警信息。
78.在一实施例中,所述第一要求为业务数据库表的operation_version字段值为空的记录;
79.所述第二要求为业务数据库表的第m行与第n行之间的operagtion_version字段值不为空的记录,m为oracle业务数据库中的scn_sys字段值;n为归档记录表中业务数据库表的scn_last字段值。
80.在一实施例中,第一同步模块6031具体用于:
81.对第一记录集的每行记录,判断该行记录的业务数据库表rowid字段值存在于归档对照表中;
82.若存在,将该行记录更新至对应的归档数据库表中;
83.若不存在,将该行记录插入到对应的归档数据库表中,将该行记录的业务数据库表rowid插入到归档对照表中。
84.在一实施例中,第二同步模块6032具体用于:
85.对第二记录集的每行记录,获得该行记录的operagtion_version字段值;
86.若该行记录的operagtion_version字段值为i,将该行记录插入到对应的归档数据库表中,将该行记录的业务数据库表rowid插入到归档对照表中;
87.若该行记录的operagtion_version字段值为u,将该行记录更新至对应的归档数据库表中;
88.若该行记录的operagtion_version字段值为d,判断该行记录的时间列字段值是否在业务数据寿命字段值之内,如果在,从对应的归档数据库表中删除该行记录,从归档对照表中删除该行记录的业务数据库表rowid;
89.更新归档记录表中该业务数据库表的scn_last字段值。
90.综上所述,在本发明实施例提出的装置中,配置模块,用于配置数据库配置表、归档配置表,其中,所述数据库配置表包括oracle业务数据库信息、oracle归档数据库信息和归档配置表名字段,归档配置表至少包括业务数据库表名字段、是否归档过期数据字段和归档周期字段;校验模块,用于在根据数据库配置表中的oracle业务数据库信息、oracle归档数据库信息对oracle业务数据库和oracle归档数据库进行校验并通过后,读取数据库配置表中归档配置表名字段中的归档配置表名;数据读取模块,用于对归档配置表名对应的归档配置表中每个业务数据库表,读取该业务数据库表的是否归档过期数据字段;第一同步模块,用于在该业务数据库表的是否归档过期数据字段值为是时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第一要求的第一记录集,将所述第一记录集同步至对应的归档数据库表中;调用第二同步模块,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中;第二同步模块,用于在该业务数据库表的是否归档过期数据字段值为否时,从oracle业务数据库的闪回缓存中读取该业务数据库表的满足第二要求的第二记录集,按照该业务数据库表的归档周期字段值,将所述第二记录集同步至对应的归档数据库表中。在上述过程中,利用了oracle数据闪回特性,将业务数据库中的数据同步到归档数据库,具体地,通过配置数据库配置表、归档配置表,自动执行oracle数据库同步,效率高,使得应用程序只需要访问归档数据库就可以实现访问所有数据,这极大地降低了应用程序的编程难度。
91.本技术的实施例还提供一种计算机设备,图7为本发明实施例中计算机设备的示意图,该计算机设备能够实现上述实施例中的oracle数据库同步方法中全部步骤,所述计算机设备具体包括如下内容:
92.处理器(processor)701、存储器(memory)702、通信接口(communications interface)703和通信总线704;
93.其中,所述处理器701、存储器702、通信接口703通过所述通信总线704完成相互间的通信;所述通信接口703用于实现服务器端设备、检测设备以及用户端设备等相关设备之间的信息传输;
94.所述处理器701用于调用所述存储器702中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的oracle数据库同步方法中的全部步骤。
95.本技术的实施例还提供一种计算机可读存储介质,能够实现上述实施例中的oracle数据库同步方法中全部步骤,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的oracle数据库同步方法的全部步骤。
96.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
97.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
98.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
99.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
100.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献