名称 Oracle 数据库 10g 内幕

可管理性:它为 DBA 提供了什么?
对 Sushil Kumar 的采访

Sushil Kumar 是 Oracle 的数据库可管理性的产品主管,他解释了 Oracle 数据库 10g 自我管理功能的战略重要性

OTN: 为什么可管理性对于客户是重要的战略领域?
Kumar:随着时间的推移,IT 系统的任务已经发生了重大的变化。十年或十五年以前,这些系统的主要使用者是内部用户 — 如果系统在某个特定时段内无法使用,不会对业务产生很大影响。相反,现在系统还作为电子商务的店面,不仅自动处理定单,而且与供应商进行交互协作。因此 IT 系统不只是支持的基础架构,并且逐渐成为核心业务的关键所在。这意味着,如果您的系统性能不佳,如果它不能在令人可以接受的时间内为用户的请求提供服务,则您实际上正在失去生意。

结果是必须对这些系统进行非常非常严密的监视,比以往任何时候都要严密,而 IT 经理需要预先采取步骤,以确保在问题开始影响最终用户之前将其解决。这就出现了进退两难的局面:一方面,管理好您的 IT 系统空前重要。另一方面,在竞争越来越激烈的经济环境中,您承受着越来越大的压力,需要减少 IT 开支。这意味着要求 IT 经理利用很少资源来完成更多的工作。因此,企业都在寻找更易于使用和管理的产品,这些产品能够自动执行大部分的任务,并且需要更少的人工干预。

OTN: Oracle 为解决客户所面临的可管理性挑战的策略是什么?
Kumar: 如今的 IT 系统包含很多组件,包括多个数据库、应用服务器、应用程序等等。我们的可管理性策略的第一个方面是尽可能使所有这些组件都进行自我管理。其目的是使单个目标(如一个数据库)的管理尽可能简单和自动化,因而它只需最少的干预即可保持运转。

“一项独立的研究表明,Oracle 10g DBA 执行常规管理任务所需的时间比其 SQL Server 2000 同行要少 30%。”
因此,Oracle 数据库 10g 以极其简化的安装为特色,其配置非常简单,并且包含很多新推出的自我管理功能,这些功能自动执行大部分正在运行的复杂而费时的管理任务。其结果是,Oracle 数据库 10g 将 Oracle DBA 的管理负担减少了一半,并成为最易于管理的数据库。我非常高兴地了解到,由 Progressive Strategies 实施的一项独立研究表明,Oracle 10g DBA 执行日常管理任务的时间和步骤比其 SQL Server 2000 同行分别少 30% 和 20%。

我们的可管理性策略的第二个方面是解决关于管理典型数据中心的多个管理目标的挑战。我们在这方面努力为您提供一种解决方案,它提供了您的整个 IT 基础架构的统一视图,并允许您将它作为单个实体进行管理。例如,Enterprise Manager 网格控制通过为您提供关于数据中心的单一全局视图,允许您根据异常来管理数百个组件,无论这些组件是什么。“根据异常进行管理”的含义是,只有当系统中出现故障并且无法自动修正时,才需要进行手动干预。因此,您不必每天去分别关注每个组件,现在您拥有这样一个基础架构,它监视所有的系统,获取每个系统的配置和性能数据,并对数据进行编译,使您准确地了解哪里出现故障。此外,您还可以在需要时以组的形式对多个目标进行修复,如同向组的所有成员同时安装补丁一样。根据组进行管理显著地简化了典型的 DBA 任务。

OTN: Oracle 数据库 10g 独特的自我管理功能有哪些?
Kumar: 第一就是 Oracle 10g 的自我诊断引擎。通常,任何数据库 — 不仅是 Oracle — 的性能调整都是一项复杂的任务。经常是碰巧在多个似乎会导致响应时间减缓的原因中发现了关键原因,并应用正确的修复方法解决了问题。因此我们在 Oracle 数据库 10g 中所做的工作是通过在数据库内核内部创建一个自我诊断的引擎,使性能诊断过程完全自动化。该引擎称为自动数据库诊断监控器,或 ADDM。由于有 ADDM,Oracle 数据库 10g 能够自动识别出性能瓶颈,并提供有关如何解决这些瓶颈问题的建议。Oracle DBA 不再需要花好几个小时来翻找性能统计信息,以便判断其数据库出了什么问题。他们只需简单地询问数据库本身即可。

