一种获取索引相关信息的方法和设备的制作方法

文档序号:6648886阅读:147来源:国知局
一种获取索引相关信息的方法和设备的制作方法
【专利摘要】本发明公开了一种获取索引相关信息的方法和设备,该方法包括以下步骤:通过自定义脚本对数据库中的预设数据块进行解析,得到索引相关信息;将所述索引相关信息应用到所述数据库中。本发明通过自定义脚本获取数据库中的索引相关信息,并将索引相关信息应用到数据库中,对数据库的影响小,资源消耗和时间消耗都是可控的,避免了因使用数据库自带的信息收集任务带来的数据库性能下降等问题。
【专利说明】一种获取索引相关信息的方法和设备

【技术领域】
[0001]本发明涉及计算机【技术领域】,具体涉及一种获取索引相关信息的方法和设备。

【背景技术】
[0002]随着信息技术的迅速发展,在大型数据库中,数据的更改是非常频繁的,因此,建立在数据库中的数据之上的索引也需要经常维护,否则,这些索引就起不到相应的作用,甚至会成为数据库的负担。
[0003]现有技术中,数据库默认地创建一个自动化的信息收集任务,通过该信息收集任务进行统计信息的收集,包括收集表、索引以及系统的相关信息。上述信息收集任务通过抽取索引的一部分数据来推测索引整体的相关信息,对系统资源和时间的消耗非常大,导致数据库性能下降。


【发明内容】

[0004]本发明提供了一种获取索引相关信息的方法和设备,以解决现有技术中的信息收集任务对系统资源和时间的消耗非常大的缺陷。
[0005]本发明提供了一种获取索引相关信息的方法,包括以下步骤:
[0006]通过自定义脚本对数据库中的预设数据块进行解析,得到索引相关信息;
[0007]将所述索引相关信息应用到所述数据库中。
[0008]可选地,所述通过自定义脚本对数据库中的预设数据块进行解析,得到索引相关信息,具体包括:
[0009]通过所述自定义脚本从所述数据库中的预设数据块中获取索引,将所述索引转储到跟踪文件中;
[0010]对所述跟踪文件进行分析,得到所述索引相关信息。
[0011 ] 可选地,所述通过自定义脚本对数据库中的预设数据块进行解析,得到索引相关信息之前,还包括:
[0012]定制自定义脚本中的自定义计划任务。
[0013]可选地,所述定制自定义脚本中的自定义计划任务,具体为:
[0014]通过使用crontab工具,定制自定义脚本中的自定义计划任务。
[0015]可选地,所述索引相关信息包括索引的行数、索引的层高、索引大小、索引块个数、索引包含的唯一值的个数,以及索引的叶子数中的一项或多项。
[0016]本发明还提供了一种一种获取索引相关信息的设备,包括:
[0017]解析模块,用于通过自定义脚本对数据库中的预设数据块进行解析,得到索引相关信息;
[0018]应用模块,用于将所述解析模块解析得到的所述索引相关信息应用到所述数据库中。
[0019]可选地,所述解析模块,具体用于通过所述自定义脚本从所述数据库中的预设数据块中获取索引,将所述索引转储到跟踪文件中;对所述跟踪文件进行分析,得到所述索引相关信息。
[0020]可选地,所述的设备,还包括:
[0021 ] 定制模块,用于定制自定义脚本中的自定义计划任务。
[0022]可选地,所述定制模块,具体用于通过使用crontab工具,定制自定义脚本中的自定义计划任务。
[0023]可选地,所述索引相关信息包括索引的行数、索引的层高、索引大小、索引块个数、索引包含的唯一值的个数,以及索引的叶子数中的一项或多项。
[0024]本发明通过自定义脚本获取数据库中的索引相关信息,并将索引相关信息应用到数据库中,对数据库的影响小,资源消耗和时间消耗都是可控的,避免了因使用数据库自带的信息收集任务带来的数据库性能下降等问题。

【专利附图】

【附图说明】
[0025]图1为本发明实施例中的一种获取索引相关信息的方法流程图;
[0026]图2为本发明实施例中的一种获取索引相关信息的设备结构示意图。

