CN1983274A - 数据库调整方法和系统 - Google Patents

数据库调整方法和系统 Download PDF

Info

Publication number
CN1983274A
CN1983274A CNA2006101465764A CN200610146576A CN1983274A CN 1983274 A CN1983274 A CN 1983274A CN A2006101465764 A CNA2006101465764 A CN A2006101465764A CN 200610146576 A CN200610146576 A CN 200610146576A CN 1983274 A CN1983274 A CN 1983274A
Authority
CN
China
Prior art keywords
database systems
database
performance
strategy
adjustment
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.)
Granted
Application number
CNA2006101465764A
Other languages
English (en)
Other versions
CN100428242C (zh
Inventor
T·斯泰因巴赫
M·赖克特
H·卡尔恩
N·赫尔勒
N·赫克
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 CN1983274A publication Critical patent/CN1983274A/zh
Application granted granted Critical
Publication of CN100428242C publication Critical patent/CN100428242C/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

Abstract

本发明公开了一种调整数据库系统的方法。接收调整策略,所述调整策略包括确定建议调整操作的第一过程,以及测量所述数据库系统的性能的第二过程。根据所述相应过程来确定所述建议调整操作以及测量操作前性能。在数据库系统状态历史中记录指示如何撤消所述建议调整操作的数据库系统状态更改的撤消信息。在执行所述建议调整操作后,根据所述第二过程来测量操作后数据库系统性能。当所述操作后性能低于所述操作前性能时,使用所述撤消信息撤消所述数据库系统状态更改。还公开了使能创建新的调整策略、下载现有调整策略、共享自己的调整策略以及更改现有调整策略的实施例。

Description

数据库调整方法和系统
技术领域
本发明涉及数据库系统和方法领域,更具体地说,不限于数据库系统性能调整领域。
背景技术
信息技术在过去数十年内的进步导致产生了日益强大的计算机系统,通过使关键任务和过程自动化而使得个人与企业更具生产力。但是,自动化的益处的代价是计算机系统本身日益复杂,它们已从单个机器发展成模块化系统和子系统网络。在许多最复杂的计算机系统的核心是数据库系统。数据库系统的体系结构不能预见作为所述数据库系统执行其任务的一部分的环境的许多方面。实际上,它们必须由考虑动态改变的工作负荷和周围软件和硬件细节的数据库运行时调整来处理。
调整复杂的数据库系统是困难和费时的。例如,某些数据库系统如DB2可能有数百个必须正确设置以使系统最优运行的配置参数。此外,数据库中的实际物理数据模型提供了许多不同的选项来优化数据库语句执行。此外,访问所述数据库的客户机应用可以依照一组与它们的数据库访问有关的潜在调整措施。熟练的数据库技术专业人员需要配置所述系统,根据可能数千个性能指示器来判断系统的性能,解释它们并采取纠正措施。Oracle                     Tuning                      Pack(http://www.oracle.com/technology/products/oem/pdf/TP_9iR2_FO.pdf)是一组提供自动化的数据库分析和调整的应用。Tuning Pack通过调整数据库实例设置、索引、SQL以及空间使用来确定提高数据库性能的机会。使用Tuning Pack的主动数据库调整可以增加系统响应性并减少数据库维护的成本。
DB Tuning Expert(http://www.softtreetech.com/dbtools/)是帮助负责Oracle数据库服务器的操作、维护和性能的人员确定数据库性能问题的工具。只需单击鼠标,就可以运行数据库性能和组织诊断测试,并提供关于现有性能问题的全面报告连同用于解决发现的问题和将来避免它们的专家建议。
美国专利6,871,163公开了基于行为调节计算机系统的方法和系统。接收指定要记录的计算机系统的数据和要汇总以便评估的计算机系统的数据的规则。所述方法包括记录如所述规则指定的数据,并执行对记录的数据的评估。所述评估包括识别对所述计算机系统的更改并判定所述更改是否将提高所述计算机系统的效率。所述方法包括在所述评估指示所述更改将提高所述计算机系统的效率时,建议所述更改。
现有技术中频繁出现的常见特征是调整逻辑内建到产品中且不能单独部署。因此,使用第三方或客户调整知识来增强调整解决方案非常困难,甚至是不可能的。
发明内容
根据本发明,提供了调整数据库系统的方法。所述方法包括接收调整策略,所述调整策略指定了确定涉及数据库系统状态更改的调整操作的第一过程,以及测量数据库系统性能的第二过程。
根据所述第一过程来确定所建议的调整操作,并且根据所述第二过程来测量操作前数据库系统性能。在数据库系统状态历史中记录指示如何撤消所述建议调整操作的所述数据库系统状态更改的撤消信息。
在执行所述建议调整操作后,根据所述第二过程来测量操作后数据库系统性能。当所述操作后数据库系统性能低于所述操作前数据库系统性能时,使用来自所述数据库状态更改历史的所述撤消信息来撤消所述调整操作的所述数据库系统状态更改。
本发明使得能够根据形式化的调整策略来调整所述数据库系统,考虑到关于从何处及何时接收所述调整策略的灵活性。这样,本发明使得来自不同源的专家知识可用于调整所述数据库系统。根据所述调整策略的调整过程能够自动执行,并且无需所述数据库系统的管理员的专门的调整策略知识。
例如,可以在交付所述数据库系统时从所述数据库系统的制造商处接收所述调整策略,但是也可以在稍后的时间,当所述制造商开发了改进的调整策略时接收所述调整策略。以所述调整策略的形式,可以将所述制造商在所述数据库系统交付之后获得的新的进步和新的理解立刻传送给客户。另一个可以从其接收所述调整策略的源是类似数据库系统(例如,在运行若干彼此相似的数据库系统的组织内,所述系统如相同类型的开发、测试及生产系统,或应用服务提供商为不同客户运行的相同类型的系统)的经验丰富的管理员。再一个可以从其接收所述调整策略的源是所述数据库系统的应用软件(如特定的数据库应用)的供应商。这样,应用软件供应商的客户可以根据为所述数据库系统使用的特定类型软件定制的专门的调整策略来调整所述数据库系统。此外另一个可以从其接收所述调整策略的源是独立(即,第三方)供应商和调整策略的公共交换,例如调整策略市场。
作为所述调整过程的一部分,可以验证根据其调整所述数据库系统的策略。由于在所述调整操作之前测量以及在之后再次测量所述数据库系统的性能,比较两次测量的结果提供了关于所述调整策略是否成功提高了所述数据库系统性能的准则。如果发现性能降低,则根据已保存在所述数据库系统状态历史中的所述撤消信息,将所述数据库系统恢复到它在所述调整操作之前的状态,从而还原失败调整策略的负面影响。这在例如当所述调整策略是从另一个相似但不完全相同的数据库系统的管理员处接收的时是有利的。如果由于所述相似性,所述调整策略成功地提高了所述数据库系统的性能,则所述数据库保留它根据所述调整策略设置的系统状态。相反地,如果由于其余差异,所述调整策略没有成功提高所述数据库系统的性能,则恢复所述数据库系统的先前状态。在两种情形中,所述数据库系统的性能都不因为所述调整过程而降低。
根据本发明的一个实施例,所述数据库系统状态更改是从包括修改数据库配置参数、创建数据库表索引,以及删除数据库表索引的组中选择的。例如,当所述数据库系统状态更改是修改配置参数时,所述第一过程指定如何确定所述配置参数的新值,并且所述撤消信息包括同一配置参数的旧值。同样地,当所述数据库系统状态更改是创建数据库表索引时,所述第一过程指定例如如何确定要为哪个数据库表的哪个变量创建索引。
根据本发明的一个实施例,所述第一过程包括收集由所述数据库系统处理的查询语言语句。然后分析收集的语句以便确定所述建议的调整操作。此实施例是有利的,因为例如当确定是否为大型数据库表创建索引时,所述决策可以基于对在预定时间间隔内引用所述数据库表的所有查询的分析,从而能够根据其工作负荷的特性来调整所述数据库。例如,如果分析的大多数查询只从所述数据库表访问少量数据,则所述策略可以产生创建所述索引的决策,而如果大多数查询从所述数据库表访问大量数据,则不创建所述索引。
根据一个实施例,所述方法包括在执行所述建议的调整操作后等待预定的时间间隔。此实施例使得能够考虑所述调整操作对所述数据库系统性能的长期影响。具体地说,如果从延长的时间间隔内积累的数据确定所述性能指示器,则由于降低了统计波动对测量的数据库性能指示器的影响,因此所述实施例使能增强验证性能提高的可靠性。
根据一个实施例,存在多个根据所述第一过程为所述数据库系统确定的调整操作,每个所述调整操作都包括多个数据库系统状态更改中的一个相应更改。所述撤消信息指示如何撤消所述多个数据库系统状态更改中的每个更改,并且当所述操作后数据库系统性能低于所述操作前数据库系统性能时,使用所述撤消信息来撤消所述多个数据库系统状态更改中的每个更改。此实施例使得能够调整需要调整数百个或更多配置参数的复杂数据库系统,并提供许多不同的如何建立物理数据模型的选择。此类选择包括:创建索引、具体化查询表、更新统计、重新组织。例如,两个配置参数可同时被设置为新值,或在所述数据模型中同时创建两个索引。这使得能够根据要求同时更改的调整策略来调整所述数据库系统。
根据一个实施例,所述调整策略存储在数据对象中,所述数据库系统包括调整策略解释器以解释所述数据对象。此实施例促进了调整策略的存储和交换。所述数据对象可以作为数据文件或数据库记录保存在非易失性存储器中并可以通过计算机网络来交换。使用所述解释器来解释所述数据对象,所述数据库系统能够根据存储在所述数据对象中的调整策略来调整自身。优选地,所述数据对象的格式不依赖于所述数据库系统的平台,具体地说,为扩展标记语言(XML)格式。由于大量已证明的工具和库,所述XML格式促进了以此类格式存储的调整策略的创建、验证、交换和执行。
根据一个实施例,从远程调整策略存储库接收所述调整策略。此实施例使得能够以自动化和形式化的方式快速分发调整策略。例如,可以由所述数据库系统的制造商、由在组织内部网络上使用所述数据库系统的组织,或由诸如调整策略的独立提供商之类的第三方来在互联网上运营所述远程存储库。此外,所述远程存储库使得能够使用安全协议来上载和下载调整策略,从而提供对所述源以及接收的调整策略的可信度的保证。此原则通过提供交换调整知识的形式化方法,促进了建立数据库性能调整团体(community)。所述远程存储库可以提供通常联机团体的所有方法,如最普遍的调整策略的列表或对产生调整策略的随时间改进的调整策略的评论。因此,建立的团体连同部署了本发明的技术的数据库系统能够用作数据库系统调整技术的生态系统。
根据一个实施例,所述数据库系统包括用户接口,所述用户接口具有用于在所述调整过程的一个步骤期间停止的停止部件、用于通过所述用户接口公开所述一个步骤的公开部件,以及用于当通过所述用户接口接收到对所述一个步骤的确认时继续执行所述一个步骤的继续部件。此实施例使得所述数据库系统的管理员能够在执行所述步骤之前检查所述步骤,从而观察并控制所述调整过程。为怀疑所述调整策略的可信度或质量的管理员提供了基于其做出判断的信息,以及提供了保留对执行不希望的步骤的确认的机会。通过检查所述一个步骤,稍缺乏经验的管理员可以获取关于调整策略的新知识。这样,所述调整策略用作将数据库调整知识从更有经验的管理员传输到稍缺乏经验的管理员的介质。优选地,所述用户接口还包括在继续执行之前修改所述步骤的方法,使得管理员能够根据过去的经验或关于所述数据库系统的特定方面的额外知识来增强所述调整策略。
根据一个实施例,所述方法包括接收调整策略列表并为所述列表中的每个调整策略重复所述方法。此实施例使得能够根据多个调整策略(顺序遍历所述列表给出的所述调整策略)来自动配置所述数据库系统。由于所述列表可以潜在地保留来自各种不同源的调整策略,所以所述实施例使得能够将分散来源的数据库专家知识集合成统一的形式上受控的调整过程。
根据一个实施例,一旦到达所述列表的结尾且所述列表的所有调整策略都已被处理,所述方法就继续到所述列表的开头,以所述调整策略列表的第一个调整策略继续重复。此实施例使得能够重新调整所述数据库系统以响应自最后一次根据所述列表的第一个调整策略调整所述数据库系统后发生的任何更改。在诸如所述数据库系统上的负荷、数据库大小或对所述数据库系统可用的资源量随时间变化的通常情况中,所述实施例使得能够实现调整所述数据库系统以响应所述变化条件的正在进行的动态调整过程。
根据一个实施例,当所述第二过程评估性能比所述第一过程的调整操作之前低时,将禁用所述列表中的调整策略。如果过去的经验显示根据调整策略更改所述数据库系统状态导致所述数据库系统的性能降低,此实施例可以避免根据该调整策略进行重复配置。以这种方式,识别并禁用当应用于所述数据库系统时没有产生预期结果的调整策略。因此,所述实施例使得能够自动优化所述调整策略自身。
根据一个实施例,所述方法包括判定是否存在根据当前调整策略的第一过程的建议调整操作,并且当所述当前调整策略的第一过程没有建议的调整操作时,继续到所述列表中的下一个调整策略。此实施例使得所述调整过程尤其有效,因为通过立刻继续到所述列表指定的下一个策略而节约了执行时间。
根据一个实施例,为振荡的数据库系统状态(例如,重复增加和减少配置参数,或重复创建和删除索引)的非收敛振荡分析所述数据库系统状态历史。当检测到非收敛振荡时,禁用在所述非收敛振荡期间根据其更改所述振荡数据库系统状态的所述列表中的一个调整策略。
根据一个实施例,所述调整策略列表还包括至少一个通知策略,它指定了为所述数据库系统的管理员生成通知的过程。一个实例是口头通告管理员关于发送给所述数据库系统的工作负荷而言所述数据库系统资源已耗尽的通知。
另一个实例是标识最消耗资源的数据库应用或语句的通知。此实施例使得所述方法能够形式地处理要求不能自动执行的操作的调整策略。此外,它使得能够形式地处理要求这样的操作的调整策略:所述操作需要管理员的专门批准,因为这些操作是不能撤回的或由于其他原因被视为关键操作。
根据一个实施例,所述方法还包括在所述调整策略列表中创建其他调整策略,并通过所述数据库系统的策略编辑器接口来编辑所述其他调整策略。例如,可以通过复制现有调整策略,或通过从基本为空的策略模板开始来创建所述其他调整策略。此实施例使得管理员能够用代表所述管理员的特定调整知识的其他策略来扩展所述列表中的调整策略存储库。此外,使得所述管理员能够创建提供所述数据库系统的特性并且其环境未被任何从其他源可用的调整策略所覆盖的策略。
根据一个实施例,将所述其他策略上载到调整策略的远程存储库。这样,使得管理员能够与更多数据库管理员共享新近设计或改进的策略。
根据本发明,还提供了用于调整受监视数据库系统的数据库性能调整系统,以及包括用于执行本发明提供的方法的计算机可执行指令的计算机程序产品。
附图说明
将通过实例的方式参考附图更详细地描述本发明的优选实施例,这些附图是:
图1是根据本发明的一个实施例的数据库系统的方块图;
图2是根据本发明的一个实施例的方法的流程图;以及
图3是根据本发明的一个实施例的方法的实施例的流程图。
具体实施方式
图1是实现根据本发明的一个实施例的方法的数据库系统100的方块图。数据库系统100包括用于调整受监视数据库系统120的数据库性能调整系统118。受监视系统的实例包括数据库服务器,如DB2或Oracle。
数据库性能调整系统118和受监视数据库系统120可以实现为在数据库系统100的共享硬件上运行的软件应用。但是,通过将数据库性能调整系统118和受监视系统120实现为经由计算机网络通信的独立硬件系统,可以使判断受监视数据库系统120的性能变得复杂的执行数据库性能调整系统118的负荷的影响最小化。
数据库性能调整系统118包括一个或多个调整策略104的列表116,每个所述调整策略指定如何评估对调整操作的需要并确定调整操作,其目标是提高受监视数据库系统120的性能。此外,每个所述调整策略104包括测量所述数据库系统的性能的过程,根据其结果判断受监视数据库系统120的性能是否提高。因此,每个调整策略独立定义性能是提高还是降低的准则。列表116还包括通知调整策略140,每个所述通知调整策略指定生成到数据库系统100的管理员的通知。所述通知可以例如建议所述管理员手动执行操作。生成通知还可以是任何调整策略104的一部分。
优选地,列表116中的各个调整策略104是数据对象,所述数据对象以能够例如根据扩展标记语言(XML)建模的专门工作流语言来编码所述过程。所述数据库系统的管理员可以通过用户接口114自动或半自动地控制从调整策略的远程存储库112下载所述数据对象或将所述数据对象上载到远程存储库112。可以例如由使用所述数据库性能调整系统的组织、由所述数据库性能调整系统的制造商、所述受监视数据库系统的制造商、商业服务提供商,或通过调整策略的独立交换来运行远程存储库112。可以存在若干远程存储库112,数据库性能调整系统118可以顺序或同时连接到它们。所述数据对象可以由受信机构(如数据库系统100的制造商)数字签名,允许在将从远程存储库112下载的数据对象添加到调整策略104的列表116之前验证它们的可信度。
数据库性能调整系统118包括解释器110,用于解释所述数据对象的工作流语言并将相应指令传递给所述数据库性能调整系统的评估组件122和验证组件126。评估组件122和验证组件126都能够按照从受监视数据库系统120指向各个组件的箭头的指示,从受监视数据库系统120收集数据。收集的数据还可以包括由性能调整系统118保存在合适的存储位置的关于受监视数据库系统120的过去性能的历史数据。评估组件122还可以从数据库系统状态历史108检索信息,数据库系统状态历史108中记录了对数据库系统的所有更改连同更改时间及负责所述更改的调整策略。评估组件122连接到执行组件124,通过执行组件124,它能够对所述受监视数据库系统做出更改。验证组件126连接到恢复组件128,通过恢复组件128,它能够依靠从数据库系统状态历史108检索的信息来还原对所述数据库系统做出的更改。
在操作中,由指针130从调整策略列表116中挑选一个所述调整策略104作为当前调整策略。解释器110解释所述当前调整策略的工作流语言,首先将指令传递给评估组件122。根据所述指令,评估组件122从受监视系统120收集数据,并为所述受监视系统确定零个、一个或多个建议的调整操作。
如果所述当前调整策略没有建议调整操作,则不采取关于所述当前调整策略的任何操作,并且指针130前进到列表116的下一个调整策略。如果列表116上的所述当前调整策略之后没有调整策略,则所述指针移动到列表116的第一个调整策略。
如果存在建议的调整操作,则评估组件122为每个调整操作检查所述数据库系统状态历史108,搜索其中执行相反调整操作的过去事件。如果发现根据过去的调整操作,所述调整操作中的一个操作将是振荡的一部分,并且所述振荡不会收敛于极限,则在调整策略104的列表116中禁用引起所述振荡的某个所述调整策略以防止将来使用该策略。可以通过将所述策略中的某个策略从所述列表删除或以其他方式将其标记为禁用来禁用所述调整策略。如果涉及多个调整策略,则禁用最后增加到列表116的调整策略。这样,解决了相互矛盾的调整策略之间的冲突,给予所述矛盾的调整策略中具有较长的可靠操作历史的那些策略优先权。如果禁用的调整策略是当前策略,则所述指针前进到列表116的下一个调整策略。
如果存在建议的调整操作,则评估组件122指示执行组件124执行相应调整操作。执行组件124在数据库系统状态历史108中记录对所述数据库系统的每个更改。
解释器110继续解释所述当前调整策略的工作流语言,现在将指令传递给验证组件126。根据所述指令,在等待预定时间间隔以允许受监视数据库系统120中的修改生效之后,验证组件126根据所述调整策略来测量所述数据库系统的性能。验证组件126将操作前和操作后数据库系统性能相比较以判断数据库系统的性能是否降低。如果判断所述性能已降低,则验证组件126指示恢复组件128利用数据库系统状态历史108,将先前的数据库系统状态恢复到应用根据当前调整策略的所述调整操作的更改之前的状态。
指针130前进到列表116中的下一个调整策略,使它成为当前调整策略并如所描述的,通过根据新的当前调整策略调整受监视数据库系统120来继续所述方法。
优选地,用户接口114包括停止部件134、公开部件136和继续部件138,允许管理员手动地控制所述调整过程。通过操作所述停止部件,管理员停止所述调整过程的自动执行并进入单步模式。通过公开部件136,公开下一步骤的细节,允许管理员观察所述当前策略采取的操作。管理员可以通过操作继续部件138来确认所述下一步骤,在此之后执行所述步骤。优选地,公开部件136还允许管理员在确认执行之前修改所述下一步骤。用户接口114还可以通过策略编辑器接口139支持交互设计新的调整策略,从零开始或从复制现有调整策略开始。然后,可以将新的调整策略上载到远程存储库112。
图2是本发明提供的调整数据库系统的方法的流程图。在步骤202,接收调整策略。所述调整策略包括指定如何为所述数据库系统确定建议的调整操作的第一过程,以及指定如何在所述调整操作之前和之后测量数据库系统性能的第二过程。所述调整策略的预期目标是提高所述数据库系统的性能(根据它自己对性能测量的定义来判断)。
在步骤204,确定建议的调整操作(例如将配置参数设置为新值)。在步骤206,根据所述调整策略的第二过程,确定所述数据库系统的当前的操作前性能。在步骤208,在数据库系统状态历史中记录指示如何撤消所述建议的调整操作对所述数据库系统状态的更改的撤消信息(例如同一配置参数的当前值)。在步骤210,实际执行步骤204中确定的调整操作。
在步骤210之后的其他步骤用于验证所述调整操作的执行具有提高所述数据库系统的性能的预期效果。在步骤212,测量所述数据库系统的新的操作后性能并与步骤206中测量的操作前性能相比较。在决策步骤214,根据所述调整策略的第二过程判断性能是否降低。如果所述性能降低,在步骤216中使用在所述数据库系统状态历史中记录的撤消信息来撤消所述数据库系统的状态更改。如果所述性能没有降低,则不采取任何操作。
图3是本发明的方法的实施例的流程图,用于调整数据库系统。在步骤300接收调整策略列表,每个所述调整策略指定如何以特定方式调整所述数据库系统。在步骤302,从所述列表中取出第一个调整策略。在步骤204,根据所述当前调整策略确定零个、一个或多个建议的调整操作。在决策步骤304,检测所述当前调整策略是否建议了至少一个调整操作。如果没有建议调整操作,则在步骤202从所述列表取出下一个调整策略并使其成为当前调整策略。
如果在决策步骤304,检测到所述当前调整策略建议了一个或多个调整操作,则在步骤206中,测量所述数据库系统的当前的操作前性能。在步骤208,在数据库系统状态历史中记录所述数据库系统的当前状态。在步骤210,执行步骤204中确定的一个或多个调整操作。
为了验证所述当前调整策略的成功,在步骤306中经过由所述当前调整策略定义的预定时间间隔,在此期间所述数据库系统在步骤204中根据所述当前调整策略确定的一个或多个调整操作做出的更改下运行。在经过所述时间间隔后,在步骤212中测量所述数据库系统的操作后性能。在决策步骤214中,将所述数据库系统的操作前性能和操作后性能相比较以判断所述数据库系统的性能是否降低。如果判断所述性能降低,则在步骤216中通过使用在所述数据库状态历史中记录的撤消信息撤消所述当前策略对所述数据库系统状态的更改,恢复所述数据库系统的先前状态。可选地,还在所述调整策略列表中禁用所述当前调整策略。备选地,查阅例如由所述数据库系统状态历史提供的同一调整策略导致所述数据库系统性能降低的过去事件的记录。只有当此类事件发生统计上显著的次数时,才例如通过从所述列表删除所述当前调整策略来禁用所述当前调整策略。
在步骤202中,从所述列表取出下一个调整策略并使其成为当前调整策略。如果在决策步骤214中判断性能没有降低,则使所述数据库系统保持现状,并且所述方法直接前进到从所述列表取出下一个调整策略的步骤202。
标号列表
100数据库系统
104调整策略
108数据库系统状态历史
110解释器
112远程存储库
114用户接口
116调整策略列表
118数据库性能调整系统
120受监视的数据库系统
122评估组件
124执行组件
126验证组件
128恢复组件
130当前调整策略的指针
132网络接口
134停止部件
136公开部件
138继续部件
139策略编辑器接口
140通知调整策略
202接收调整策略
204确定建议的调整操作
206测量数据库系统的操作前性能
208记录撤消信息
210执行调整操作
212测量数据库系统的操作后性能
214验证性能提高
216恢复数据库系统的先前状态
300接收调整策略列表
302从列表中取出第一个调整策略
304检测建议的调整操作
306等待预定时间间隔

Claims (18)

1.一种调整数据库系统的方法,所述方法包括:
接收调整策略,所述调整策略包括确定涉及数据库系统状态更改的建议调整操作的第一过程,以及测量数据库系统性能的第二过程,
根据所述第一过程确定所述建议调整操作,
根据所述第二过程测量操作前数据库系统性能,
在数据库系统状态历史中记录指示如何撤消所述建议调整操作的所述数据库系统状态更改的撤消信息,
执行所述建议调整操作,
根据所述第二过程测量操作后数据库系统性能,以及
当所述操作后数据库系统性能低于所述操作前数据库系统性能时,使用来自所述数据库系统状态历史的所述撤消信息来撤消所述调整操作的所述数据库系统状态更改。
2.如权利要求1中所述的方法,其中从包括以下顶的组中选择所述数据库系统状态更改:
修改数据库配置参数、创建数据库表索引,以及删除数据库表索引。
3.如权利要求1中所述的方法,其中所述第一过程包括:
收集由所述数据库系统处理的查询语言语句,以及
分析所述语句以便确定所述建议调整操作。
4.如权利要求1中所述的方法,还包括在执行所述调整操作后等待预定的时间间隔。
5.如权利要求1中所述的方法,其中根据所述第一过程确定多个建议调整操作,每个所述调整操作都包括多个数据库系统状态更改中的一个相应更改,其中所述撤消信息指示如何撤消所述多个数据库系统状态更改中的每个更改,并且其中当所述操作后数据库系统性能低于所述操作前数据库系统性能时,使用所述撤消信息来撤消所述多个数据库系统状态更改中的每个更改。
6.如权利要求1中所述的方法,其中所述调整策略存储在数据对象中,并且所述数据库系统包括解释器以解释所述数据对象。
7.如权利要求1中所述的方法,其中从调整策略远程存储库接收所述调整策略。
8.如权利要求1中所述的方法,其中所述数据库系统包括用户接口,所述方法还包括:
在所定义的方法的所述步骤中的一个步骤期间停止,
通过所述用户接口公开所述步骤中的所述一个步骤,以及
当通过所述用户接口接收到对所述步骤中的所述一个步骤的确认时,继续所述步骤中的所述一个步骤的执行。
9.如权利要求8中所述的方法,还包括在继续执行之前通过所述用户接口修改所述步骤中的所述一个步骤。
10.如权利要求1中所述的方法,还包括:
接收调整策略列表,以及
为所述列表的每个调整策略重复所定义的方法。
11.如权利要求10中所述的方法,还包括当所述操作后数据库系统性能低于所述操作前数据库系统性能时,禁用所述列表的所述调整策略中的一个调整策略。
12.如权利要求10中所述的方法,还包括:
根据所述第一过程判定是否存在建议调整操作,以及
当没有建议调整操作时,继续到所述列表的下一个调整策略。
13.如权利要求10中所述的方法,还包括:
为振荡的数据库系统状态的非收敛振荡分析所述数据库系统状态历史,以及
当检测到非收敛振荡时,禁用根据其在所述振荡期间更改所述振荡的数据库系统状态的所述列表的所述调整策略中的一个调整策略。
14.一种用于调整受监视数据库系统的数据库性能调整系统,所述数据库性能调整系统包括:
调整策略,所述调整策略包括确定涉及受监视数据库系统状态更改的建议调整操作的第一过程,以及测量所述受监视数据库系统的性能的第二过程,
评估组件,所述评估组件用于根据所述第一过程确定所述建议调整操作,以及根据所述第二过程测量所述受监视数据库系统的操作前性能,
数据库系统状态历史,所述数据库系统状态历史用于存储指示如何撤消所述受监视数据库系统状态更改的撤消信息,
执行组件,所述执行组件用于执行所述建议调整操作,
验证组件,所述验证组件用于根据所述第二过程来测量所述受监视数据库系统的操作后性能,以及
恢复组件,所述恢复组件用于当所述操作后性能低于所述操作前性能时,使用来自所述数据库系统状态历史的所述撤消信息来撤消所述受监视数据库系统状态更改。
15.如权利要求14中所述的数据库性能调整系统,其中所述调整策略存储在数据对象中,并且所述数据库性能调整系统还包括解释器以解释所述数据对象。
16.如权利要求14中所述的数据库性能调整系统,还包括用于编辑所述调整策略的策略编辑器接口。
17.如权利要求14中所述的数据库性能调整系统,还包括用于在所述数据库系统与调整策略远程存储库之间传送所述调整策略的网络接口。
18.如权利要求14中所述的数据库性能调整系统,还包括用户接口,所述用户接口包括:
停止部件,用于在所定义的方法的所述步骤中的一个步骤期间停止,
公开部件,用于通过所述用户接口公开所述步骤中的所述一个步骤,以及
继续部件,用于当通过所述用户接口接收到对所述步骤中的所述一个步骤的确认时,继续所述步骤中的所述一个步骤的执行。
CNB2006101465764A 2005-12-13 2006-11-15 数据库调整方法和系统 Expired - Fee Related CN100428242C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05112036.8 2005-12-13
EP05112036 2005-12-13

Publications (2)

Publication Number Publication Date
CN1983274A true CN1983274A (zh) 2007-06-20
CN100428242C CN100428242C (zh) 2008-10-22

Family

ID=38140749

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101465764A Expired - Fee Related CN100428242C (zh) 2005-12-13 2006-11-15 数据库调整方法和系统

Country Status (2)

Country Link
US (1) US8180762B2 (zh)
CN (1) CN100428242C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023000766A1 (zh) * 2021-07-19 2023-01-26 中兴通讯股份有限公司 数据库模型动态调整的方法、设备及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060242102A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Relaxation-based approach to automatic physical database tuning
US8516418B2 (en) * 2006-06-30 2013-08-20 Oracle America, Inc. Application of a relational database in integrated circuit design
US8903801B2 (en) * 2007-09-14 2014-12-02 Oracle International Corporation Fully automated SQL tuning
US8700608B2 (en) * 2007-10-17 2014-04-15 Oracle International Corporation SQL execution plan verification
US8510268B1 (en) * 2007-11-13 2013-08-13 Google Inc. Editable geographic data for maps, and applications thereof
US20090240802A1 (en) * 2008-03-18 2009-09-24 Hewlett-Packard Development Company L.P. Method and apparatus for self tuning network stack
US20110246962A1 (en) * 2010-04-05 2011-10-06 Microsoft Corporation State machine expressions in database operators
US8688629B2 (en) * 2011-09-30 2014-04-01 Teradata Us, Inc. System maintenance and tuning of databases by using excess capacity in capacity controlled environment
US20150154100A1 (en) * 2013-12-04 2015-06-04 International Business Machines Corporation Tuning business software for a specific business environment
US10621064B2 (en) 2014-07-07 2020-04-14 Oracle International Corporation Proactive impact measurement of database changes on production systems
US10019480B2 (en) 2014-11-14 2018-07-10 International Business Machines Corporation Query tuning in the cloud
CN104503984B (zh) * 2014-11-28 2018-02-02 北京国双科技有限公司 对数据的操作记录的处理方法及装置
US10474677B2 (en) 2015-09-30 2019-11-12 Embarcadero Technologies, Inc. Run-time performance of a database
KR101905771B1 (ko) * 2016-01-29 2018-10-11 주식회사 엔오디비즈웨어 시스템 환경 및 사용자 행동 분석 기반의 자기 방어 보안 서버와 이의 작동 방법
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
US11334538B2 (en) * 2019-05-31 2022-05-17 Microsoft Technology Licensing, Llc System and method for cardinality estimation feedback loops in query processing
US11775515B2 (en) * 2021-09-27 2023-10-03 Netflix, Inc. Dataset optimization framework

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9915465D0 (en) * 1999-07-02 1999-09-01 Lenzie Robert S Identified preferred indexes for databases
JP2005510777A (ja) * 2001-04-27 2005-04-21 コンピュータ アソシエイツ シンク,インコーポレイテッド データベースを操作するシステム及び方法
US7139749B2 (en) * 2002-03-19 2006-11-21 International Business Machines Corporation Method, system, and program for performance tuning a database query
US6871163B2 (en) 2002-05-31 2005-03-22 Sap Aktiengesellschaft Behavior-based adaptation of computer systems
US20060277123A1 (en) * 2003-07-31 2006-12-07 William Kennedy Integrated electronic credit application, contracting and securitization system and method
WO2005024669A1 (en) * 2003-09-04 2005-03-17 Oracle International Corporation Self-managing database architecture
US7552149B2 (en) * 2003-09-06 2009-06-23 Oracle International Corporation Querying past versions of data in a distributed database
US20050177557A1 (en) * 2003-09-06 2005-08-11 Oracle International Corporation Automatic prevention of run-away query execution
US8756200B2 (en) * 2004-05-14 2014-06-17 Oracle International Corporation Undo advisor
US7734615B2 (en) * 2005-05-26 2010-06-08 International Business Machines Corporation Performance data for query optimization of database partitions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023000766A1 (zh) * 2021-07-19 2023-01-26 中兴通讯股份有限公司 数据库模型动态调整的方法、设备及存储介质

Also Published As

Publication number Publication date
US8180762B2 (en) 2012-05-15
US20070136383A1 (en) 2007-06-14
CN100428242C (zh) 2008-10-22

Similar Documents

Publication Publication Date Title
CN100428242C (zh) 数据库调整方法和系统
US10901727B2 (en) Monitoring code sensitivity to cause software build breaks during software project development
US10310968B2 (en) Developing software project plans based on developer sensitivity ratings detected from monitoring developer error patterns
CN101599047B (zh) 软件升级分析系统
CN103365683B (zh) 用于端到端补丁自动化和集成的方法和系统
US6519763B1 (en) Time management and task completion and prediction software
Castellanos et al. ibom: A platform for intelligent business operation management
US6889178B1 (en) Integrated wafer fabrication production characterization and scheduling system
US20070174023A1 (en) Methods and apparatus for considering a project environment during defect analysis
WO2001016755A1 (en) Method of providing software testing services
WO2005043331B1 (en) Method and apparatus for creating and evaluating strategies
CA2579266A1 (en) System and method for scheduling software updates
US8099336B2 (en) Component inventory management
CN101617316A (zh) 智能生产站和生产方法
US20080065680A1 (en) Change and release management system
CN101268620A (zh) 用于管理设备管理对象的设备管理系统和方法
JP5614843B2 (ja) ソフトウェア設計・運用統合管理システム
US7853651B2 (en) Method for tracking transport requests and computer system with trackable transport requests
US11748187B2 (en) System and method for managing software error resolution
US9633323B2 (en) Integrated modeling and analysis in a discrete event simulation
CN108776643A (zh) 一种基于版本控制流程的目标代码合并控制方法及系统
US20050096774A1 (en) System and method for integrating transactional and real-time manufacturing data
CN102253829B (zh) 在用于监控开发人员对软件代码开发过程的遵守的系统中的规则合并
US10324821B2 (en) Oracle cemli analysis tool
US20220092543A1 (en) Method and system for validating tasks in a change management process

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081022

Termination date: 20111115