数据泵备份之外的一些“副作用”
2009-05-22 13:14:50 来源:WEB开发网数据泵是Oracle最近几个版本中才引进的一项技术,其主要用来对数据库进行逻辑备份与恢复。其主要包括expdp与imppd两个实用程序。数据库传统的备份基本上都是物理备份,包括联机备份与脱机备份等等。但是数据泵在Oracle数据库中为其实现了逻辑备份。
逻辑备份简单的说,就是将数据库中的数据导出到一个转储文件中保存。逻辑备份比物理备份具有更大的灵活性。如根据需要,数据库管理员可以备份一个表空间中的数据,也可以备份一个方案对象、甚至只是某些特定表中的数据。在还原的时候,也可以针对不同的转储文件来恢复相关的数据。可见,数据泵提供的逻辑备份要比物理备份灵活的多。不过笔者今天要谈的不是数据泵逻辑备份的灵活性,而是要谈谈通过数据泵对数据库进行导入导出的几个很有用的“副作用”。在这些副作用的帮助下,数据库管理员可以节省大量的工作。
副作用一:消除磁盘碎片。
在数据库使用过程中,难免为对保存在其中的数据进行删删减减。这些操作难免会在硬盘中造成比较多的硬盘碎片。如果在这台服务器中还部署了其他的应用服务,那么碎片会更多。而这些硬盘碎片会在很大程度上影响数据库的运行性能。此时尽量消除硬盘碎片也是提高数据库性能的一个很好的方法。
在Windows等操作系统中也有碎片整理工具。但是这个操作系统提供的工具并能够有效消除数据库中的存储碎片。因为数据库中的存储碎片是由于数据块大小、存储结构、不合理的数据类型等等多个方面所造成的。而操作系统与数据库系统毕竟是两个不同的应用系统,为此通过操作系统提供的硬盘碎片处理程序往往很难消除数据库系统中的磁盘碎片。那么在数据库中该如何解决这个磁盘碎片问题呢?
在以前版本的数据库中,数据库管理员可能对此只能够干瞪眼。不过在Oracle 10G以后的数据库中,借助数据泵的作用,就可以轻松的解决这个问题。如利用数据泵实用程序,先将数据库中的数据全部导出,然后再进行恢复。在恢复的过程中,Oracle数据库系统会重新组织表的存储结构,减少表中的连接,并有效的消除磁盘碎片。从而可以在很大程度上提高数据库的性能。特别是对于那些变动性比较大的Oracke数据库,最好定时的利用数据泵工具进行导入导出的工作。这有利于其提高数据库的性能。不过在使用数据泵导入导出数据的时候,最好能够选择企业用户不用数据库的时候。虽然这个导入导出花不了多少时间(以各存储10G左右的数据库为例,大概20分钟可以完成整个导入导出工作)。但是如果在这个中间用户对数据库进行了修改,那么这个修改的数据就可能会丢失。所以在进行这项工作的时候,能够断开用户与数据库的连接是最好的。
更多精彩
赞助商链接