【技术实现步骤摘要】
执行计划自动变更方法、装置、设备及可读存储介质
[0001]本申请涉及oracle数据库的
,尤其是涉及一种执行计划自动变更方法、装置、设备及可读存储介质。
技术介绍
[0002]Oracle数据库收到sql执行命令后,通过自身内部算法,选择最优的执行计划来执行这条sql语句。但是,随着数据库的长时间运行,经常删除分区或数据,且没有及时做完相关表的统计信息的收集分析,Oracle数据库会自动改变执行计划,在改变执行计划的过程中,可能会导致sql执行缓慢,发生进程队列拥堵,影响业务的可持续服务能力。
[0003]相关技术中,通常采用手动的方式查询执行缓慢原因,并且在发现执行缓慢的原因后,需要手动解决进程队列拥堵的问题,全程耗费时间比较长,十分影响工作效率。
技术实现思路
[0004]为了提高解决进程队列拥堵的问题的工作效率,本申请提供一种执行计划自动变更方法、装置、设备及可读存储介质。
[0005]第一方面,本申请提供一种执行计划自动变更方法,采用如下的技术方案:一种执行计划自动变更方法, ...
【技术保护点】
【技术特征摘要】
1.一种执行计划自动变更方法,其特征在于,包括:获取进程队列的排队数量;若所述排队数量大于数量阈值,则查询数据库中是否存在至少一条长时执行语句;若所述数据库中存在至少一条长时执行语句,则获取所述至少一条长时执行语句对应的sql_id;查询预设时间段内每个所述sql_id绑定过的所有的执行计划,并判断每个所述sql_id对应的长时执行语句是否变更过执行计划;若任一所述sql_id对应的长时执行语句变更过执行计划,则获取当前执行计划的上一条执行计划,并将所述上一条执行计划与所述sql_id进行绑定。2.根据权利要求1所述的方法,其特征在于,所述判断每个所述sql_id对应的长时执行语句是否变更过执行计划,包括:若所述sql_id在预设时间内绑定过至少两个执行计划,则判定所述sql_id对应的长时执行语句变更过执行计划。3.根据权利要求1或2所述的方法,其特征在于,所述获取进程队列的排队数量,包括:通过轮询.TMIB获取tuxedo服务器的所述进程队列的排队数量。4.根据权利要求1或2所述的方法,其特征在于,所述查询数据库中是否存在至少一条长时执行语句,包括:获取数据库中当前正在执行的所有sql语句以及所述所有sql语句对应的执行时间;将所述执行时间大于预设时间阈值的sql语句作为所述长时执行语句。5.根据权利要求1或2所述的方法,其特征在于,所述查询预设时间段内每个所述sql_id绑定过的所有的执行计划...
【专利技术属性】
技术研发人员:卞旭东,
申请(专利权)人:北京联华信科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。