一种数据库容灾环境下对目标库的会话监控的方法及装置制造方法及图纸

技术编号:28373188 阅读:8 留言:0更新日期:2021-05-08 00:00
本发明专利技术公开了一种数据库容灾环境下对目标库的会话监控的方法及装置,所述方法包括如下步骤:步骤S1,获取并初始化当前目标库已连接的会话并予以保存,建立会话id和建立会话的应用名之间的关联;步骤S2,获取重做日志,启动日志分析程序,从当前位置或指定位置对重做日志开始分析;步骤S3,通过所述重做日志分析用户会话,并保存会话信息至会话信息结构中;步骤S4,分析所述重做日志的DML信息,在保存DML信息的同时,保存DML操作数到相应的会话信息结构中;步骤S5,保存会话信息到文件或输出显示。

【技术实现步骤摘要】
一种数据库容灾环境下对目标库的会话监控的方法及装置
本专利技术涉及计算机数据库
,特别是涉及一种数据库容灾环境下对目标库的会话监控的方法及装置。
技术介绍
数据库是数据管理的有效技术,是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里,数据表之间相互关联,反映客观事物间的本质联系,数据库能有效地帮助一个组织或企业科学地管理各类信息资源。目前,在生产环境中为了满足容灾和读写分离等需求,经常会部署数据库同步软件,将源库实时同步到目标库。在数据库同步中,需要保证两边数据库的数据一致性,也就是表的数据一致,这就需要当源库的数据在实时变化,目标库也随之实时更新时,也就需要保证没有会话对目标库相应的表进行操作,因此,就需要对目标库的会话进行监控,其中,会话监控的难点在于如何在源库和目标库实时同步时分析目标库会话对哪些表进行了DML(DataManipulationLanguage,数据操纵语言)操作。目前,现在技术一般不会对会话进行监控,当导致数据不一致出现时,很难判断是同步软件出的问题,还是有会话对相应表进行了操作。
技术实现思路
为克服上述现有技术存在的不足,本专利技术之目的在于提供一种数据库容灾环境下对目标库的会话监控的方法及装置,以实现在数据库实时同步过程中进行监控目标库所有会话所进行的DML操作的目的。为达上述目的,本专利技术提出一种数据库容灾环境下对目标库的会话监控的方法,包括如下步骤:步骤S1,获取并初始化当前目标库已连接的会话并予以保存,建立会话id和建立会话的应用名之间的关联;步骤S2,获取重做日志,启动日志分析程序,从当前位置或指定位置对重做日志开始分析;步骤S3,通过所述重做日志分析用户会话,并保存会话信息至会话信息结构中;步骤S4,分析所述重做日志的DML信息,在保存DML信息的同时,保存DML操作数到相应的会话信息结构中步骤S5,保存会话信息到文件或输出显示。优选地,于步骤S1中,保存的会话信息包括获取的会话id、建立会话的应用名prog以及操作的DML数量,其中操作的DML数量初始化赋值为0。优选地,于步骤S2中,所述当前位置指数据库当前写日志的位置,所述指定位置指通过配置文件指定的日志文件中的位置。优选地,于步骤S4中,分析所述重做日志中的DML操作,当分析到DML操作时,通过会话的id确定相应的会话,则在保存DML操作信息的同时,保存DML操作数到相应的会话信息结构中。优选地,所述DML操作指插入、删除以及修改操作。优选地,所述会话信息结构通过一个map(int,sessionlog)进行映射保存,其第一项为会话id,第二项为sessionlog,sessionlog包括会话id、执行会话的应用名称prog,操作的表对象id以及DML操作的计数dmlcount。为达到上述目的,本专利技术还提供一种数据库容灾环境下对目标库的会话监控的装置,包括:初始化模块,用于获取并初始化当前目标库已连接的会话并予以保存,建立会话id和建立会话的应用名之间的关联;日志分析启动模块,用于获取重做日志,启动日志分析程序,从当前位置或指定位置对重做日志开始分析;日志分析模块,通过所述重做日志分析用户会话,并保存会话信息至会话信息结构中,并分析所述重做日志的DML信息,在保存DML信息的同时,保存DML操作数到相应的会话信息结构中;会话输出模块,用于保存会话信息到文件或输出显示。优选地,所述当前位置指数据库当前写日志的位置,所述指定位置指通过配置文件指定的日志文件中的位置。优选地,所述日志分析模块分析所述重做日志中的DML操作,当分析到DML操作时,通过会话的id确定相应的会话,则在保存DML操作信息的同时,保存DML操作数到相应的会话信息结构中。优选地,所述会话信息结构通过一个map(int,sessionlog)进行映射保存,其第一项是会话id,第二项为sessionlog,sessionlog包括会话id、执行会话的应用名称prog,操作的表对象id以及DML操作的计数dmlcount。与现有技术相比,本专利技术一种数据库容灾环境下对目标库的会话监控的方法及装置通过获取并初始化当前目标库已连接的会话,然后获取重做日志,启动日志分析程序,从当前位置或指定位置对重做日志开始分析,根据所述重做日志中的会话信息,分析所述会话信息中的DML操作,当分析到DML操作时,保存DML操作信息的同时,保存DML操作数到相应的会话信息结构中,实现了在数据库实时同步过程中进行监控目标库所有会话所进行的DML操作的目的。附图说明图1为本专利技术一种数据库容灾环境下对目标库的会话监控的方法的步骤流程图;图2为本专利技术一种数据库容灾环境下对目标库的会话监控的装置的系统架构图。具体实施方式以下通过特定的具体实例并结合附图说明本专利技术的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本专利技术的其它优点与功效。本专利技术亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本专利技术的精神下进行各种修饰与变更。图1为本专利技术一种数据库容灾环境下对目标库的会话监控的方法的步骤流程图。如图1所示,本专利技术一种数据库容灾环境下对目标库的会话监控的方法,应用于目标库端,包括如下步骤:步骤S1,初始化当前目标库已连接的会话并予以保存,建立会话id和建立会话的应用名之间的关联。在本专利技术具体实施例中,通过数据库查询获取当前目标库已连接的会话,具体地说,这里的初始化则是在监控会话程序开启时查询当前数据库是否有连接的会话,查询获取的是会话信息,包括会话id(sid)、建立会话的应用名(prog)以及操作的DML数量,其中操作的DML数量初始化赋值为0,并将查询获取的会话信息保存在内存中,即,初始化的目的则是将会话id(sid)和建立会话的应用名(prog)建立关联。由于在监控程序启动后,会从当前位置或指定位置开始分析redo日志,但其实往往当前数据库的会话可能在当前分析点以前就已经连接了,因此必须进行初始化,若不初始化,则后续分析到该会话操作DML时,则无法确定是哪个会话,例如在1点10分的时候有一个会话(sid=1)连接到数据库(这时数据库会把会话信息记录到redo日志中)并一直没断开,进行DML操作,假设当前的分析点是在1点30分,那么sid=1的会话就需要初始化了(因为sid=1是在1点10分写入日志的,而分析点是1点30分,所以1点30分前的日志就不会进行分析,导致无法初始化这个会话),不然当分析到sid=1的会话进行的操作就无法确定是哪个应用程序操作的。在本专利技术中,初始化最主要的目的是把sid和建立会话的应用名建立关联(只有通过分析会话连接时的日志才能解析到,如果过了这段日志,就无法解析到他们的关联性了,以后的日志只能分析到sid,但无法知道是哪个应用在操作,本专利技术通过初始化查询数据库获取到当前本文档来自技高网...

【技术保护点】
1.一种数据库容灾环境下对目标库的会话监控的方法,包括如下步骤:/n步骤S1,获取并初始化当前目标库已连接的会话并予以保存,建立会话id和建立会话的应用名之间的关联;/n步骤S2,获取重做日志,启动日志分析程序,从当前位置或指定位置对重做日志开始分析;/n步骤S3,通过所述重做日志分析用户会话,并保存会话信息至会话信息结构中;/n步骤S4,分析所述重做日志的DML信息,在保存DML信息的同时,保存DML操作数到相应的会话信息结构中;/n步骤S5,保存会话信息到文件或输出显示。/n

【技术特征摘要】
1.一种数据库容灾环境下对目标库的会话监控的方法,包括如下步骤:
步骤S1,获取并初始化当前目标库已连接的会话并予以保存,建立会话id和建立会话的应用名之间的关联;
步骤S2,获取重做日志,启动日志分析程序,从当前位置或指定位置对重做日志开始分析;
步骤S3,通过所述重做日志分析用户会话,并保存会话信息至会话信息结构中;
步骤S4,分析所述重做日志的DML信息,在保存DML信息的同时,保存DML操作数到相应的会话信息结构中;
步骤S5,保存会话信息到文件或输出显示。


2.如权利要求1所述的一种数据库容灾环境下对目标库的会话监控的方法,其特征在于:于步骤S1中,保存的会话信息包括获取的会话id、建立会话的应用名prog以及操作的DML数量,其中操作的DML数量初始化赋值为0。


3.如权利要求1所述的一种数据库容灾环境下对目标库的会话监控的方法,其特征在于:于步骤S2中,所述当前位置指数据库当前写日志的位置,所述指定位置指通过配置文件指定的日志文件中的位置。


4.如权利要求1所述的一种数据库容灾环境下对目标库的会话监控的方法,其特征在于:于步骤S4中,分析所述重做日志中的DML操作,当分析到DML操作时,通过会话的id确定相应的会话,则在保存DML操作信息的同时,保存DML操作数到相应的会话信息结构中。


5.如权利要求4所述的一种数据库容灾环境下对目标库的会话监控的方法,其特征在于:所述DML操作指插入、删除以及修改操作。


6.如权利要求5所述的一种数据库容灾环境下对目标库的会话监控的方法,其特征在于:所述会话信息结构通过一个map(int,sessionlog)...

【专利技术属性】
技术研发人员:蓝炳雄高志会周华江俊
申请(专利权)人:上海英方软件股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1