教你如何在硬盘间分布数据文件(二)

原创|其它|编辑:郝浩|2009-05-04 16:45:52.000|阅读 407 次

概述:随着数据库应用范围的扩大与硬盘价格的直线下降,现在在一台数据库服务器上放置多个硬盘对于企业来说已经不是很奢侈的事情。不过这对数据库管理员来说又提出了一个新的挑战。因为数据库管理员出于性能与安全的考虑,需要学会在硬盘之间分布关键数据文件。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  把数据文件复制到新的硬盘上,并且用新数据文件位置为表空间重命名数据文件。如果新上的硬盘跟原有的硬盘在性能上有差异的话,此时就有一个细节需要注意。即把什么文件保留在原来的硬盘上,而把什么文件移植到性能比较高的新硬盘中。把合适的文件迁移出去,这可以让移植后的数据库性能有更大的提升。如原先在硬盘中有重做日志文件与数据文件。现在需要出于安全与性能的考虑,需要把某个文件迁移到新的硬盘中。而新采用的硬盘性能比较好的情况下,那么最好把重做日志文件迁移出去。这会取得比较好的效果。

  第三步把原先脱机的表空间重新启用即可。可见如果表空间设置的比较合理的话,那么在关键数据文件迁移的时候基本上不会对用户的访问造成负面影响。所以说表空间的规划与建立对于数据库的维护是非常重要的。因为在Oracle数据库中可以专门针对表空间来进行管理,如备份、联机脱机管理等等。其实一个表空间就好像是一个小的数据库一样,可以进行大部分的日常数据库维护工作。

  一、确定工作繁忙的数据文件。

  关键数据文件在不同的硬盘上分开放置到底能够取得数据库性能的多少提升,这主要是跟数据文件访问的繁忙程度有关。如在Oracle数据库中,总共部署由六个数据文件。其中四个数据文件比较繁忙,另外两个数据文件用户不怎么访问。此时数据库管理员如果把不怎么访问的数据文件迁移到其他硬盘上,那么对数据库性能的提升没有多少帮助。为此要提升这个效果,就需要评估一下,哪些数据文件用户访问的比较频繁,然后再有针对性的进行迁移。利用专业的术语来说,就是要确定数据文件上的I/O,将大量使用的数据文件移动到单独的硬盘上以分布I/O。

  不过要确定哪个数据文件的使用频率比较高,有比较大的I/O,不是一件简单的事情。通常来说,可以从两个方面来评估数据文件的使用频率以及对应的I/O。

  一是要靠数据库管理员的经验。往往所设计的数据库用途不同,其数据文件的使用频率以及对应的I/O有一个规律。如这个数据库系统对应的应用系统是一个决策管理系统,则其数据文件中数据表的更改不会很多,大部分是对视图文件的访问。但是如果数据库用于一些事务型管理系统的话,则刚好相反。如一个ERP系统需要用到Oracle数据库系统,则其相关的基础表插入、修改动作会比较频繁,如采购订单、销售订单等等都需要对这些基础表进行大量的访问。故与此对应的数据库文件访问的频率就会比较高。此时把这些文件与其它访问的比较少的文件分开来放置就能够起到不错的效果。另外即使在同一应用系统中,其模块不同,使用的频率也不同。如在一个ERP系统中,基本管理模块基本上不怎么使用,只有在系统初始化的时候需要用到。而对于库存管理、财务管理模块所对应的数据表访问频率就比较高了。为此在数据库规划的时候,可以考虑根据模块使用频率的不同,来规划数据表与表空间。可以把使用模块高的数据表与索引放置在不同的硬盘上;而把使用频率低的数据表与其对应的索引放置在相同的硬盘上。这主要是靠数据库管理员的经验。其设置的数据库案例越多,往往对这方面就会有比较深刻的直观印象。这对于其规划数据表与表空间的位置,具有很大的帮助。

  二是通过数据库提供的工具。

  如在数据库企业管理器中提供了一个数据库文件度量的工具。利用这个工具可以确定发生在每个数据库文件上的I/O。但是使用这个工具有一个缺陷,即其只有在数据库系统投入使用后才能够进行测量与评估。也就是说,不能够在数据库设计与部署的时候,就做好相关的规划工作。也就是说,在生产服务器上进行关键数据文件存放位置的调整,或多或少会对用户的数据库库访问产生不利的影响。而当数据库在正常使用过程中来进行调整的话,这对于数据库管理员的水平也提出了比较高的要求。因为此时不允许数据库管理员出现一点纰漏,否则的话很可能会对数据库中存储的数据造成破坏。所以虽然这种方式是可行的,但是笔者并不推荐这么做。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:IT专家网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP