知识大全 数据泵备份之外的一些“副作用”

Posted 数据库

篇首语:讨厌自己明明不甘平凡,却又不好好努力。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据泵备份之外的一些“副作用”相关的知识,希望对你有一定的参考价值。

  数据泵是Oracle最近几个版本中才引进的一项技术 其主要用来对数据库进行逻辑备份与恢复 其主要包括expdp与imppd两个实用程序 数据库传统的备份基本上都是物理备份 包括联机备份与脱机备份等等 但是数据泵在Oracle数据库中为其实现了逻辑备份

  逻辑备份简单的说 就是将数据库中的数据导出到一个转储文件中保存 逻辑备份比物理备份具有更大的灵活性 如根据需要 数据库管理员可以备份一个表空间中的数据 也可以备份一个方案对象 甚至只是某些特定表中的数据 在还原的时候 也可以针对不同的转储文件来恢复相关的数据 可见 数据泵提供的逻辑备份要比物理备份灵活的多 不过笔者今天要谈的不是数据泵逻辑备份的灵活性 而是要谈谈通过数据泵对数据库进行导入导出的几个很有用的 副作用 在这些副作用的帮助下 数据库管理员可以节省大量的工作

  副作用一 消除磁盘碎片

  在数据库使用过程中 难免为对保存在其中的数据进行删删减减 这些操作难免会在硬盘中造成比较多的硬盘碎片 如果在这台服务器中还部署了其他的应用服务 那么碎片会更多 而这些硬盘碎片会在很大程度上影响数据库的运行性能 此时尽量消除硬盘碎片也是提高数据库性能的一个很好的方法

  在Windows等操作系统中也有碎片整理工具 但是这个操作系统提供的工具并能够有效消除数据库中的存储碎片 因为数据库中的存储碎片是由于数据块大小 存储结构 不合理的数据类型等等多个方面所造成的 而操作系统与数据库系统毕竟是两个不同的应用系统 为此通过操作系统提供的硬盘碎片处理程序往往很难消除数据库系统中的磁盘碎片 那么在数据库中该如何解决这个磁盘碎片问题呢?

  在以前版本的数据库中 数据库管理员可能对此只能够干瞪眼 不过在Oracle G以后的数据库中 借助数据泵的作用 就可以轻松的解决这个问题 如利用数据泵实用程序 先将数据库中的数据全部导出 然后再进行恢复 在恢复的过程中 Oracle数据库系统会重新组织表的存储结构 减少表中的连接 并有效的消除磁盘碎片 从而可以在很大程度上提高数据库的性能 特别是对于那些变动性比较大的Oracke数据库 最好定时的利用数据泵工具进行导入导出的工作 这有利于其提高数据库的性能 不过在使用数据泵导入导出数据的时候 最好能够选择企业用户不用数据库的时候 虽然这个导入导出花不了多少时间(以各存储 G左右的数据库为例 大概 分钟可以完成整个导入导出工作) 但是如果在这个中间用户对数据库进行了修改 那么这个修改的数据就可能会丢失 所以在进行这项工作的时候 能够断开用户与数据库的连接是最好的

  副作用二 可以在不同的操作系统之间进行数据迁移

  有时候企业可能需要在不同的操作系统之间进行数据库的迁移 如笔者前段时间 就负责过类似的项目 企业原先是在微软的操作系统上部署Oracle数据库系统的 不过那时候企业采用的是盗版的操作系统 由于微软盗版打击力度逐渐增强 企业担心总有一天会波及到他们;同时这个服务器系统稳定性也不是很高 时不时的会跟企业用户闹点小矛盾 为此企业准备乘早向Linux操作系统转移 其首要的目标就是把现在的一些服务器部署在Linux操作系统上 所以需要把Oracle数据库从Windows操作系统向Linux操作系统转移

  要实现这个转移在以前的数据库版本中可能比较难 但是在 G等以后的数据库版本中就变得很简单了 因为数据泵备份与恢复工具可以将数据库中的数据存储在一个转储文件中 而这个转储文件是一个二进制形式的文件 不受操作系统的影响 为此在Windows操作系统平台中 利用数据泵工具把数据导出保存在转储文件(二进制文件)中 然后再在Linux操作系统上安装好Oracle数据库系统 再利用数据泵工具把存储在转储文件中的数据导入到数据库中即可 由于利用二进制文件来存储数据 为此不会因为操作系统平台而出现不能够导入的情况 这主要是因为二进制的文件中不会包含操作系统的信息 所以在不同的操作系统平台上的Oracle数据库之间可以直接导入导出数据 可见 数据泵对于在不同操作系统平台之间进行数据库迁移是非常有用的

  副作用三 用来进行数据库的升级

  笔者前段时间遇到过一个项目 要将Oracle数据库从 G升级到 G 在这个升级的过程中 数据库本身的升级难度并不是很大 主要的问题是如何将数据进行升级 因为两个不同版本的数据库系统 新版本会对旧版本的数据库系统进行一些必要的改善 即使其兼容性再好 如果直接利用联机备份或者脱机备份得到的备份文件进行恢复的话 仍然是不行的 即使其能够恢复成功 但是在恢复的过程中会提示一些警告或者出错信息 这些内容会影响到以后数据库运行的稳定性 为此在数据库进行升级的过程中 利用备份文件来进行恢复数据并不是理想的方法

  笔者最认为最理想的方法是将数据表一张张的导入 不过由于Oracle数据库的内容比较多 这个导起来比较麻烦 笔者以前在进行数据库升级时 就写过一个脚本语句 即使在脚本语句的帮助下 也很难一步到位完成不同版本之间的数据迁移工作 而这次从 G升级到 G的时候 笔者直接采用数据泵工具 就顺利完成了数据的迁移工作 其实操作很简单 将低版本数据库中的数据利用数据泵工具全部导出保存在转储文件中 然后再利用数据泵工具将数据导入导高版本的数据库中 在导入的过程中 数据泵实用工具会对某些内容进行自动的调整 以符合新版本新特性的需要 最用的是 在数据泵工具的帮助下 可以实现一次性导出与导入 这可以让数据库管理员省下不少的心

  另外 数据泵不仅可以帮助数据库管理员将数据库从低版本升级到高版本中 如果有需要将数据库的内容迁移到低版本中 则数据泵也可以帮助管理员完成这方面的任务 不过此时数据泵还需要其他一些辅助工具的帮助才行

  副作用四 在不同方案之间实现数据的转移

  有时候数据库管理员可能需要在不同的方案之间实现数据的转移 如在数据库中有两个方案A与B 其中方案A是企业正在使用的方案;而方案B是一个测试方案 有时候设计开发了一个新功能 需要在方案B下先进行测试 不过为了保证测试方案的准确性 需要把方案B中的数据保持最新 即跟方案A中的数据进行同步 此时数据库管理员就需要把方案A中的数据转移到方案B中

  此时数据库管理员可以利用数据泵实用工具将方案A中的数据导出到转储文件中 然后再将这个转储文件中的内容通过数据泵实用工具导入导方案B中 从而完成在不同的数据库对象之间进行数据迁移的任务 此时数据恢复(其实准确的说 应该是数据导入 而不是数据恢复) 不会因为方案名不同 而拒绝恢复

  可见在数据泵工具的帮助下 在不同方案对象之间进行数据的迁移变得非常的简单 所以数据库管理员以后在进行测试的时候 要保持测试方案对象与被测试对象的数据同步不再是难事

