硬件级备份:用冗余的硬件来保证系统的连续运行,比如双机容错、硬盘镜像等方式。如果主硬件损坏,后备硬件能够立刻接替其工作。
软件级备份:将系统数据保存到其他可以移动的介质上,如磁带、软盘、光盘等。当系统出现故障后,可以将系统恢复到备份时的状态。本文主要讨论的是数据库的软件级备份。
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
表一 数据库能否进行向前恢复带来的影响
如果不允许进行向前恢复 如果允许进行向前恢复
在发生失败后,可以把数据库恢复到失败前与最后一次事务一致的状态。
同样,也支持恢复到与最后一次事务一致的状态。
可以把数据库恢复到任何有效的备份状态,但是不能重新执行发生在备份之后的事务。
可以把数据库恢复到任何有效的备份状态,并且可以重新执行从发生失败到当前为止提交的事务。
只能在没有任何应用连接到数据库时进行备份(这称为脱机备份)。
可以在应用连接到数据库时和事务正在处理时进行备份(这称为联机备份)。同样支持脱机备份。
每一个备份都必须包含整个数据库的当前状态。
一个备份可能包含整个数据库的当前状态,或者是一个或多个表空间。数据库的表空间可以单独地备份和恢复。