如何综合掌握 DB2 和 Informix
2007-10-01 22:15:20 来源:WEB开发网- ·在Windows中使用Cygwin环境下的gcc编
·Informix入门之---SQL函数整理
·Informix-SPL(过程)语法详解
·我找到的INFORMIX 培训教材
·Informix SQL语句详解(1)
·Informix 高级培训教材(三)
·INFORMIX ONLINE 7.x for sco 安装步
·Informix7.30的安装及管理
·使用 Informix 系统目录(1)
·INFORMIX SQL技巧
备份和恢复
DB2 中的备份是一个数据库以及控制信息的副本,可以用于恢复错误事件。数据库备份可以最小化数据的损失并使您能够使用恢复进程从备份副本中重新构建错误的数据库。IDS 中的备份复制了一个或多个 dbspace、blobspace、spspace 和 Informix 实例的逻辑日志和物理日志。在 DB2 中使用 BACKUP
命令进行数据库备份:
BACKUP DATABASE sample ONLINE TO /dev/rdir1, /dev/rdir2 |
在 IDS 中,有两种名为 ontape 和 onbar 的实用工具。
ontape 实用工具是 Informix 备份和恢复实用工具的较老版本,后者被设计为和两个本地连接备份设备一起使用(一个用于实例备份,另一个用于逻辑日志备份)。从 IDS v10 开始,ontape 操作可以被定向到标准输入或标准输出设备( “standard in” 或 “standard out”,STDIO),因此为很多选项提供了支持。
onbar 备份实用工具有两个组件:onbar API 和存储管理器。Onbar API 是由 X/Open Organization 定义的 Open Systems Backup Services Data Movement (XBSA) API 客户机组件的 Informix 实现。
ontape 实用工具可以串行化备份 dbspace,而 onbar 可以并行备份 dbspace。
图 10. IDS 中的备份实用工具
日志类型
- 活动日志:只要满足下列两个条件中的任意一个,则可认为日志是活动的:
- 该日志包含该日志包含没有提交或回滚的事务
- 该日志包含已提交但尚未刷新到数据库磁盘(外部化)的事务。
- 联机归档日志; 这些日志包含已提交并外部化的事务的信息。和活动日志位于同一目录。
- 脱机归档日志: 归档日志从活动日志所在目录移动到其他目录或媒体中即为脱机归档日志。可以手工或自动进行移动。
除了上面讨论的日志,IDS 还把日志分类为逻辑日志和物理日志。可是使用 DB2 中的 LOGPrima(最完善的虚拟主机管理系统)RY 和 LOGSECONDARY 数据库配置参数定义日志文件的数量。在 IDS 中,可以通过设置配置参数 LOGFILES 完成此操作。和 DB2 中的 LOGSECONDARY 相似,IDS 提供了动态记录日志选项。可以通过设置配置参数 DYNAMIC_LOGS 启用该选择。要了解更多关于日志类型的内容,请参考 参考资料 一节中的 DB2 和 IDS 信息中心。
日志机制
IDS 和 DB2 具有相似的日志机制。下面将简要介绍这两种类型的机制:- 循环日志: 循环日志是 DB2 的默认日志模式。正如其名字所暗示的一样,这种类型的日志可以以循环模式重用日志。例如,如果具有 4 种主要日志,将按照这样的顺序使用:Log #1、Log #2、Log #3、Log #4、Log #1、Log #2 等等。只要日志中包含关于已经提交并外部化到数据库磁盘上的事务的信息,就可以以循环日志的形式重用该日志。换而言之,如果日志仍然是活动日志,那么就不能重用该日志。
在 IDS 中,始终以循环的方式使用逻辑文件。然而,可以对这些逻辑文件进行备份以用于日后恢复。可以将逻辑文件备份到 LTAPEDEV 配置参数中说明的路径。
- 归档日志: 当使用归档日志时,将对日志进行归档(保留)操作。然而在循环日志中将改写被提交和外部化的事务,以及为它们保留的归档日志。例如,如果具有 4 个主要日志,可能按这样的顺序使用:Log #1、Log #2、Log #3、Log #4、(如果 Log #1 的所有事务都被提交并外部化,那么将对 Log #1 归档)、Log #5、(如果 Log #2 的所有事务都被提交并外部化,那么将对 Log #2 归档)、Log #6 等等。通过将数据库配置参数 LOGRETAIN 设置为 ON 可启用归档日志。
IDS 将日志文件归档到包内,配置参数 LTAPEDEV 为之指定一个有效的路径或设备。如果该参数值为空,则表示日志没有被归档。
备份机制
现在了解一下 DB2 和 IDS 中不同类型的备份机制。
- 离线备份: 离线备份是 DB2 9 和 IDS 中最简单的一种备份形式。如果使用离线备份,当数据库离线时,将对整个数据库备份。换而言之,在离线备份期间,不允许用户访问数据库。在 IDS 的离线备份中,数据库服务器切换到 Quiescent 模式。在此模式下,用户不能够访问数据库服务器。下面给出了在 DB2 中进行离线备份,以及在 IDS 中的 Quiescent 模式下备份的例子:
In DB2(windows)backup database sample to c:\backupIn IDS ontape -s -L 0 (Level 0 backup)onbar -b -L 0
- 在线备份: 即使应用程序和数据库处于连接状态,也可进行在线备份。为了实现在线备份,在 DB2 中必须启用归档日志。在 IDS 中,即使在循环日志机制下,对在线备份也没有严格的要求。除了对数据库备份外,在 DB2 中还可进行表空间级的备份,在 IDS 中可以进行 dbspace 备份。在 IDS 中,对整个数据库进行备份被称为 0 级备份,而在 DB2 中称为完全备份。在 DB2 中,完全备份应该是一个离线备份。而在 IDS 中,甚至在在线状态下也可进行 0 级备份。
In DB2 backup database sample tablespace( syscatspace, userspace1,
userspace2 ) online to /db2tbsp/backup1, /db2tbsp/backup2In IDs onbar -b rootdbs, userdbs1, userdbs5 - 增量备份: DB2 和 IDS 都支持增量备份。增量备份就是对最近一次数据库全备份以来所有修改了的数据进行备份。在 IDS 中,增量备份又被称作 1 级备份。
图 11. 增量备份
In DB2(Sun) backup db mydb from c:\backup(Mon) backup db mydb online incremental from c:\backup(Tue) backup db mydb online incremental from c:\backupIn IDS ontape -s -L 1 (Level 1 backup)onbar -b -L 1
- Delta 备份: Delta 备份是对最近一次成功的备份(包括全备份、增量备份和 delta 备份)以来被修改了的数据的备份。delta 备份也被称为 2 级备份。
Figure 12. Delta 备份
In DB2(Sun) backup db mydb from c:\backup(Mon) backup db mydb online incremental delta from c:\backup(Tue) backup db mydb online incremental delta from c:\backupIn IDS ontape -s -L 2 (Level 2 backup)onbar -b -L 2
数据库恢复
在 DB2 中,可以使用恢复实用工具进行数据库恢复。在 IDS 中,可以使用 ontape 或 onbar 实用工具以及 -r 选项。恢复实用工具使用一个备份文件作为输入,并使用一个新的或现有的数据库作为输出。在 DB2 和 IDS 中,可以对完整的数据库进行恢复,也可以对表空间(在 IDS 中为 dbspace )进行恢复。在 IDS 中,可以恢复 dbspace、物理日志和逻辑日志。要省略从备份中恢复的逻辑文件,需要使用 -p 选项。如果只对逻辑文件进行恢复,需要使用 -l 选项。IDS 和 DB2 都允许增量恢复。
下面给出了完全恢复、增量恢复、表级和 dbspace 级恢复的例子。
完全恢复
In DB2restore database sample from c:\backup taken at 20060314131259 without rolling forward without promptingIn IDSontape -r onbar -r |
增量恢复
In DB2restore database mydb incremental taken at 20060414131259In IDS In case of ontape, it would prompt the user to insert any |
表空间和 dbspace 级恢复
In DB2restore database sample tablespace( mytblspace1 ) online from /db2tbsp/backup1, /db2tbsp/backup2In IDSOnbar -r userdbs1, userdbs5 |
数据库前滚
前滚
命令允许指定时间点(point-in-time)恢复。这意味着该命令可以使您遍历 DB2 日志,并且可以重做/取消日志中记录的操作,从而恢复到特定的时间点。在 IDS 中要做到这一点,可通过使用 -p 选项只对 dbspace 和物理日志进行恢复。然后再使用 -l 选项进行其他恢复。注意这些操作需要按照一定顺序进行。如果使用 onbar 实用工具,可以回滚到某个时间点或任何一个特定的日志。在 IDS 中,onbar 实用程序支持指定时间点回滚恢复和指定日志恢复。
In DB2rollforward database sample to end of logs and completerollforward database sample to timestamp and complete rollforward database sample to timestamp using local time and complete In IDSonbar -r -t time onbar -r -l logid |
更多精彩
赞助商链接