Oraclei数据库的功能比Oraclei更强大吗?绝对是的它还更易于使用Oracle服务器部门的一个小组负责人Valerie Kane说我们抽调了大批从事最乏味最费时任务的数据库管理员使他们集中精力投入到Oraclei的开发活动中结果开发了一个在一些领域中几乎能够自我管理的数据库服务器管理数据库的一些方法已经发生改变下面是这些方法的一个快速指南以及数据库管理员们用心写下的Oraclei关键特性的概述
第一部分 使常规任务自动化
认识到常规任务对于DBA们是非常费时后Oracle在Oraclei中将主要精力集中于简化这些任务的管理上Scott Gossett是Oracle University的一位老师他说对于一般的DBA诸如日常盘区管理恢复数据库管理内存空间以及解决数据库运行速度过慢之类的日常任务会占去其%到%的时间Oraclei能够使很多此类任务自动化这不仅节省了DBA的时间也减少了产生手工错误的可能性得到改进的领域包括
扩展数据文件在该数据库的以前版本中DBA们必须为盘区(extent)指定正确的大小 Thinkspark公司是位于德克萨斯州Austin市的一家咨询培训公司和软件提供商Steve Bertoldi是该公司的一位教师他说盘区管理占大多数DBA工作量的一大部分它是必须做的但又很费时其形式有用完了表空间留给数据段或临时段的空间用完回滚(rollback)空间或者尝试设置正确的盘区大小大多数数据库都没有正确指定盘区大小或者没有使用合适的本地管理的表空间现在Oraclei提供了Resumable Space Management(可恢复空间管理)功能大大简化了空间管理问题相关链接
Oraclei数据库
/oramag/mar/l?l
Oracle文档
/oramag/mar/l
Oraclei 课程
/oramag/mar/l
管理Undo(Rollback)段在Oraclei及以前版本中由DBA来计划和管理Undo(撤销以前称为rollback)段的数目和大小以及事务的大小是否需要额外的临时回滚(rollback)段Oraclei提供自动化的撤消管理因此DBA只需将创建撤消表空间的可用空间以及查询的一般大小输入数据库中数据库就能决定如何最好地管理这一过程所涉及到的新的关键initora参数是undo_management和undo_retention
加利弗尼亚州萨克拉曼多(Sacramento)市加利弗尼亚运输部的Oracle数据库管理员Jim Reilley说在Oraclei之前我必须确保有足够数量的大小正确的回滚段以避免因面向变化的事务处理而产生的 覆盖错误这类事务会导致重写已变块(号错误)在Oraclei中使用自动撤消并恰当地设置undo_retention就可以避免绝大多数的号错误这是很令人兴奋的
管理大型查询资源管理器(Resource Manager)是一个分配和维护数据库资源的软件包其智能性在Oraclei中得到了增强它可以自动检测长时间运行的操作测量后台资源消耗以防止需要大量内存的查询中断OLTP操作例如DBA可以设置资源管理器将任何运行时间达到一特定值(如分钟)的查询自动归入低优先级组Oraclei 高级产品经理Sushil Kumar 说这一特性可以降低多个大型事务耗尽全部可用内存的潜在危险而不需要DBA不断地监控哪一个事务正在占用大量资源
Oraclei还改进了基于成本的优化器使DBA能够进行系统统计并使用统计结果生成最优计划使得SQL语句调整变得更容易其他一些改进诸如分解的查询功能和分组设置考虑到了更精确的SQL语句和处理
管理操作系统文件在以前的Oracle数据库版本中数据库不能自动创建和删除计算机中的数据库文件Oracle管理文件(Oracle Managed FilesOMF)是Oraclei的新增功能可以自动管理与数据库相关的操作系统(OS)文件如果一个数据库对象需要的系统文件不存在OMF会创建该文件与此类似如果一个数据库对象被撤消后它所对应的系统文件便不再需要OMF会删除该文件Kumar说另外如果因为某些原因CREATE(创建)操作失败了Oraclei会自动删除未完全创建的文件所有这些以前需要手工去做的事情现在都可以自动处理了
位于圣地亚哥的GERS是为零售商提供电子商务应用软件的供应商它的系统开发经理Steve Miller计划使用OMF他说我们这个团队的任务之一是监控和管理所有内部开发和质量保证数据库其中包括对数据文件的管理数据文件创建于何处有时我们中会有人在错误的地方创建数据文件我们用来进行备份的软件可能会漏掉这些文件所以能够指明这些数据文件的创建位置并保证这些位置总是处于使用状态为DBA提供了很大的方便
第二部分 减少停机时间
各公司用来衡量其数据库(及其数据库管理员)成绩的方法之一就是看其正常工作时间和停机时间的比例显然正常工作时间所占比例越大数据库就越具价值
据Oraclei产品营销经理Willie Hardie说Oracle在Oraclei中对降低计划停机时间做了优先考虑他说我们知道当今的世界是无法承受数据库瘫痪的损失的所以我们对可能导致DBA使其Oracle数据库瘫痪的所有事情都备加关注哪怕只是几分钟
其结果是产生了一大批新特性和改进这些特性和改进使DBA可以做一些联机改变和动态改变而以前这些改变可能需要关闭数据库并使其脱机Hardie说保持系统运转所节省下来的时间不可估价的另外DBA不必再将下班时间和周末时间花费在这些日常维护上
联机修改参数Oraclei中一个大的改动是关于维护数据库启动时所用参数的在Oraclei及以前的版本中数据库从initora文件的本地拷贝中读取参数Oraclei中的新文件是一个驻留在服务器端的二进制文件SPFILE你可以使用ALTER SYSTEM命令来改变SPFILE中的值也可以使这些改变马上生效而不必关闭机器还可以指定这些改变是暂时的还是永久的(即当该实例关闭后这些改变是否仍然有效)SPFILE一个很大的优点是允许动态重新分配空间包括改变块的大小
联机重组表另一个新的选项是不需脱机就可以对表进行重组可以在实例联机时改变表的排序或因空间原因对其进行重组Oraclei甚至允许联机修改表定义模式和元数据
Thinkspark公司的Bertoldi提供了一个关于这种联机重组功能什么时候有用的例子当一个模型或应用程序从测试环境转为正式产品时所有的错误都应该已经解决他解释道不幸的是事实并不总是如此能够联机修改表的能力可以大幅度地降低动态修改数据模式的开销因为这些操作可以联机执行所以也缩短了数据库的总停机时间
使备用数据库自动化在Oraclei之前DBA维护备用数据库时有几种方法可供选择但很多步骤是手工的并且其过程并不完美为使数据保护更为全面Oracle在Oraclei中引入了Data Guard并在Oraclei中做了很大改进Data Guard是比以前所提供的备用数据库更为完备的数据保护和恢复功能在Oraclei中 Kumar解释道Data Guard自动管理和监控备用数据库使用简单的命令就可以执行复杂的操作例如创建备用数据库进行切换或故障恢复等它是一个全面的管理框架不仅在任何时候都能监测备用数据库还可以使所有的复杂任务简单化
现在只有一个单一的控制点可以让DBA们控制和改变数据库 Oracle的Hardie补充说这意味着你不必再进行创建备用数据库对之进行设置将其连到主数据库激活备用数据库等等这些手工步骤
你可以设置Oraclei使主数据库与备用数据库之间没有偏差Oracle University的Gossett说当你在主数据库中做了改变并提交后这些改变也会被提交到备用数据库的一个日志文件中设想一个股票交易或类似的操作在这类事情中你希望确保能在另一个地方得到所有交易的完整拷贝这种功能当然是非常有价值的
恢复数据库在Oraclei及以前的版本中恢复管理器(Recovery ManagerRMAN)要求你为每个restore和recover操作输入管道设置信息例如
{run allocate channel setlimit channel backup format
release channel }
Oraclei中的恢复管理器支持永久的配置信息简化了restore和recover操作现在的命令非常简单如下所示
> restore database; > recover database;
第三部分 调整性能
在对DBA们的时间要求方面性能调整(调节参数SGA存贮器缓沖沖突比)对于日常维护仅处于第二位因为每个数据库都是以不同的优先级运行的所以每个数据库都将从不同的调整安排中受益Oraclei中极大地改进了内置智能系统它可以分析数据库结构和性能需要还可对特定数据库的要求建议如何最佳优化空间和参数
对于DBA来说有些事情几乎不可能在外部完成 Oracle的Kumar说因为从外部不可能看到这类事情的细节而另一方面由于提高了服务器的统计和计算能力它便可以为你决定这类小事情
使用报告使用Oraclei的缓沖存储报告(Buffer Cache Advisory)数据库可以实际监测缓沖区并提供关于如何更好地调整它的信息所以如果你想知道通过改变缓沖区大小能否得到最大性能改善而不想采用反复试验的方法改变缓沖区大小看看效果再改变再观察那么你可以用GUI工具得到假设分析(whatif)情形