本发明涉及无线通信,尤其涉及一种数据库索引监控方法、装置、服务器及存储介质。
背景技术:
1、随着业务需求的不断演进,oracle数据库中的表结构随之变化,会逐渐积累一些业务查询中用不到的索引。这些索引不仅占用磁盘空间、对dml(data manipulationlanguage,数据操纵语言)操作性能造成一定影响,在进行维护操作时也需要额外的时间对此类索引进行修改。因此对于oracle数据库中索引进行监控以确定索引是否被应用到(即是否处于失效的状态)具有重要意义。
2、目前,现有技术中,对oracle数据库中的索引是否被应用到进行监控,采用的方式是:通过数据库命令开启索引监控功能,根据业务的周期特性,在若干业务周期后通过查询内置的视图监控索引是否被引用的结果。
3、然而,现有技术至少存在如下问题:该方法仅适用于可读写的oracle数据库的主库,即现有的oracle数据库索引监控方法仅能判断到索引是否在的主库上被用到,而不能判断索引是否在备库上被用到,造成索引监控的不准确,进而影响对oracle数据库中的索引的后续处理。
技术实现思路
1、本发明提供一种数据库索引监控方法、装置、服务器及存储介质,以克服现有技术仅能判断到索引是否在的主库上被用到,而不能判断索引是否在备库上被用到,造成索引监控的不准确的技术问题。
2、第一方面,本发明提供一种数据库索引监控方法,包括:
3、接收待监控的索引列表,其中所述索引列表中包括索引账号与多条索引信息的对应关系;
4、将所述索引列表发送至oracle数据库的主数据库,以在所述oracle数据库的主数据库中登录所述索引账号,并对所述索引账号对应的索引信息进行监控,以确定任一索引信息是否被使用;
5、发送监控请求至所述oracle数据库的物理备库,以使所述oracle数据库的物理备库监控是否有针对所述索引列表中任一索引信息的访问记录,并根据所述访问记录得到第一未使用索引列表;
6、在经过预设个业务周期后,在所述oracle数据库的主数据库中登录所述索引账号,并获取所述oracle数据库的主数据库中所述索引列表中未使用的索引信息,得到第二未使用索引列表;
7、根据所述第一未使用索引列表和所述第二未使用索引列表,确定所述预设个业务周期内未被使用的索引信息。
8、在一种可能的设计中,所述发送监控请求至所述oracle数据库的物理备库,以使所述oracle数据库的物理备库监控是否有针对所述索引列表中任一索引信息的访问记录,并根据所述访问记录得到第一未使用索引列表,包括:
9、按照预配置的监控频率,发送监控请求至所述oracle数据库的物理备库,以在所述物理备库按照所述监控频率采集执行的访问记录中是否包含与所述索引账号对应的任一索引信息相关的语句信息;
10、若包含,则确定所述访问记录为针对所述任一索引信息的访问记录;
11、将所述索引列表具有访问记录对应的索引信息删除,得到第一未使用索引列表。
12、在一种可能的设计中,所述接收待监控的索引列表,包括:
13、接收数据库管理员在终端配置的索引列表,其中所述索引列表中的索引信息是所述数据库管理员在所述终端根据业务运行情况和技术检验确定的。
14、在一种可能的设计中,所述根据所述第一未使用索引列表和所述第二未使用索引列表,确定所述预设个业务周期内未被使用的索引信息,包括:
15、将所述第一未使用索引列表和所述第二未使用索引列表中同时存在的索引信息,确定为所述预设个业务周期内未被使用的索引信息。
16、在一种可能的设计中,所述根据所述第一未使用索引列表和所述第二未使用索引列表,确定所述预设个业务周期内未被使用的索引信息之后,还包括:
17、将所述预设个业务周期内未被使用的索引信息进行删除处理。
18、第二方面,本发明提供一种数据库索引监控装置,包括:
19、接收模块,用于接收待监控的索引列表,其中所述索引列表中包括索引账号与多条索引信息的对应关系;
20、第一监控模块,用于将所述索引列表发送至oracle数据库的主数据库,以在所述oracle数据库的主数据库中登录所述索引账号,并对所述索引账号对应的索引信息进行监控,以确定任一索引信息是否被使用;
21、第二监控模块,用于发送监控请求至所述oracle数据库的物理备库,以使所述oracle数据库的物理备库监控是否有针对所述索引列表中任一索引信息的访问记录,并根据所述访问记录得到第一未使用索引列表;
22、统计模块,在经过预设个业务周期后,在所述oracle数据库的主数据库中登录所述索引账号,并获取所述oracle数据库的主数据库中所述索引列表中未使用的索引信息,得到第二未使用索引列表;
23、确定模块,用于根据所述第一未使用索引列表和所述第二未使用索引列表,确定所述预设个业务周期内未被使用的索引信息。
24、在一种可能的设计中,所述第二监控模块,具体用于按照预配置的监控频率,发送监控请求至所述oracle数据库的物理备库,以在所述物理备库按照所述监控频率采集执行的访问记录中是否包含与所述索引账号对应的任一索引信息相关的语句信息;若包含,则确定所述访问记录为针对所述任一索引信息的访问记录;将所述索引列表具有访问记录对应的索引信息删除,得到第一未使用索引列表。
25、在一种可能的设计中,所述接收模块,具体用于接收数据库管理员在终端配置的索引列表,其中所述索引列表中的索引信息是所述数据库管理员在所述终端根据业务运行情况和技术检验确定的。
26、第三方面,本发明提供一种服务器,包括:至少一个处理器和存储器;
27、所述存储器存储计算机执行指令;
28、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的数据库索引监控方法。
29、第四方面,本发明提供一种计算机存储介质,所述计算机存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的数据库索引监控方法。
30、本发明提供的数据库索引监控方法、装置、服务器及存储介质,通过获取oracle数据库的物理备库中索引信息的访问记录,判断访问记录中是否有待监控的索引类表中的索引信息,若有则更新待监控的索引类表中的索引信息,得到未使用的索引列表;获取oracle数据库的主数据库中监控的索引类表中的索引信息,得到未使用的索引列表;根据物理备库得到的未使用的索引列表和主数据库得到的未使用的索引列表,得到最终的未使用的索引信息,得到的未使用的索引信息更精确、更全面。
1.一种数据库索引监控方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述发送监控请求至所述oracle数据库的物理备库,以使所述oracle数据库的物理备库监控是否有针对所述索引列表中任一索引信息的访问记录,并根据所述访问记录得到第一未使用索引列表,包括:
3.根据权利要求1所述的方法,其特征在于,所述接收待监控的索引列表,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一未使用索引列表和所述第二未使用索引列表,确定所述预设个业务周期内未被使用的索引信息,包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述第一未使用索引列表和所述第二未使用索引列表,确定所述预设个业务周期内未被使用的索引信息之后,还包括:
6.一种数据库索引监控装置,其特征在于,包括:
7.根据权利要求6所述的装置,其特征在于,所述第二监控模块,具体用于按照预配置的监控频率,发送监控请求至所述oracle数据库的物理备库,以在所述物理备库按照所述监控频率采集执行的访问记录中是否包含与所述索引账号对应的任一索引信息相关的语句信息;若包含,则确定所述访问记录为针对所述任一索引信息的访问记录;将所述索引列表具有访问记录对应的索引信息删除,得到第一未使用索引列表。
8.根据权利要求6所述的装置,其特征在于,所述接收模块,具体用于接收数据库管理员在终端配置的索引列表,其中所述索引列表中的索引信息是所述数据库管理员在所述终端根据业务运行情况和技术检验确定的。
9.一种服务器,其特征在于,包括:至少一个处理器和存储器;
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至5任一项所述的数据库索引监控方法。