• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >DB2 > 浅谈IBM DB2数据库的备份与恢复

浅谈IBM DB2数据库的备份与恢复

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2017-06-28

匿名通过本文主要向大家介绍了ibm db2数据库,ibm db2数据库下载,ibm db2,ibm db2价格,ibm db2价等相关知识,希望本文的分享对您有所帮助
</div>

数据库安全越来越受到管理员的重视,特别是大型数据库的安全问题,已得到广大广大数据库管理员的重视。为了防止数据的意外丢失或损坏,必须对数据采取有效的备份手段。 

  所谓数据备份,就是保留一套备用系统,当运行系统出现故障时,能够以最小的时间恢复原来的数据。数据库的备份,可以是整个数据库的拷贝,也可以是其中一部分数据的拷贝(一个或多个表空间)。数据备份一般有两个层次: 

  硬件级备份:用冗余的硬件来保证系统的连续运行,比如双机容错、硬盘镜像等方式。如果主硬件损坏,后备硬件能够立刻接替其工作。 

  软件级备份:将系统数据保存到其他可以移动的介质上,如磁带、软盘、光盘等。当系统出现故障后,可以将系统恢复到备份时的状态。本文主要讨论的是数据库的软件级备份。 

  IBM的DB2数据库早已在世界范围赢得非常好的信誉,是受到广大用户青睐的数据库系统之一。本文讨论的是 DB2 5.5 for AIX 数据库系统的备份与恢复。 

  一、DB2数据库的备份 
  DB2数据库可以备份整个数据库,也可以备份其中的一个或多个表空间;可以在应用连接到数据库时和事务正在处理时进行备份(这称为联机备份),也可以在没有任何应用连接到数据库时进行备份(这称为脱机备份)。(见表一) 
  DB2数据库使用命令BACKUP来备份。BACKUP命令需要SYSADM,SYSCTRL或SYSMAINT的权限,其命令语法为: 
  BACKUP DATABASE 数据库别名 TO 介质名 
  或者 
  BACKUP DATABASE 数据库别名 TABLESPACE 表空间名 [ONLINE} TO 介质名 
  其中介质名一般指定为介质的绝对路径,在 AIX 中不回转的磁带机设备名为 /dev/rmt0,回转的磁带机设备名为 /dev/rmt0.n 。也可将数据备份在硬盘上,介质名即为其绝对路径。BACKUP命令在指定的介质上生成一个或多个备份文件,以下显示了在 AIX 4.3 for RS/6000 上生成的文件名结构: 

  以下是 BACKUP 命令的一些例子: 
  (1)此例子是在指定的服务器目录 /backup/mydb 下给 mydb 数据库创建一个完整的备份: 
  BACKUP DATABASE mydb TO /backup/mydb 
  (2)此例子是给 mydb 数据库中指定的表空间 myspace1 进行联机备份,在进行备份时,应用可继续更新数据库: 
  BACKUP DATABASE mydb TABLESPACE myspace1 ONLINE TO /backup/mydb 

  表一 数据库能否进行向前恢复带来的影响 
  如果不允许进行向前恢复如果允许进行向前恢复 
  在发生失败后,可以把数据库恢复到失败前与最后一次事务一致的状态。 

  同样,也支持恢复到与最后一次事务一致的状态。 

  可以把数据库恢复到任何有效的备份状态,但是不能重新执行发生在备份之后的事务。 

  可以把数据库恢复到任何有效的备份状态,并且可以重新执行从发生失败到当前为止提交的事务。 

  只能在没有任何应用连接到数据库时进行备份(这称为脱机备份)。 

  可以在应用连接到数据库时和事务正在处理时进行备份(这称为联机备份)。同样支持脱机备份。 

  每一个备份都必须包含整个数据库的当前状态。 

  一个备份可能包含整个数据库的当前状态,或者是一个或多个表空间。数据库的表空间可以单独地备份和恢复。 

  二、DB2数据库的恢复 

  DB2数据库提供了三种恢复类型: 

  1、崩溃恢复(crash recovery):崩溃恢复是用来在失败后立即进行恢复,把数据库恢复到一个事务一致状态,此状态的所有更改只有在执行提交事务后才生效。崩溃恢复使用命令 RESTART 执行。 

  2、备份恢复(restore recovery):备份恢复可从上一次所作的备份中恢复数据库的内容。备份恢复使用 RESTORE 命令执行。 

  3、向前恢复(forward recovery):在一个数据库从备份中恢复了以后,向前恢复可以重新执行那些在备份后才更改了数据库的操作。在这种情况下,数据库可以恢复到备份和当前时间之间的任何时间断。向前恢复使用 ROLLFORWORD 命令执行。 

  崩溃恢复和备份恢复对任何数据库都适用,而向前恢复只有在数据库被指定可以使用此功能是才使用。表一显示了此功能带来的影响。 

  表一 数据库能否进行向前恢复带来的影响 

  如果不允许进行向前恢复 如果允许进行向前恢复 
  在发生失败后,可以把数据库恢复到失败前与最后一次事务一致的状态。 
  同样,也支持恢复到与最后一次事务一致的状态。 
 
  可以把数据库恢复到任何有效的备份状态,但是不能重新执行发生在备份之后的事务。 
  可以把数据库恢复到任何有效的备份状态,并且可以重新执行从发生失败到当前为止提交的事务。 
 
  只能在没有任何应用连接到数据库时进行备份(这称为脱机备份)。 
  可以在应用连接到数据库时和事务正在处理时进行备份(这称为联机备份)。同样支持脱机备份。 
 
  每一个备份都必须包含整个数据库的当前状态。 
  一个备份可能包含整个数据库的当前状态,或者是一个或多个表空间。数据库的表空间可以单独地备份和恢复。 
 

  可以通过把数据库配置参数 LOGRETAIN 或 USEREXIT 设置为 YES 来使向前恢复生效。日志会由于生成新的文件而不断增加,并且它们是无限制的。在这种情况下,必须采取一些办法把旧的日志文件保存到文档中,以防止文件系统被日志占满。 

  1、RESTART 命令 

  此命令是当一些操作还在处理时发生断电或软件崩溃后要发出的第一个命令。它建立一个数据库的连接,并使用日志来把数据库恢复到事务一致状态。所有在失败发生前由提交操作所引起的数据库更改都会生效。所有在失败前被撤消的操作和失败时正在处理的事务对数据库进行的更改都被撤消。 

  下面是 RESTART 命令的例子: 

  RESTART DATABASE mydb 

  2、RESTORE 命令 

  此命令使用存储在备份中的内容来恢复数据库的内容。RESTORE 命令可以创建一个新的数据库。RESTORE 命令需要 SYSADM,SYSCTRL或SYSMAINT特权。RESTORE 命令要使用的备份可能包含整个数据库或一组表空间。恢复整个数据库必须脱机进行,恢复表空间可以联机进行,也就是在还有应用连接到数据库时进行。RESTORE 命令语法为: 

  RESTORE DB 目标数据库别名 [TABLESPACE 表空间名] [FROM 介质名] [TAKEN AT 时间] 

  下面是一些 RESTORE 命令的例子: 

  (1)从一个特定目录(/backup/mydb)中的备份来恢复 mydb 数据库。如果 mydb 不能够进行向前恢复,数据库将被恢复到备份时的状态,而且可以立即使用。如果能够进行向前恢复,数据库会被置为向前挂起(pending)状态,直到它被执行向前恢复命令之后才能被使用。 

  RESTORE DATABASE mydb FROM /backup/mydb 

  (2)下面的命令是对数据库 mydb 进行恢复,并且在外部指定不进行向前恢复,数据库可以被立即使用。 

  RESTORE DATABASE mydb FROM /backup/mydb WITHOUT ROLLING FORWARD 

  (3)下面的例子是从一个指定的目录(/backup/mydb)中来恢复 mydb 数据库的一个指定的表空间,此恢复要使用指定的日期和时间: 

  RESTORE DATABASE mydb TABLESPACE ONLINE FROM /backup/mydb TAKEN AT 20000926201226 

  3、ROLLFORWARD 命令 

  ROLLFORWARD 命令是在执行了一个 RESTORE 命令之后执行的,以便对数据库或它的表空间进行向前恢复。ROLLFORWARD 命令需要SYSADM,SYSCTRL 或 SYSMAINT 特权,并且数据库必须能够进行向前恢复。 

  ROLLFORWARD 命令可以适用于整个数据库或是一个或多个表空间,它们的状态此时都是向前挂起(pending)的。如果向前恢复整个数据库,此过程必须是脱机的,而且数据库可以被恢复成备份时间和当前时间之中的任何时间段。如果只向前恢复单独的表空间,此过程既可以是联机的也可以是脱机的,但是必须把表空间向前恢复到当前时间后,再重新执行所有引起更改的提交操作,这样可保证被恢复的表空间和数据库中的其它部分保持一致。ROLLFORWARD 命令语法为: 

  ROLLFORWARD DATABASE 数据库名 [TO {时间,END OF LOGS}][TABLESPACE {ONLINE,表空间名}] 

  下面是一些 ROLLFORWARD 命令的例子: 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 创建一个空的IBM DB2 ECO数据库的方法
  • IBM DB2 Connect简介(1)
  • IBM DB2 日常维护汇总(一)
  • IBM DB2 日常维护汇总(二)
  • IBM DB2 日常维护汇总(三)
  • IBM DB2 日常维护汇总(四)
  • IBM DB2 日常维护汇总(五)
  • IBM DB2 日常维护汇总(六)
  • IBM DB2 日常维护汇总(七)
  • IBM DB2 日常维护汇总(八)