您可能会说:“太棒了。数据库为我识别出四个问题 — 也就是在 I/O、内存、应用程序和 SQL 中 — 但这些问题中哪个是最关键的,是最需要修复的呢?”为了帮助您做决定,ADDM 不仅识别问题,而且将这些问题对总体性能的影响进行量化。但这并不是全部。我先前曾讲过,ADDM 能够更进一步,还提供对所识别问题的建议解决方案,并提供了实施这些解决方案所产生的预期效益。如果您是一位 DBA,您会发现这一特性是革命性的突破。

“如果您是一位 DBA,您会发现 (ADDM) 是一项革命性的突破。”
Oracle 数据库 10g 的另一个独特方面是 SQL 调整过程的完全自动化。这仍是占用了管理员时间很大比例的另一个领域。为解决这一问题,Oracle 数据库 10g 包含了 SQL Tuning 和 Access Advisors,它们能够自动分析单条 SQL 语句或者整个工作负载,然后产生使其更快速运行的建议,从而在 SQL 调整过程中消除了体力劳动和根据猜测而做的工作。

OTN: 以前其他厂商曾发表过有关其产品的类似声明吗?
Kumar: 是的;每个数据库厂商都声称拥有一种 SQL 调整解决方案或其他方法。但是如果您更深入地观察,就会发现我们的解决方案在很多方面都是独特的。首先,大部分其他解决方案基于一系列关于查询如何执行的预定假设来进行操作,与此不同,Oracle 数据库 10g SQL Tuning Advisor 使用查询优化器本身来分析有问题的语句并产生建议。这种方法确保其建议非常准确,即使您升级了数据库版本也同样有效。其次,Oracle 数据库 10g 允许您优化 SQL 语句,而不需要对 SQL 语法或模式设计作任何更改。

由于我们在 Oracle 10g 中推出了一种称为 SQL Profile 的独特功能,使这种方法能够实现。在分析 SQL 语句时,SQL Tuning Advisor 查看语句的执行模式以及其他特征,比如它多久执行一次,它试图与何种数据相关联等。这些信息有助于优化器了解关于该特定 SQL 语句的更多特征,并产生更加优化的执行计划。随后这些信息以 SQL Profile 的形式存储在数据库中,并与常规的优化器统计信息联合使用,使 SQL 运行得更快。这种解决方案并不需要改变任何 SQL 语法,因此它能够调整任何 SQL 语句,甚至能够调整那些来自打包应用程序的 SQL 语句,如 Siebel、SAP 或者通常使用 SQL 无法控制的任何其他地方。

OTN: 资源管理器和动态资源计划如何适应于自我管理功能?服务的概念又适合于哪里?
Kumar: 如今 IT 经理和管理员所面临的最大挑战是,如何在数据库中动态地调整以及重新调整资源,以满足业务变化的需要。资源管理器和资源计划使您能够识别您系统中的业务优先级,并允许您控制如何使用资源来满足这些需要。

服务的概念基本上使数据库在某种程度上能够了解应用程序。数据库能够了解到有四个不同的应用程序与其相连的唯一方法是,它们是否能够被分为不同类别的服务。因此这意味着一个 10g 数据库能够支持多种服务;或者反过来说,多个 10g 数据库能够提供一种特定的服务。

例如,如果一个特定的应用程序在给定的时间点需要峰值负载,则您需要为该请求所做的是,将运行在其他机器上的另一个数据库实例作为该服务的一部分而包括进来。这种方法创建了一种虚拟化的层,将数据库资源与最终用户分隔开。当用户启动一个请求时,对用户而言,从哪里为请求提供服务并不重要。通过将请求动态地路由到一个能够为该请求提供服务的特定节点,并允许管理员动态地添加资源来满足峰值负载的需要,服务使得这种方法成为可能。

OTN: 可管理性在支持网格计算方面发挥什么作用?
Kumar:网格就是我刚才所解释内容的一种扩展。网格计算的好处是,它允许公司动态地供应和重新供应资源,以满足变化的业务需要。但是,网格可以包含世界范围内的数百个甚至数千个节点。那么,网格计算能够在财政上可行的唯一方法在于这些系统更易于管理。通过使组件进行自我管理,并通过为您提供一种方法,使您获得关于整个企业如何在全部关键组件基础上工作的全局视图,您就能够使网格计算在商业上可行。这两种因素结合起来,使您可以从包含两个系统的网格起步,发展到甚至包含 1000 个系统的网格,而不必相应地增加管理成本。