【具体实施方式】
[0027]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0028]需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0029]本发明实施例提供了一种获取索引相关信息的方法,如图1所示,包括以下步骤:
[0030]步骤101,部署自定义脚本。
[0031]本实施例中该,通过执行以下命令,实现对自定义脚本的部署:
[0032]Chown oracle:oinstall index_info_stat.sh
[0033]步骤102,定制自定义脚本中的自定义技术任务。
[0034]具体地,可以通过使用crontab工具,定制自定义脚本中的自定义计划任务。
[0035]步骤103,通过自定义脚本从数据库中的预设数据块中获取索引。
[0036]具体地,可以通过自定义脚本从数据库中的预设数据块的块头获取索引。
[0037]本实施例中,可通过自定义脚本执行以下命令,获取索引:
[0038]select object_id from dba_objects where object_name = ’ SYS_C007705’
[0039]步骤104,将索引转储到跟踪文件中。
[0040]其中,跟踪文件包括后台报警日志文件、后台跟踪文件和用户跟踪文件。
[0041]本实施例中,可通过执行以下命令,将索引转储到跟踪文件中:
[0042]alter sess1n set events’ immediate trace name treedump level 55540’
[0043]步骤105,对跟踪文件进行分析,得到索引相关信息。
[0044]其中,索引相关信息包括索引的行数、索引的层高、索引大小、索引块个数、索引包含的唯一值的个数,以及索引的叶子数中的一项或多项。
[0045]本实施例中,可通过自定义脚本执行以下命令,对跟踪文件进行分析:
[0046]Cat ol0201_ora_32037.trc|grep “branch:” | grep “(O:”
[0047]步骤106,将索引相关信息应用到数据库中。
[0048]本实施例中,可通过自定义脚本执行以下命令,将索引相关信息应用到数据库中:
[0049]Exec dbms_stats.set_index_stats (.....)
[0050]本发明实施例通过自定义脚本获取数据库中的索引相关信息,并将索引相关信息应用到数据库中,对数据库的影响小,资源消耗和时间消耗都是可控的,避免了因使用数据库自带的信息收集任务带来的数据库性能下降等问题。
[0051]基于上述获取索引相关信息的方法,本发明实施例还提供了一种获取索引相关信息的设备,如图2所示,包括:
[0052]解析模块210,用于通过自定义脚本对数据库中的预设数据块进行解析,得到索引相关信息。
[0053]具体地,上述解析模块210,具体用于通过所述自定义脚本从所述数据库中的预设数据块中获取索引,将所述索引转储到跟踪文件中;对所述跟踪文件进行分析,得到所述索引相关信息。
[0054]其中,索引相关信息包括索引的行数、索引的层高、索引大小、索引块个数、索引包含的唯一值的个数,以及索引的叶子数中的一项或多项。
[0055]应用模块220,用于将解析模块210解析得到的索引相关信息应用到数据库中。
[0056]定制模块230,用于定制自定义脚本中的自定义计划任务。
[0057]具体地,上述定制模块230,具体用于通过使用crontab工具,定制自定义脚本中的自定义计划任务。
[0058]本发明实施例通过自定义脚本获取数据库中的索引相关信息,并将索引相关信息应用到数据库中,对数据库的影响小,资源消耗和时间消耗都是可控的,避免了因使用数据库自带的信息收集任务带来的数据库性能下降等问题。
[0059]结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。
[0060]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种获取索引相关信息的方法,其特征在于,包括以下步骤: 通过自定义脚本对数据库中的预设数据块进行解析,得到索引相关信息; 将所述索引相关信息应用到所述数据库中。
2.如权利要求1所述的方法,其特征在于,所述通过自定义脚本对数据库中的预设数据块进行解析,得到索引相关信息,具体包括: 通过所述自定义脚本从所述数据库中的预设数据块中获取索引,将所述索引转储到跟踪文件中; 对所述跟踪文件进行分析,得到所述索引相关信息。
3.如权利要求1所述的方法,其特征在于,所述通过自定义脚本对数据库中的预设数据块进行解析,得到索引相关信息之前,还包括: 定制自定义脚本中的自定义计划任务。
4.如权利要求3所述的方法,其特征在于,所述定制自定义脚本中的自定义计划任务,具体为: 通过使用工具,定制自定义脚本中的自定义计划任务。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述索引相关信息包括索引的行数、索引的层高、索引大小、索引块个数、索引包含的唯一值的个数,以及索引的叶子数中的一项或多项。
6.一种获取索引相关信息的设备,其特征在于,包括: 解析模块,用于通过自定义脚本对数据库中的预设数据块进行解析,得到索引相关信息; 应用模块,用于将所述解析模块解析得到的所述索引相关信息应用到所述数据库中。
7.如权利要求6所述的设备,其特征在于, 所述解析模块,具体用于通过所述自定义脚本从所述数据库中的预设数据块中获取索弓丨,将所述索引转储到跟踪文件中;对所述跟踪文件进行分析,得到所述索引相关信息。
8.如权利要求6所述的设备,其特征在于,还包括: 定制模块,用于定制自定义脚本中的自定义计划任务。
9.如权利要求8所述的设备,其特征在于, 所述定制模块,具体用于通过使用工具,定制自定义脚本中的自定义计划任务。
10.如权利要求6至9中任一项所述的设备,其特征在于,所述索引相关信息包括索引的行数、索引的层高、索引大小、索引块个数、索引包含的唯一值的个数,以及索引的叶子数中的一项或多项。
【文档编号】G06F17/30GK104504144SQ201510003880
【公开日】2015年4月8日 申请日期:2015年1月5日 优先权日:2015年1月5日
【发明者】初贤哲, 乔鑫, 汪航, 钟亮, 杨磊 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1