CN100428242C - 数据库调整方法和*** - Google Patents
数据库调整方法和*** Download PDFInfo
- Publication number
- CN100428242C CN100428242C CNB2006101465764A CN200610146576A CN100428242C CN 100428242 C CN100428242 C CN 100428242C CN B2006101465764 A CNB2006101465764 A CN B2006101465764A CN 200610146576 A CN200610146576 A CN 200610146576A CN 100428242 C CN100428242 C CN 100428242C
- Authority
- CN
- China
- Prior art keywords
- database systems
- database
- adjustment
- performance
- strategy
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
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)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种调整数据库***的方法。接收调整策略,所述调整策略包括确定建议调整操作的第一过程,以及测量所述数据库***的性能的第二过程。根据所述相应过程来确定所述建议调整操作以及测量操作前性能。在数据库***状态历史中记录指示如何撤消所述建议调整操作的数据库***状态更改的撤消信息。在执行所述建议调整操作后,根据所述第二过程来测量操作后数据库***性能。当所述操作后性能低于所述操作前性能时,使用所述撤消信息撤消所述数据库***状态更改。还公开了使能创建新的调整策略、下载现有调整策略、共享自己的调整策略以及更改现有调整策略的实施例。
Description
技术领域
本发明涉及数据库***和方法领域,更具体地说,不限于数据库***性能调整领域。
背景技术
信息技术在过去数十年内的进步导致产生了日益强大的计算机***,通过使关键任务和过程自动化而使得个人与企业更具生产力。但是,自动化的益处的代价是计算机***本身日益复杂,它们已从单个机器发展成模块化***和子***网络。在许多最复杂的计算机***的核心是数据库***。数据库***的体系结构不能预见作为所述数据库***执行其任务的一部分的环境的许多方面。实际上,它们必须由考虑动态改变的工作负荷和周围软件和硬件细节的数据库运行时调整来处理。
调整复杂的数据库***是困难和费时的。例如,某些数据库***如DB2可能有数百个必须正确设置以使***最优运行的配置参数。此外,数据库中的实际物理数据模型提供了许多不同的选项来优化数据库语句执行。此外,访问所述数据库的客户机应用可以依照一组与它们的数据库访问有关的潜在调整措施。熟练的数据库技术专业人员需要配置所述***,根据可能数千个性能指示器来判断***的性能,解释它们并采取纠正措施。
Oracle Tuning Pack(http://www.oracle.com/technology/products/oem/pdf/TP_9iR2_FO.p
df)是一组提供自动化的数据库分析和调整的应用。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中所述的数据库性能调整***,还包括用户接口,所述用户接口包括:
停止部件,用于在所定义的方法的所述步骤中的一个步骤期间停止,
公开部件,用于通过所述用户接口公开所述步骤中的所述一个步骤,以及
继续部件,用于当通过所述用户接口接收到对所述步骤中的所述一个步骤的确认时,继续所述步骤中的所述一个步骤的执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05112036 | 2005-12-13 | ||
EP05112036.8 | 2005-12-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1983274A CN1983274A (zh) | 2007-06-20 |
CN100428242C true 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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323772A (zh) * | 2010-04-05 | 2012-01-18 | 微软公司 | 用数据库运算符的状态机表达 |
Families Citing this family (18)
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 |
US8600977B2 (en) * | 2007-10-17 | 2013-12-03 | Oracle International Corporation | Automatic recognition and capture of SQL execution plans |
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 |
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 |
CN115640274A (zh) * | 2021-07-19 | 2023-01-24 | 中兴通讯股份有限公司 | 数据库模型动态调整的方法、设备及存储介质 |
US11775515B2 (en) * | 2021-09-27 | 2023-10-03 | Netflix, Inc. | Dataset optimization framework |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728720B1 (en) * | 1999-07-02 | 2004-04-27 | Robert Stephen Gerard Lenzie | Identifying preferred indexes for databases |
CN1505789A (zh) * | 2001-04-27 | 2004-06-16 | ���������˼�빫˾ | 使数据库中查询优化的***和方法 |
US20050086246A1 (en) * | 2003-09-04 | 2005-04-21 | Oracle International Corporation | Database performance baselines |
US20050125427A1 (en) * | 2003-09-06 | 2005-06-09 | Oracle International Corporation | Automatic SQL tuning advisor |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US9378525B2 (en) * | 2003-07-31 | 2016-06-28 | Dealertrack, Inc. | Integrated electronic credit application, contracting and securitization system and method |
US7552149B2 (en) * | 2003-09-06 | 2009-06-23 | Oracle International Corporation | Querying past versions of data in a distributed database |
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 |
-
2006
- 2006-08-24 US US11/467,065 patent/US8180762B2/en not_active Expired - Fee Related
- 2006-11-15 CN CNB2006101465764A patent/CN100428242C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728720B1 (en) * | 1999-07-02 | 2004-04-27 | Robert Stephen Gerard Lenzie | Identifying preferred indexes for databases |
CN1505789A (zh) * | 2001-04-27 | 2004-06-16 | ���������˼�빫˾ | 使数据库中查询优化的***和方法 |
US20050086246A1 (en) * | 2003-09-04 | 2005-04-21 | Oracle International Corporation | Database performance baselines |
US20050125427A1 (en) * | 2003-09-06 | 2005-06-09 | Oracle International Corporation | Automatic SQL tuning advisor |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323772A (zh) * | 2010-04-05 | 2012-01-18 | 微软公司 | 用数据库运算符的状态机表达 |
Also Published As
Publication number | Publication date |
---|---|
US20070136383A1 (en) | 2007-06-14 |
US8180762B2 (en) | 2012-05-15 |
CN1983274A (zh) | 2007-06-20 |
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 | |
Castellanos et al. | ibom: A platform for intelligent business operation management | |
CN101599047B (zh) | 软件升级分析*** | |
US6889178B1 (en) | Integrated wafer fabrication production characterization and scheduling system | |
CN110352415A (zh) | 大规模数据管理***中利用图团体监测的预测表预连接 | |
US8099336B2 (en) | Component inventory management | |
WO2001016755A1 (en) | Method of providing software testing services | |
WO2005043331B1 (en) | Method and apparatus for creating and evaluating strategies | |
JP5614843B2 (ja) | ソフトウェア設計・運用統合管理システム | |
US11748187B2 (en) | System and method for managing software error resolution | |
US20080065680A1 (en) | Change and release management system | |
US7853651B2 (en) | Method for tracking transport requests and computer system with trackable transport requests | |
CN108765149A (zh) | 一种基于集群的量化策略回测***及其回测方法 | |
JP2004021364A (ja) | 経営意思決定支援システム | |
US20050096774A1 (en) | System and method for integrating transactional and real-time manufacturing data | |
US20090248469A1 (en) | Method and system of integrated mine planning | |
US20220092543A1 (en) | Method and system for validating tasks in a change management process | |
US10324821B2 (en) | Oracle cemli analysis tool | |
Staron et al. | Industrial self-healing measurement systems | |
CN101657806A (zh) | 用于规划计算机***资源需求的装置及相关方法 | |
JP6799512B2 (ja) | 計画立案システムおよび計画立案方法 | |
CN117933950B (zh) | 一种业务流程自动化审批方法、设备及介质 | |
Górski et al. | Towards automation of IT systems repairs |
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 |