我们更明确地在三个不同级别上为网格提供可管理性解决方案。第一个是节点间的级别,在这一级别上,您拥有需要部署的不同的机器。这里是解决方案希望将服务融入系统的地方,因为通过使用服务和真正应用集群 (RAC) 基础架构,我们可以动态地将节点加入集群中,或者将节点从集群中取出并移到另一个集群中。这样使您能够对无法预料的需求作出相当快的响应,而不必出去购置额外的资源。

“网格计算在财政上可行的唯一方法在于系统节点更易于管理。”
网格可管理性的第二方面与共享磁盘资源的供应有关。在这里,我们的自动存储管理 (ASM) 解决方案把 DBA 解放出来,不必考虑如何在不同的磁盘中分布数据或者如何将它们条带化。DBA 需要做的事情只是通过创建一个或多个磁盘分组,以指定 Oracle 数据库应该使用哪些磁盘,而 Oracle 数据库 10g 自动在这些磁盘上对数据进行条带化和镜像。ASM 还允许您在磁盘分组中动态地添加或删除磁盘。当您进行这种操作时,我们的确进行自动的再均衡。该过程全部在后台进行,绝对不会影响用户。

我们为网格提供的第三种可管理性解决方案是在节点本身的范围内,在此处提供了数据库资源管理器。通过提供灵活映射用户分组的功能,我们使管理员更容易建立起资源分配策略。这种分配策略可以基于服务,也可以基于应用程序的名称。由于资源管理器具有非常动态的性质,您利用其中任一种方法都能动态地重新部署资源,并创建多个资源计划和进度。通过重新设置资源管理器的限额,您可以动态地转移资源,从而能够对变化的计算需求作出快速的响应,当您的业务需要发生变化时,您可能要服从于这种变化的计算需求。

OTN: 对于那些满足于“传统的”、统计信息密集的数据库管理策略却又希望探究 10g 的自我管理功能的 DBA,您有什么建议?
Kumar: 虽然 10g 提供了广泛的自我管理功能,但是在数据库中仍然提供了 DBA 过去所需的所有传统统计信息。而且我们除了作出自我管理的决策之外,还发布了关于如何作出这些决策的理论基础 — 我们的决策所依据的底层数据。所有这些数据都在数据库中发布,并可以用于验证自我管理的决策。通过发布这些统计信息,我们允许那些希望获得所有详细信息的更有经验的 DBA 来观察这些决策是如何作出的。

当然,我们希望他们在对系统的运行以及由 10g 所作出的自我管理决策进行一段时间的观察之后,他们会逐渐开始信任数据库,并且不再认为需要去查看那种程度的详细信息。但是,由于详细信息仍然存在,如果需要,DBA 仍然可以继续进行细节性的控制和监督。出于同样的原因,如果您是一位 DBA 初学者、兼职 DBA 或者工作负担很重而无暇检查所有的详细信息,则数据库的管理只是简单地查看 Enterprise Manager 的屏幕并单击鼠标键而已。

OTN: 很多其他厂商已经宣布了使其产品更易于使用的计划。哪些方面使得 Oracle 的可管理性解决方案与众不同?
Kumar: 我想到了两件事。首先,尽管其他厂商确实已宣布了它们的解决方案或者清楚地表达了他们的想法,但是我们的自我管理解决方案是实实在在的,并且正在使用中。使我们的解决方案与众不同的另一个方面在于,尽管有多种简化数据库管理的方法,必须指出的是,实现自动化的方法有的过于简单,而有的则很完善。过于简单的方法是使用单凭经验的方法,替用户作出决策。通过限制用户的选择,通过替他们作出决策,您可以声称拥有“自我管理”的选件。但是,您实际上所做的却是减少了您的环境可能需要的某些灵活性。在单凭经验的自动化方法背后的基本假设是“一种规格适用于所有情况”。

