Chinaunix首页 | 论坛 | 博客
  • 博客访问: 432634
  • 博文数量: 239
  • 博客积分: 8010
  • 博客等级: 中将
  • 技术积分: 2431
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-02 21:12
文章分类
文章存档

2008年(239)

我的朋友

分类:

2008-06-17 22:35:52

数据库系统

DB2数据库可以使用日志的非归档和归档模式。由于一个表空间只属于一个数据库,并且数据库使用几个系统文件,记录单个日志文件中更新操作所涉及到的表空间,从而使数据库系统的备份和恢复,可以基于单个的表空间进行。

 

1. 数据库备份

 

DB2系统采用单实例多数据库结构,数据库和数据库之间互相独立。备份操作基于单个数据库、在数据库管理器的运行环境中进行。

DB2数据库进行备份,可以使用联机和脱机备份,也可以使用完整和部分备份,所有的备份操作通过命令backup database完成。数据库的日志归档模式,决定了可以采用的备份方式。

缺省情况下,数据库备份使用脱机备份,要求所有的用户断开和数据库的连接。可以使用force application all命令,强制断开所有用户和数据库的连接。要使用联机备份,需要在备份命令中指定online选项。

如果没有在备份命令中明确指定,备份操作就基于整个数据库进行。要执行部分备份,必须在备份命令中指定相关选项。DB2系统支持两种类型的部分备份。增量备份有两种处理方式:incrementaldelta。在incremental方式下,将对上一次完整备份之后发生改变的所有数据进行备份。而使用delta方式,是备份上一次备份(可以是完整备份,也可以是增量备份)之后的所有数据改变。DB2系统的部件备份,只能够在表空间的级别上实现,可以在命令中指定要备份的一个或者多个表空间。

 

2. 数据库恢复

 

用户要访问DB2数据库,首先要启动数据库管理器。然而在数据库管理器启动之后,所有数据库并不会被打开。数据库可以由管理员使用命令手工激活,也可以在收到用户数据访问请求后被自动激活。数据库在被激活时,系统会检查它的状态。如果数据库处于不一致状态,就自动执行崩溃恢复。

DB2系统有三种类型的恢复方式:崩溃恢复(crash recovery)、版本恢复(version recovery)、前滚恢复(rollforward recovery)。版本恢复和前滚恢复属于介质恢复,分别对应介质恢复的两个阶段。版本恢复使用数据库备份,通过命令restore database将数据库恢复到备份操作执行的那一时刻;前滚恢复使用日志信息,通过命令rollforward database将数据库恢复到故障发生的那一刻或者之前的任一时刻。

DB2数据库的介质恢复,要求在实例的运行环境中进行。数据库的日志归档模式,决定了恢复操作的处理步骤。

在日志的非归档模式下,只能使用数据库的一致性备份进行版本恢复。在恢复完成后就可以打开数据库。

而在日志的归档模式下,在版本恢复完成后,还需要使用日志文件进行前滚恢复,在此之后才可以打开数据库。在前滚恢复时,可以根据需要,指定使用全部还是部分日志文件,从而决定执行完整恢复还是不完整恢复。

此外,在数据库的日志归档模式下,还可以基于表空间进行数据库的部分恢复。这种部分恢复,可以在系统联机状态下进行,从而不会中断用户对其它数据的访问。

阅读(537) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~