cha138/Article/program/Oracle/201311/18597

相关参考

知识大全 数据备份的13种最佳做法

  数据中心操作大量的数据当数据遭到破坏时这就是一场灾难这正是定期进行备份的重要性即使你有大量的备份数据都没有使用备份也肯定不是在浪费时间你也许很幸运从来没有经历过数据丢失但是由于这种事情极少发生以及

知识大全 利用作业备份和恢复数据库

  备份和恢复是数据库管理员维护数据库安全性和完整性的重要操作虽然各种数据库系统本身提供了备份和恢复数据库的功能但是操作步骤比较烦琐本文以SQLServer为例总结了常用的几种备份和恢复数据库的方法分

知识大全 数据库备份可能出错的十种情况总结

  如果你做DBA时间不长对数据库的备份有些担心希望能找到一种让你放心的备份方案那么本文绝对适合你  关于数据库的备份恢复原理大家多少都比较熟悉了但是你目前做的数据库备份有多可靠?你可以安心睡觉了吗?

知识大全 Oracle数据库设置任务计划备份一周的备份记录

Oracle数据库设置任务计划备份一周的备份记录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 360手机卫士为什么不能进行云端数据备份

360手机卫士为什么不能进行云端数据备份?备份软件时总是说等待备份,怎么回事?可能软件不是正规的,所以容易出现这样的情况。其实要是备份资料,可以备份到电脑上。在电脑上下载应用宝软件。打开手机设置--开

知识大全 rman备份方式半功略

  一RMAN是Oracle提供的一个数据库备份和恢复工具  特点  )备份和恢复数据库表空间控制文件数据文件和归档文件  )校验备份数据集  )通过备份检查损坏块  )增量备份  )脚本能力  )备

知识大全 计划备份mysql数据库

  :mysql是我们使用最多的数据库如果在日常中正确的对mysql数据进行备份下面我们就来做这事通过脚本来实现  ##########################################

知识大全 数据库Oracle数据的异地的自动备份

数据库Oracle数据的异地的自动备份  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!正在看的ORA

机组检修前,软件或数据备份结束后,还应做的工作有()

机组检修前,软件或数据备份结束后,还应做的工作有()A、在备份上正确标明编号、名称、备份时间等内容;B、对备份进行读出质量检查,应无介质损坏或不能读出等现象发生,备份的内容、文件大小和日期等应正确C、

机组检修前,软件或数据备份结束后,还应做的工作有()

机组检修前,软件或数据备份结束后,还应做的工作有()A、在备份上正确标明编号、名称、备份时间等内容;B、对备份进行读出质量检查,应无介质损坏或不能读出等现象发生,备份的内容、文件大小和日期等应正确C、