相反,我们的解决方案使用更加完善的自动化策略,特别适合于操作环境。在 10g 的自我管理决策过程的核心部分,有一个我们称为自动工作负载信息库的部件。当您启动 10g 时,我们自动开始捕获关于数据库的使用情况、工作负载模式等统计信息。从此刻起,我们的所有自我管理决策都基于系统中所收集的科学的、经验式的数据。这种方法确保 Oracle 数据库 10g 能了解它的操作环境,并帮助它作出特别适合于该环境的自我管理决策。

OTN: 这些增强特性将如何从日常操作的角度和长期的职业前景两方面来帮助 DBA?
Kumar: 让我们从日常操作谈起。很少有 DBA 被要求完成比前一年更少的工作。每次我与 DBA 谈话时,他们都说要求他们添加更多的数据库、管理更多的应用程序并且监管更多的网站。因此,所有数据库管理员的工作量都显著增加了。

因此,他们发现为单个数据库花费足够精力实在是太困难了。他们再也没有时间去监视每个数据库、进行日报表或者顾及每个组件。利用 Oracle 数据库 10g,我们尝试将所有这些繁杂的任务从 DBA 的日常工作量中清除出去。因此,从日常操作的观点来看,Oracle 10g 肯定会非常有助于使其工作量更易于管理。

Oracle 10g 中推出的自动化功能的另一个影响是,DBA 现在有更多的时间来从事其希望集中精力来做的事情了。管理员现在不再耗费全部时间来从事各种工作,而是能够集中精力从事更有战略性的活动 — 诸如体系结构检查、数据规划等,而最重要的事情就是更好地管理最终用户体验。因此,Oracle 10g 的自动化功能使 DBA 在其公司业务的成功过程中发挥更有战略性的作用,使 DBA 从幕后走向台前。

OTN: 有一种观点认为,尽管 Oracle 现在提供了最可靠、强健和高性能的数据管理解决方案,但对于那些本身没有专业 DBA 技能的中小型企业 (SMB) 来说,它过于复杂了。Oracle 数据库 10g 如何反驳这种观点?
Kumar: 很多中小型企业确实认为 Oracle 对于它们而言过于复杂,尽管这种观点并不完全正确。无论如何,在 Oracle 数据库 10g 中,我们已经简化了数据库生命周期从部署到正在运行的管理以及故障诊断等所有的方面。

接下来的步骤

访问可管理性技术中心

学习“数据库管理员两日速成”文档

下载 Oracle 数据库 10g

在部署方面,我们提供了一种单屏安装,使那些只是简单了解计算机系统的人都能在 20 分钟内安装 Oracle 10g 数据库并启动和运行。在安装期间,我们自动建立诸如监视等活动以及例行的任务,如备份、优化程序统计信息的收集等等。

对于正在进行的维护,我们在数据库中设有警报,这些警报是随需建立的,可以指出问题出在哪里。您不必坐在终端前手动地监视数据库的运行情况。如果出现问题,我们有简单的顾问程序,可以用清晰而简单的英语回答您可能提出的问题,并为您提供很多建议,您可以利用这些建议来解决问题。

最后,由于 Oracle 数据库 10g 中推出的所有自动化和自我管理功能,我们现在能够提供一个新的计划,称为“数据库管理员两日速成”。正如其名称所示,该计划的目标是使任何了解计算机基础知识的人能够通过短短两天的培训而成为 Oracle 数据库管理员。这本身就是一个声明,表明在 Oracle 数据库上进行部署和操作已变得多么简单。就是这种简单性使得 Oracle 数据库 10g 确实对中小型企业具有吸引力,这些企业一直希望使用 Oracle,但由于有种观点认为它对于它们的技术水平而言过于复杂,因而它们过去不愿采用它。

OTN: 你们现在打算如何发展?Oracle 将来在可管理性方面的发展方向是什么?
Kumar: 利用 Oracle 数据库 10g,我们通过创建基础架构来支持其自我管理的决策,已经向着创建自我管理的数据库迈进了一大步。但是我们的工作只是刚刚开始。在将来的版本中,我们将继续在此基础上进行改进,使更多的任务实现自动化,同时帮助 DBA 回答更加面向未来的问题,如容量规划、假设分析和案例制作。这种工作将会继续下去,直到我们充分实现了完全自我管理的数据库的目标为止。
寄送此页面
Printer View 打印机视图