CN101178723B - 用于调试数据库问题的装置和方法 - Google Patents

用于调试数据库问题的装置和方法 Download PDF

Info

Publication number
CN101178723B
CN101178723B CN2007101674707A CN200710167470A CN101178723B CN 101178723 B CN101178723 B CN 101178723B CN 2007101674707 A CN2007101674707 A CN 2007101674707A CN 200710167470 A CN200710167470 A CN 200710167470A CN 101178723 B CN101178723 B CN 101178723B
Authority
CN
China
Prior art keywords
query statement
access plan
snapshot
speed cache
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007101674707A
Other languages
English (en)
Other versions
CN101178723A (zh
Inventor
M·J·安德森
R·J·贝斯根
D·E·比奇
C·N·博格
J·M·弗拉纳根
S·福斯蒂
S·凯蒂雷迪
T·O·麦金利
M·D·普费弗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101178723A publication Critical patent/CN101178723A/zh
Application granted granted Critical
Publication of CN101178723B publication Critical patent/CN101178723B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24547Optimisations to support specific applications; Extensibility of optimisers

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种数据库查询优化器,包括访问计划存储机构,该访问计划存储机构在访问计划高速缓存中存储与查询语句相对应的执行细节。通过将执行细节随查询语句一起存储于访问计划高速缓存中,在需要执行细节来调试数据库问题时,甚至于在问题出现之后,执行细节是可用的。可以在事实之后挖掘和分析访问计划高速缓存中存储的执行细节,产生一种用于调试数据库问题的强大工具。执行细节的快照也可以由用户创建。此外,用户可以设置自治快照和比较,使得可以将两个快照之间数据库性能的降级警告用户。

Description

用于调试数据库问题的装置和方法
技术领域
本发明主要涉及数据库系统,并且更具体地涉及用于管理数据库系统的工具。
背景技术
已经开发数据库系统用来使得计算机以允许用户搜索和检索数据库中的具体信息的方式存储大量信息。例如,保险公司可以具有包括所有它的保单持有人以及它们的当前账户信息的数据库,该信息包括支付历史、保费额、保单号、保单类型、免责等。数据库系统允许保险公司从它的数据库中数以千计并且可能数以百万计的保单持有人之中为单个保单持有人检索账户信息。
从数据库中检索信息通常使用查询来完成。查询通常指定了适用于数据库中一列或者多列的条件,并且可以指定对多列的相对复杂的逻辑操作。在数据库中搜索满足查询的记录,并且返回满足查询的那些结果作为查询结果。普遍的查询语言是已经在数据库界赢得广泛认可的结构化查询语言(SQL)。
数据库系统中的调试性能问题常常具有难度。已经开发数据库性能监视器,用来在数据库系统中产生对事件的线性时间跟踪,以帮助调试数据库问题。然而,已知的数据库监视器收集如此之多的信息以至于收集事件线性时间跟踪的开销可能明显影响数据库性能。结果,直至已经检测到问题才开启数据库性能监视器。这一方式的问题在于许多数据库问题在本质上可能是瞬态的,而尝试重建造成数据库问题的条件可能是困难或者不可能的。没有一种用以根据数据库系统已经收集的信息来调试已经出现的数据库问题的方式,使用性能监视器来调试数据库问题的已知方法将继续成为有效调试数据库问题的阻碍。
发明内容
一种数据库查询优化器,包括访问计划存储机构,该访问计划存储机构在访问计划高速缓存中存储与查询语句相对应的执行细节。通过将执行细节随查询语句一起存储于访问计划高速缓存中,在需要执行细节来调试数据库问题时,甚至在问题出现之后,执行细节是可用的。可以在事实之后挖掘和分析访问计划高速缓存中存储的执行细节,产生一种用于调试数据库问题的强大工具。执行细节的快照也可以由用户创建。此外,用户可以设置自治快照和比较,使得可以将两个快照之间数据库性能的降级警告用户。
前述以及其他特征和优点将如附图中所示从以下更具体的描述中变得明显。
附图说明
将结合附图来描述本公开,其中相似的标号指代相似的单元:
图1是包括访问计划高速缓存的装置的框图,该高速缓存包括执行细节、用于分析执行细节的性能分析机构、以及用于自动创建和比较执行细节的快照的自动快照机构;
图2是示出了包括查询语句以及对应执行细节的图1访问计划高速缓存125中的条目的框图;
图3是示出了可以在图1和图2的访问计划高速缓存中存储的示例执行细节的框图;
图4是用于调试数据库问题的现有技术方法的流程图;
图5是用于通过分析访问计划高速缓存中存储的执行细节来调试数据库问题的方法的流程图;
图6是用于显示执行计划高速缓存中数据的子集以及用于为选择和过滤数据而提供GUI控件的方法的流程图;
图7是包括执行细节的访问计划高速缓存中的条目以及用于选择和过滤数据的GUI控件的示例显示;
图8是访问计划高速缓存中条目的示例显示,该显示示出了GUI控件如何选择和过滤访问计划高速缓存中的数据;
图9是访问计划高速缓存的属性的示例显示;
图10是用于基于用户限定的快照标准自治地生成访问计划高速缓存的快照的方法的流程图;
图11是示出了用户如何能够创建访问计划高速缓存的新快照的示例显示;
图12是允许限定计划高速缓存快照的示例显示;以及
图13是用于自治地收集和比较快照并且通知用户超过指定阈值的改变的方法的流程图。
具体实施方式
访问计划高速缓存允许在高速缓存中将与查询语句相对应的执行细节与查询语句一起存储。由于执行细节对应于查询语句,所以执行细节排除将通常由数据库性能监视器收集的与查询无关的信息。数据库已经收集执行细节,因而可以在对系统性能影响很小的情况下完成在访问计划高速缓存中存储执行细节连同它的对应查询语句。通过在访问计划高速缓存中连续地收集执行细节,可以通过挖掘和分析已经存储于访问计划高速缓存中的执行细节来调试出现的数据库问题,甚至瞬态出现的数据库问题。此外,可以如用户指定的那样获取快照,这包括自治地获取快照和指定的时间或者间隔、以及自治地比较快照。如果两个比较的快照的差异大于指定阈值,则可以向用户发送通知。以这一方式,系统自治地收集在调试数据库问题时有用的信息,因而当检测到数据库问题时可以容易地分析此信息。
参照图1,计算机系统100是如下装置的一种适当实施,该装置在访问计划高速缓存中存储与查询相对应的执行细节,允许在检测到数据库问题时分析执行细节,以及允许自治地收集和比较访问计划高速缓存的快照,并且如果两个快照的差异大于某一指定阈值则警告用户。计算机系统100是IBM eServer Systemi计算机系统。然而,本领域技术人员将认识到这里的公开同样适用于任何计算机系统,无论该计算机系统是复杂的多用户计算装置、单个用户工作站还是嵌入式控制系统。如图1中所示,计算机系统100包括一个或者多个处理器110、主存储器120、大容量存储接口130、显示器接口140和网络接口150。这些系统部件通过使用系统总线160来互连。大容量存储接口130用来将大容量存储设备诸如直接访问存储设备155连接到计算机系统100。直接访问存储设备155的一个具体类型是可以将数据存储到CD-RW 195以及从CD-RW 195读取数据的可读写CD-RW驱动器。
主存储器120优选地包含数据121、操作系统122、数据库查询优化器123、访问计划高速缓存125、性能分析机构126以及存储的快照129。数据121代表用作为输入到计算机系统100中任何程序或者从任何程序输出的任何数据。操作系统122是业内称为i5/OS的多任务操作系统;然而,本领域技术人员将认识到这一公开的实质和范围不限于任一个操作系统。数据库查询优化器123包括将条目存储到访问计划高速缓存125中的访问计划存储机构124。访问计划高速缓存125优选地包括每个条目中的执行细节,如图2中所示以及下文具体讨论的那样。访问计划存储机构124将数据库查询优化器123已经拥有的执行细节存储在访问计划高速缓存125内的条目中。通过在连续的基础上在访问计划高速缓存125中存储执行细节,执行细节可用以调试数据库问题,甚至在数据库问题出现之后。
性能分析机构126包括分析访问计划高速缓存125中存储的数据的访问计划分析机构127。访问计划分析机构127优选地包括图形用户界面,该界面显示访问计划高速缓存条目的子集、并允许用户为选择或者过滤访问计划高速缓存中的数据指定标准。性能分析机构126也包括自治快照机构128,该机构允许用户获取访问计划高速缓存的快照、安排将来的快照以及安排定期快照。自治快照机构128也可以包括用于自治地比较两个快照的差异、并且如果差异超过某一限定阈值则警告用户的机构。快照129是可以由用户人工产生或者可以由自治快照机构128自治地产生的快照的集合。快照129优选地是以与来自数据库性能监视器的输出相同的格式,因而用来显示和分析来自数据库性能监视器的输出的相同工具可以用来显示和分析快照。这里所用的术语“快照”是指在给定的时间瞬间对访问计划高速缓存中部分或者所有信息的持久表示。
计算机系统100利用公知的虚拟寻址机制,这些机制允许计算机系统100的程序表现得就好像它们只是访问大型单个存储实体而不是访问多个较小存储实体例如主存储器120和DASD设备155。因此,尽管数据121、操作系统122、数据库查询优化器123、访问计划高速缓存125、性能分析机构126和快照129表示为驻留于主存储器120中,但是本领域技术人员将认识到这些项目不一定同时全部完全地包含于主存储器120中。也应当注意术语“存储器”在这里一般地指代计算机系统100的整个虚拟存储器、以及可以包括耦合到计算机系统100的其他计算机系统的虚拟存储器。
处理器110可以由一个或者多个微处理器和/或集成电路构成。处理器110执行主存储器120中存储的程序指令。主存储器120存储处理器110可以访问的程序和数据。当计算机系统100启动时,处理器110初始地执行构成操作系统122的程序指令。
虽然计算机系统100表示为仅包含单个处理器和单个系统总线,但是本领域技术人员将认识到可以使用具有多个处理器和/或多个总线的计算机系统来实现数据库项目的图形比较。此外,所用接口优选地每个都包括用来从处理器110卸去计算密集处理的分离式完全编程微处理器。然而,本领域技术人员将认识到也可以使用I/O适配器来执行这些功能。
显示器接口140用来将一个或者多个显示器165直接地连接到计算机系统100。可以是非智能终端(即哑终端)或者完全可编程工作站的这些显示器165用来允许系统管理员和用户与计算机系统100通信。然而,注意到尽管提供显示器接口140用来支持与一个或者多个显示器165通信,但是计算机系统100不一定需要显示器165,因为与用户和其他处理的全部所需交互可以经由网络接口150发生。
网络接口150用来跨经网络170将其他计算机系统和/或工作站(例如图1中的175)连接到计算机系统100。网络接口150和网络170广义地代表用以互连计算机系统的任何适当方式,无论网络170是否包括现有模拟和/或数字技术或者借助将来的某一联网机制。此外,许多不同网络协议能够用来实施网络。这些协议是允许计算机跨经网络170进行通信的专用计算机程序。TCP/IP(传输控制协议/网际协议)是适当网络协议的例子。
就这一点而言,重要的是注意到,尽管以上描述是在完全功能计算机系统的背景下,但是本领域技术人员将认识到,进入分组过滤机制可以用各种形式分配作为程序产品并且要求保护的本发明延及用来实际实现该分配的所有适当类型的计算机可读介质。适当计算机可读介质的例子包括:如软盘和CD-RW(例如图1的195)的可记录介质,以及如数字和模拟通信链路的传输介质。
实施例在这里也可以作为与客户公司、非盈利组织、政府实体、内部组织结构等的服务约定的一部分。这些实施例可以包括配置计算机系统用以执行这里描述的一些或者所有方法以及布署实施这里描述的一些或者所有方法的软件、硬件和web服务。这些实施例也可以包括分析客户的操作、根据分析来给出建议、构建用以实施这些建议的多个部分的系统、将系统集成到现有处理和基础结构中、对系统的使用进行计量、划分系统用户的费用以及针对系统的使用进行计费。
参照图2,示出了图1中所示访问计划高速缓存125的一种适当实施。访问计划高速缓存125包括多个条目,各条目包括查询语句和对应执行细节。因此,图2中所示第一条目包括第一查询语句210A和对应执行细节220A;第二条目包括第二查询语句210B和对应执行细节220B;依此类推,直到第N个条目包括查询语句210N和对应执行细节220N。
图3中示出了示例执行细节220。注意到执行细节与对应查询语句有关(图2)。因此,访问计划高速缓存125中的执行细节可以被认为是“以查询为中心”,因为它与对应查询语句有关。示例执行细节的适当例子包括对应查询语句最后执行的时间戳、对应查询语句的最大开销执行时间、对应查询语句的总处理时间、对应查询语句执行的总次数、执行对应查询语句的用户名、执行对应查询语句的作业名、执行对应查询语句的作业用户以及执行对应查询语句的作业号。图3中所示执行细节的这些例子是查询优化器通常访问的数据,因而能够用很少的附加开销来实现在访问计划高速缓存内的条目中存储此数据作为执行细节。然而,注意到图3中没有示出的其他执行细节也可以存储于访问计划高速缓存125内的条目中。本公开和权利要求在这里明确地延及可以与对应查询语句一起存储于访问计划高速缓存125中、与查询语句的执行有关的任何适当执行细节。
参照图4,现有技术方法400示出了通常已经执行用来调试数据库问题的步骤。如上文背景技术部分中所讨论的,已知数据库性能监视器通常收集如此之多的信息,以至于该数据库性能监视器在它们运行时造成明显的性能影响。此外,已知数据库性能监视器收集的信息量如此之多以至于只有在尝试追踪问题时才启用它们。方法400在出现数据库问题时开始(步骤410)。能够使现有技术的数据库性能监视器收集对数据库活动的线性时间跟踪(步骤420)。尝试调试数据库问题的用户(或者数据库管理员)然后将尝试重建该问题(步骤430)。重建数据库问题可能困难,是因为造成该问题的条件可能很难以复制。然后可以分析数据库性能监视器的线性时间跟踪输出以调试数据库问题(步骤440)。如果发现问题(步骤450=是),则禁用数据库性能监视器(步骤460),并且方法400结束。如果没有发现问题(步骤450=否),则方法400循环回到步骤430并且继续。
现有技术方法400的一个重要问题是在数据库性能监视器正在运行的同时尝试重建问题。许多数据库问题本质上是瞬态的,而重建产生该问题的条件确实非常困难。本公开在这里示出了一种方法,用以在访问计划高速缓存中连续地收集以查询为中心的执行细节,从而可以在出现数据库问题之后挖掘和分析执行细节以确定数据库问题的成因。
回到图1,访问计划存储机构124优选地用它向访问计划高速缓存125写入的各条目来存储执行细节。结果,访问计划高速缓存125中的各条目包括查询语句和对应执行细节,如图2中所示。由于这一执行细节以查询为中心的方式连续地存储于访问计划高速缓存125中,所以现在可以在出现数据库问题之后通过分析访问计划高速缓存中的执行细节来调试数据库问题。
参照图5,当出现数据库问题时开始用于使用访问计划高速缓存中存储的执行细节来调试数据库问题的方法500(步骤510)。然后可以检索和分析访问计划高速缓存中已经收集的数据(步骤520)。如果发现问题(步骤530=是),则方法500结束。如果步骤520中对执行细节的分析没有标识数据库问题(步骤530=否),则可以采取其他调试步骤,比如执行图4中的现有技术方法400以使用数据库性能监视器来尝试标识问题。
在如图5中所示在访问计划高速缓存中连续地收集以查询为基础的执行细节、与图4中收集数据库性能监视器中所有数据库事件的线性时间跟踪之间,令人关注的差异之一在于,以查询为中心的执行细节已经为数据库管理器所知,并且因此执行细节利用很少的附加开销就能够与查询语句一起存储于访问计划高速缓存中。这允许在访问计划高速缓存中连续地收集和保存执行细节。这与不以查询为中心并且收集数据库中事件的线性时间跟踪中大量数据的数据库性能监视器成鲜明对照。
参照图6,示出了用于步骤520的一种适当实施。在图形用户界面中向用户显示访问计划高速缓存中数据的子集(步骤610)。图形用户界面包括用以选择和/或过滤访问计划高速缓存中的数据的控件(步骤620)。这些控件允许用户对存储于访问计划高速缓存中的条目执行数据挖掘和分析。结果是一种通过查看和分析访问计划高速缓存中包括用于对应查询语句的执行细节的条目来调试数据库问题的图形用户友好方式。
参照图7,显示器700表示为用于访问计划高速缓存中条目的GUI显示器的一种适当实施。显示器700包括标题栏710、用于显示访问计划高速缓存中条目的窗口720、用于示出在窗口720中选择的完全查询语句的窗口730以及提供GUI控件的窗口740,这些GUI控件允许用户选择和/或过滤访问计划高速缓存中的信息。注意到图7中窗口720内所示访问计划高速缓存条目包括查询语句并且还包括执行细节,该执行细节包括执行查询语句的最后时间、查询语句的最大开销执行、用于执行查询语句的总时间、查询语句的全部执行以及执行查询语句的用户名。注意到在窗口720中列标题右侧代表其他适当执行细节的“...”也可以包含于访问计划高速缓存中的各条目内。
窗口730显示用于访问计划高速缓存中所选条目的完全查询语句。第三条目在窗口720中突出显示。假设在窗口730中示出了用于这一条目的完全查询语句,允许用户检查查询语句。由于在窗口720中查看大量执行细节是有帮助的,所以可能没有足够空间用来显示完全查询语句。由此可以在窗口730中显示完全查询语句。
多数访问计划高速缓存将具有多个条目,不能同时全部显示于窗口720中。为此,通常显示条目子集。如GUI领域中已知的那样,可以提供滚动条来滚动条目列表。此外,也可以根据在窗口740中的GUI控件内指定的标准来过滤所显示的条目。
窗口740示出了能够用来选择和过滤访问计划高速缓存中的条目的许多GUI控件。图7中所示GUI控件包括多个复选框以及数据域,这些数据域可以包括可能选择的下拉菜单。窗口740中的第一复选框允许用户指定用于最久执行的最小运行期。通过这样做,将在窗口720中仅显示访问计划高速缓存中具有大于用户指定的最小运行期的最大开销执行时间的那些条目。窗口740中的第二复选框允许用户指定将仅包括在指定日期和时间之后运行的查询。窗口740中的其他复选框允许用户指定查看前“n”个运行最频繁的查询或者前“n”个具有最大累计运行期的查询,其中“n”由用户输入。用户也可以指定在窗口720中仅显示当前活跃查询或者在窗口720中仅包括由指定用户运行的查询。用户可以指定在窗口720中仅包括具有所建议的索引的查询。用户也可以指定在窗口720中包括查询必须使用或者引用的一个或者多个对象。用户也可以指定包括操作系统所启动的查询。在这里的公开和权利要求范围内,也可以提供图1中未示出的其他GUI控件。
窗口740还包括允许用户执行各种功能的按钮750、760、770和780。通过点击刷新(Refresh)按钮750,根据当前所选的GUI控件如窗口740左侧的复选框来刷新窗口720中的视图。点击创建快照(Create Snapshot)按钮760调用允许用户限定何时创建快照的不同显示。快照是在特定时间点对访问计划高速缓存中一些或者所有信息的持久表示。由于访问计划高速缓存中的信息随时间而改变,所以获取快照是一种在不同的时间点为访问计划高速缓存的内容建档的方式,这允许比较快照以确定性能在两个快照之间如何提高或者降低。点击显示最久运行(Show Longest Runs)按钮770使窗口720中当前所选查询语句的最久执行得以显示。点击运行可视化解释(Run Visual Explain)按钮780调用一种称之为可视化解释的不同工具,其提供所选查询语句的可视化解释,由此向用户提供用于调试问题的另一工具。
现在参照图8,显示器700包括已经在窗口740中复选过的GUI控件。用户已经在图8中的窗口740内指定1秒的最小运行期以及在指定的日期和时间之后运行过的查询。在窗口720中示出了结果。另一强大的GUI控件是“当前活跃的队列(Queries currently active)”复选框,其允许用户指定在窗口720中仅示出当前活跃的查询。
参照图9,显示器示出了图1和图2中所示访问计划高速缓存125的属性。这是访问计划高速缓存中存储的信息的摘要,并且可以包括摘要的时间、当前活跃查询的数目、自从开始起运行的查询的数目、自从开始起查询完全开放的次数、高速缓存中计划的当前数目、当前计划高速缓存大小以及当前计划高速缓存大小阈值。当然也能够包括其他适当的计划高速缓存属性。在图9的具体例子中,当前计划高速缓存大小是502MB而计划高速缓存大小阈值是512MB。一旦当前计划高速缓存大小达到计划高速缓存大小阈值512MB,将使用取代高速缓存中的条目(如最近最少使用的条目等)的已知方案用新的条目来取代访问计划高速缓存中的一些条目。由于访问计划高速缓存动态地改变,所以常常希望在特定时间点获取访问计划高速缓存的快照,因而能够保持访问计划高速缓存的状态。这允许比较快照以确定性能在两个快照之间已经如何改变。
图10示出了用于图1中的自治快照机构128自治地生成一个或者多个快照129的方法1000。首先用户限定快照标准(步骤1010)。自治快照机构128然后基于用户限定的快照标准自治地生成一个或者多个快照(步骤1020)。自治地创建快照这一能力是较现有技术而言的一个显著优点。数据库用户和管理员通常有诸多事项要应对,而不必担心定期为数据库的状态建档。通过限定一种引起自治创建定期快照的快照标准,快照库将在任何给定时间都可用,这将允许用户分析数据库性能随时间如何改变。
参照图11,示例显示窗口1100包括含有一个或者多个快照的称之为“快照(Snapshot)”的目录,这些快照是访问计划高速缓存中一些或者所有数据的持久表示。窗口1100包括目录窗口1110和目录内容窗口1120。用户可以右击目录窗口1110中的快照目录,如窗口1110中快照的突出显示所示。这使得用其中之一为新建(New)的各种选择来打开菜单窗口1130。当用户选择菜单窗口1130中的新建时,优选地显示图12中的显示窗口1200,该窗口允许用户为快照的创建而限定标准。注意到用户可以输入快照的名称和方案并且可以输入对快照而言必须满足的标准。通过输入标准,快照有效地作为在获取快照之时访问计划高速缓存中存储的相关数据的持久子集。注意到用户简单地限定所需标准并且点击确定(OK)按钮1210可以来创建快照一次。在可选方式中,可以安排快照在将来的指定时间发生一次,如复选框1240所示。也可以通过复选复选框1250并且指定快照之间的时段将快照安排为定期地发生。就图12中的例子而言,当用户点击确定时将创建快照一次而每八个小时将自治地重复该快照。结果是每天三个快照。当遇到数据库问题时,调查问题的分析人员能够回到快照库以确定性能随时间而如何改变。注意到可以点击取消(Cancel)按钮1220以关闭窗口1200而不创建快照,以及可以点击帮助(Help)按钮1230以向用户提供对上下文敏感的帮助。
图1中自治快照机构128的另一显著特征在于自治地比较快照、以及如果快照之间的改变过大则警告用户这一能力。参照图13,通过自治地收集新的快照来开始方法1300(步骤1310)。然后将新的快照与先前的快照做比较(步骤1320)。注意到先前的快照能够是最近的快照或者能够是用作为系统性能基线测量的某一参考快照。这允许通知用户关于参考快照与当前快照之间改变的量值,或者如果快照之间的增量超过某一指定阈值则通知用户。如果快照之间的改变超过某一指定阈值,则通知用户(步骤1330)。阈值能够用任何适当方式来限定而不一定是静态数字。事实上,阈值能够被限定为被比较的快照之间间隔的函数。阈值还能够被限定为快照中两个所选参数之差,或者可以是具有相应阈值的两个或者更多所选参数的组合指定。任何适当的启发都能够用来基于数个单独参数和阈值确定何时通知用户。图13中的步骤1330广义地表示可以将快照之间任何指定量值的任何改变通知用户。
将执行细节与对应查询语句一起存储于访问计划高速缓存中,实现了对连续收集的信息的存储,而对数据库性能没有明显影响。可以在出现数据库问题之后挖掘和分析这一信息存储,这提供了与问题出现的时间有关的数据。结果是对调试数据库问题的显著改进。此外,对访问计划高速缓存的自治快照的安排以在以后时间容易分析的方式保持执行细节。对快照的自治比较还提供一种用于在两个快照的差异达到某一阈值数量时通知用户的方式。结果是更易于调试数据库问题,因为调试多数数据库问题所需要的信息已经驻留于访问计划高速缓存中。
本领域技术人员将认识到在权利要求的范围内可以有多种变形。因此,尽管上文具体地示出和描述了本公开,但是本领域技术人员将理解到在不脱离权利要求的精神和范围情况下可以在本公开中做出形式和细节上的这些以及其他变化。

Claims (14)

1.一种用于调试数据库中的数据库问题的装置,包括:
访问计划高速缓存,所述访问计划高速缓存包括多个条目,各条目包括查询语句以及对应执行细节;以及
性能分析机构,所述性能分析机构分析所述访问计划高速缓存中的所述执行细节,以确定所述数据库问题的至少一个成因。
2.根据权利要求1所述的装置,其中所述性能分析机构提供图形用户界面,所述图形用户界面允许用户选择和过滤所述访问计划高速缓存中存储的信息以便显示于所述图形用户界面中。
3.根据权利要求1所述的装置,还包括:自治快照机构,所述自治快照机构根据用户限定的快照标准自治地获取所述访问计划高速缓存的至少一个快照。
4.根据权利要求3所述的装置,其中所述自治快照机构以在所述用户限定的快照标准中指定的时间间隔自治地获取所述访问计划高速缓存的定期快照。
5.根据权利要求3所述的装置,其中所述自治快照机构自治地比较两个快照,并且如果所述两个快照之间的改变超过指定阈值则通知用户。
6.根据权利要求1所述的装置,还包括:访问计划存储机构,所述访问计划存储机构在所述访问计划高速缓存中存储所述多个条目。
7.根据权利要求1所述的装置,其中用于对应查询语句的所述执行细节包括如下各项中的至少一项:所述查询语句最后执行的时间戳、所述查询语句的最大开销执行、所述查询语句的总处理时间、所述查询语句执行的总次数、执行所述查询语句的用户名、执行所述查询语句的作业名、执行所述查询语句的作业用户以及执行所述查询语句的作业号。
8.一种用于调试数据库中的数据库问题的方法,所述方法包括以下步骤:
在所述数据库的正常操作过程中,在访问计划高速缓存中存储多个条目,每个条目包括查询语句以及对应执行细节;以及
在所述数据库问题出现之后,分析所述访问计划高速缓存中的所述执行细节,以确定所述数据库问题的至少一个成因。
9.根据权利要求8所述的方法,还包括以下步骤:如果通过分析所述访问计划高速缓存中的所述执行细节不能确定所述问题的至少一个成因,则执行以下步骤:
启用数据库性能监视器,以在所述数据库中创建对事件的线性时间跟踪;以及
在启用所述数据库性能监视器的同时尝试重建所述问题。
10.根据权利要求8所述的方法,其中分析所述执行细节的步骤包括以下步骤:在图形用户界面中用图形显示所述执行细节给用户,以及在所述图形用户界面中提供多个控件,所述多个控件允许所述用户选择和过滤所述执行细节以便显示于所述图形用户界面中。
11.根据权利要求8所述的方法,进一步包括以下步骤:根据用户限定的快照标准自治地获取所述访问计划高速缓存的至少一个快照。
12.根据权利要求11所述的方法,还包括以下步骤:以在所述用户限定的快照标准中指定的时间间隔自治地获取所述访问计划高速缓存的定期快照。
13.根据权利要求11所述的方法,还包括以下步骤:
自治地比较两个快照;以及
如果所述两个快照之间的改变超过指定阈值则通知用户。
14.根据权利要求8所述的方法,其中用于对应查询语句的所述执行细节包括如下各项中的至少一项:所述查询语句最后执行的时间戳、所述查询语句的最大开销执行、所述查询语句的总处理时间、所述查询语句执行的总次数、执行所述查询语句的用户名、执行所述查询语句的作业名、执行所述查询语句的作业用户以及执行所述查询语句的作业号。
CN2007101674707A 2006-11-09 2007-10-25 用于调试数据库问题的装置和方法 Expired - Fee Related CN101178723B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/558,104 US8452756B2 (en) 2006-11-09 2006-11-09 Database execution detail repository
US11/558,104 2006-11-09

Publications (2)

Publication Number Publication Date
CN101178723A CN101178723A (zh) 2008-05-14
CN101178723B true CN101178723B (zh) 2011-03-30

Family

ID=39370386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101674707A Expired - Fee Related CN101178723B (zh) 2006-11-09 2007-10-25 用于调试数据库问题的装置和方法

Country Status (2)

Country Link
US (1) US8452756B2 (zh)
CN (1) CN101178723B (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870123B2 (en) * 2006-12-01 2011-01-11 Teradata Us, Inc. Database optimizer plan validation and characterizations
US8214807B2 (en) * 2007-01-10 2012-07-03 International Business Machines Corporation Code path tracking
US8271476B2 (en) * 2007-03-30 2012-09-18 Stuart Donnelly Method of searching text to find user community changes of interest and drug side effect upsurges, and presenting advertisements to users
US8682916B2 (en) 2007-05-25 2014-03-25 F5 Networks, Inc. Remote file virtualization in a switched file system
US8903801B2 (en) * 2007-09-14 2014-12-02 Oracle International Corporation Fully automated SQL tuning
US8341178B2 (en) * 2007-09-18 2012-12-25 Oracle International Corporation SQL performance analyzer
JP2009176269A (ja) * 2007-09-18 2009-08-06 Fugaku-Bussan Co Ltd イベント管理システム及びイベント管理方法並びにイベント管理プログラム
US8700608B2 (en) * 2007-10-17 2014-04-15 Oracle International Corporation SQL execution plan verification
US8548953B2 (en) 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
CN101241456B (zh) * 2008-02-28 2011-07-06 成都市华为赛门铁克科技有限公司 一种数据保护方法和装置
US20090287638A1 (en) * 2008-05-15 2009-11-19 Robert Joseph Bestgen Autonomic system-wide sql query performance advisor
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
US8145621B2 (en) * 2008-12-19 2012-03-27 Ianywhere Solutions, Inc. Graphical representation of query optimizer search space in a database management system
CN101576918B (zh) * 2009-06-19 2012-11-28 用友软件股份有限公司 具备负载均衡功能的数据缓存系统
CN101989283B (zh) * 2009-08-04 2014-06-11 中兴通讯股份有限公司 一种数据库性能的监控方法和装置
US8818991B2 (en) * 2009-12-23 2014-08-26 Pivotal Software, Inc. Apparatus and method for analyzing query optimizer performance
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
CN101968806A (zh) * 2010-10-22 2011-02-09 天津南大通用数据技术有限公司 数据存储方法、查询方法及装置
US9059898B2 (en) * 2010-12-07 2015-06-16 General Electric Company System and method for tracking configuration changes in enterprise product
CN102436494B (zh) * 2011-11-11 2013-05-01 中国工商银行股份有限公司 基于实践检验的执行计划优化的装置及方法
DE112011106057T5 (de) * 2011-12-30 2014-09-11 Intel Corporation Energieeffiziente Abfrageoptimierung
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9081898B1 (en) * 2012-06-29 2015-07-14 Emc Corporation Automatic capture of minimal portable executable bug repros
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
US9229981B2 (en) * 2013-08-12 2016-01-05 International Business Machines Corporation Smart query plan with visual optimizations to improve responsiveness
WO2015094312A1 (en) 2013-12-20 2015-06-25 Hewlett-Packard Development Company, L.P. Identifying a path in a workload that may be associated with a deviation
US10489266B2 (en) 2013-12-20 2019-11-26 Micro Focus Llc Generating a visualization of a metric at one or multiple levels of execution of a database workload
US10621064B2 (en) 2014-07-07 2020-04-14 Oracle International Corporation Proactive impact measurement of database changes on production systems
CN104317893A (zh) * 2014-10-23 2015-01-28 国家电网公司 基于移动安全存储介质的缩略式数据快照实现方法
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US9563777B2 (en) 2015-04-29 2017-02-07 International Business Machines Corporation Security policy generation based on snapshots of similar virtual machines
CN105183614A (zh) * 2015-11-03 2015-12-23 华夏银行股份有限公司 一种数据库故障预测方法及装置
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
EP3255562A1 (en) * 2016-06-09 2017-12-13 Mastercard International Incorporated Method and systems for monitoring changes for a server system
EP3255563A1 (en) * 2016-06-09 2017-12-13 Mastercard International Incorporated Method and systems for monitoring changes for a server system
EP3255548A1 (en) * 2016-06-09 2017-12-13 Mastercard International Incorporated Method and systems for monitoring changes for a server system
JP6737013B2 (ja) * 2016-07-05 2020-08-05 コニカミノルタ株式会社 画像形成装置、起動方法、およびコンピュータプログラム
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10929363B2 (en) 2016-11-11 2021-02-23 International Business Machines Corporation Assisted problem identification in a computing system
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US10459889B2 (en) 2017-06-06 2019-10-29 Sap Se Multi-user database execution plan caching
US10534687B2 (en) * 2017-06-30 2020-01-14 Intel Corporation Method and system for cache agent trace and capture
US11386058B2 (en) 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US11327932B2 (en) 2017-09-30 2022-05-10 Oracle International Corporation Autonomous multitenant database cloud service framework
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
US10693753B2 (en) 2018-05-31 2020-06-23 Hewlett Packard Enterprise Development Lp Network device snapshots
US12003422B1 (en) 2018-09-28 2024-06-04 F5, Inc. Methods for switching network packets based on packet data and devices
CN115033621B (zh) * 2022-07-06 2024-05-07 中煤(西安)地下空间科技发展有限公司 一种基于postgresql实现的地下管网上下游追踪分析方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243703B1 (en) * 1997-10-14 2001-06-05 International Business Machines Corporation Method of accessing and displaying subsystem parameters including graphical plan table data
US6804714B1 (en) * 1999-04-16 2004-10-12 Oracle International Corporation Multidimensional repositories for problem discovery and capacity planning of database applications
US6738756B1 (en) * 2000-06-30 2004-05-18 Ncr Corporation Analysis method and apparatus for a parallel system
US7363617B2 (en) * 2002-05-23 2008-04-22 International Business Machines Corporation Database breakpoint apparatus and method
US6996556B2 (en) * 2002-08-20 2006-02-07 International Business Machines Corporation Metadata manager for database query optimizer
US6950823B2 (en) 2002-12-23 2005-09-27 International Business Machines Corporation Transparent edge-of-network data cache
US7031958B2 (en) * 2003-02-06 2006-04-18 International Business Machines Corporation Patterned based query optimization
CA2425046C (en) * 2003-04-08 2009-10-06 Ibm Canada Limited - Ibm Canada Limitee Method and system for caching database query statements
US7272795B2 (en) 2003-06-27 2007-09-18 Microsoft Corporation Micro-monitor to monitor database environments
US7912851B2 (en) * 2003-10-22 2011-03-22 International Business Machines Corporation Caching pages via host variable correlation

Also Published As

Publication number Publication date
US8452756B2 (en) 2013-05-28
US20080114718A1 (en) 2008-05-15
CN101178723A (zh) 2008-05-14

Similar Documents

Publication Publication Date Title
CN101178723B (zh) 用于调试数据库问题的装置和方法
Sapia On Modeling and Predicting Query Behavior in OLAP Systems.
CN100580625C (zh) 用于呈现按时间排序的数据库事件信息的方法和系统
KR101678131B1 (ko) 의존도 데이터로부터 의존도 맵들의 발생
US8612479B2 (en) Systems and methods for monitoring and detecting fraudulent uses of business applications
US9026467B2 (en) Systems and methods for monitoring and detecting fraudulent uses of business applications
US8555288B2 (en) Managing database utilities to improve throughput and concurrency
CN100422939C (zh) 取得优化价值的配置分布式计算系统的元素的方法和系统
US9311617B2 (en) Processing event instance data in a client-server architecture
US8676746B2 (en) Database management system risk assessment
US20200019911A1 (en) Assisted analytics
US8005860B1 (en) Object-level database performance management
JP6030996B2 (ja) 情報管理装置及び情報管理方法
US20150039555A1 (en) Heuristically modifying dbms environments using performance analytics
US9978031B2 (en) Systems and methods for monitoring and detecting fraudulent uses of business applications
KR20040027270A (ko) 데이터베이스 시스템 모니터링 방법
CN109933492A (zh) 一种软件异常溯源方法、系统、设备及存储介质
US7636709B1 (en) Methods and systems for locating related reports
Bernaschi et al. Traffic data: exploratory data analysis with Apache Accumulo
Mihova Methods of using business intelligence technologies for dynamic database performance administration
RU51763U1 (ru) Интегрированная система планирования, контроля и учета для управления проектами и хозяйственной деятельностью
Buckl et al. Enterprise architecture management patterns for company-wide access views on business objects
CN118276793B (zh) 一种用于建筑智能化的设施异构数据采集方法及系统
US20070260983A1 (en) Method for providing a summary of user activities
Strong et al. Data Quality Issues in Integrated Enterprise Systems.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110330

Termination date: 20181025

CF01 Termination of patent right due to non-payment of annual fee