相关文章

  • 2017-06-28关于IBM DB2数据库的使用小技巧小结
  • 2017-05-11DB2如何查看当前用户模式及切换用户
  • 2017-06-28针对基础设计、性能和可管理性的DB2最佳实践
  • 2017-06-28DB2 认证考试准备教程
  • 2017-06-28IBM DB2事件监视器及explain plan的使用
  • 2017-06-28打造更强的 Java 支持
  • 2017-06-28使用 DB2 V9.1 for z/OS 实现应用程序会话锁定
  • 2017-06-28使用 IBM DB2 pureXML 和 ASP.NET 开发一个商店定位器应用程序
  • 2017-05-11DB2常用傻瓜问题1000问(二)第1/2页
  • 2017-06-28在 DB2 中管理 XML Schema,第 1 部分: 管理 XML Schema 并验证 XML 数据

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • DB2 Express-C 9 DBA 和开发人员实验教程,快速实验 13,14:SQL/XML 和 Xquery
    • DB2在aix上的安装
    • 神秘的 SIX 锁,第 1 部分
    • 使用DB2look实用程序重新创建优化器访问计划(4)
    • 在DB2中提高INSERT性能的技巧(1)
    • 讲解DB2数据库文件系统已满的解决方法
    • 使用 Apache 的 POI 和 HSSF 将 Excel 电子表格数据加载到 DB2
    • 图解在Windows 和 AIX 上卸载 DB2
    • 使用DB2look重新创建优化器访问计划(9)
    • 讲解DB2 V9.5工作负载管理之定义服务类

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有