随着银行业的不断发展壮大,计算机网络和数据库的应用越来越广泛,其中数据库,特别是大型数据库的安全问题,已得到广大广大数据库管理员的重视。为了防止数据的意外丢失或损坏,必须对数据采取有效的备份手段。
所谓数据备份,就是保留一套备用系统,当运行系统出现故障时,能够以最小的时间恢复原来的数据。数据库的备份,可以是整个数据库的拷贝,也可以是其中一部分数据的拷贝(一个或多个表空间)。数据备份一般有两个层次:
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
表一 数据库能否进行向前恢复带来的影响
如果不允许进行向前恢复 |
如果允许进行向前恢复 |
在发生失败后,可以把数据库恢复到失败前与最后一次事务一致的状态。
|
同样,也支持恢复到与最后一次事务一致的状态。
|
可以把数据库恢复到任何有效的备份状态,但是不能重新执行发生在备份之后的事务。
|
可以把数据库恢复到任何有效的备份状态,并且可以重新执行从发生失败到当前为止提交的事务。
|
只能在没有任何应用连接到数据库时进行备份(这称为脱机备份)。
|
可以在应用连接到数据库时和事务正在处理时进行备份(这称为联机备份)。同样支持脱机备份。
|
每一个备份都必须包含整个数据库的当前状态。
|
一个备份可能包含整个数据库的当前状态,或者是一个或多个表空间。数据库的表空间可以单独地备份和恢复。
|