[发明专利]数据库游标的控制方法与数据库系统有效
申请号: | 201710323310.0 | 申请日: | 2017-05-09 |
公开(公告)号: | CN107145582B | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 刘远凤 | 申请(专利权)人: | 深圳TCL新技术有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 宋朝政 |
地址: | 518052 广东省深圳市南山区中*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 游标 控制 方法 系统 | ||
本发明公开了一种数据库游标的控制方法和数据库系统,该数据库游标的控制方法包括:当检测到数据库激活游标时,记录激活的游标及其游标级别,以获得所有已激活游标的排序列表;当检测到排序列表中存在已激活且闲置的低级别游标时,释放低级别游标占用的内存资源。本发明在内存资源不足时,根据游标级别关闭游标进行资源释放,有效解决数据库游标导致的内存泄露。
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库游标的控制方法与数据库系统。
背景技术
在数据库系统中,经常存在无法回收的内存资源或正在使用的内存资源过多,造成系统中的可用内存越来越少,导致系统运行不流畅。
在数据库系统中通常会应用到游标,当游标被引用后没有及时关闭,容易增大内存溢出机率,这样会导致系统运行越来越慢,直到宕机。目前内存泄露工具一般采用内存检查工具分析出系统的静态内存错误,但无法实时监测并关闭游标,这将导致数据库系统在出现内存资源不足的情况时,系统会因缺少内存运行资源而出现卡顿、宕机甚至系统崩溃等问题。
发明内容
本发明的主要目的在于提供一种数据库游标的控制方法与数据库系统,旨在解决数据库系统因游标未关闭造成系统内存资源不足,导致系统无法正常运行的技术问题。
为实现上述目的,本发明实施例提供一种数据库游标的控制方法,所述游标设置有游标级别,其中包括低级别游标,所述数据库游标的控制方法包括:
当检测到数据库激活游标时,记录激活的游标及其游标级别,以获得所有已激活游标的排序列表;
当检测到排序列表中存在已激活且闲置的低级别游标时,释放低级别游标占用的内存资源。
可选地,所述当检测到排序列表中存在已激活且闲置的低级别游标时,释放低级别游标占用的内存资源的步骤之后还包括:
统计当前数据库系统的闲置内存资源,以获得对应的统计参数;
当检测到统计参数小于预设阈值时,释放排序列表中所有已激活游标占用的内存资源。
可选地,所述当检测到统计参数小于预设阈值时,释放排序列表中所有已激活游标占用的内存资源的步骤之后还包括:
存储本次释放内存资源的所有事件信息,以作为内存资源优化的依据。
可选地,所述当检测到统计参数小于预设阈值时,释放所述排序列表中所有已激活游标占用的内存资源的步骤包括:
当检测到统计参数小于预设阈值时,显示当前排序列表中所有的已激活游标,以供用户选择;
基于用户选择的预选游标,释放预选游标占用的内存资源。
可选地,所述当检测到统计参数小于预设阈值时,释放所述排序列表中所有已激活游标占用的内存资源的步骤包括:
当检测到统计参数小于预设阈值时,获取排序列表中所有已激活游标的内存资源的释放权限;
当检测到释放权限未能成功释放所有已激活游标占用的内存资源时,强制获取数据库系统的最高权限;
基于最高权限释放所有已激活游标占用的内存资源。
此外,为实现上述目的,本发明还提供一种数据库系统,所述数据库系统中设置有游标,且所述游标设置有游标级别,其中包括低级别游标,所述数据库系统包括:
记录模块,用于当检测到数据库激活游标时,记录激活的游标及其游标级别,以获得所有已激活游标的排序列表;
第一释放模块,用于当检测到排序列表中存在已激活且闲置的低级别游标时,释放低级别游标占用的内存资源。
可选地,所述数据库系统还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳TCL新技术有限公司,未经深圳TCL新技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710323310.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带有干燥装置的户外充电桩
- 下一篇:免手扶吸奶器