第四节 数据备份和恢复
OnLine动态服务器7.1为数据库管理员提供一种联机的增量备份工具,在命令行时,数据库管理员可以用ontape来作数据备份和逻辑日志备份。还提供了一个具有交互界面和菜单驱动数据库 备份工具onarchive。
OnLine 动态服务器7.1提供的增量的数据备份,它分成三级,即0级 (Level 0)、1 级(Level 1)和2级(Level 2)。0级备份为数据库空间的全备份,1级备份是最近一次的0 级备份以来的被修改数据备份,2级备份为最近一次0级备份或1级备份以来被修改数据的备份。在连续的两次同一级备份中,后一个备份将备份前一个备份已经备份了的数据,例如昨天和今天都做2级备份,则今天的备份必然包含昨天备份的数据。一次在同一个时候,数据库管理员所保留的数据备份磁盘最多应为三 个,即0级备份带、1级备份带和2级备份带。一套完整系统备份还应该包括逻辑日志备份带。
1 建立数据备份
OnLine动态服务器7.1的命令行数据备份的方法使用ontape命令,数据备份的参数选项为-s,
$ ontape -s
这时数据库服务器会提示你将作哪一级的数据备份,你只需在键盘上输入0、1或2,然后按 回车即可。
2 恢复数据备份
OnLine 动态服务器7.1的数据恢复既可以在 offline 状态下进行也可以在 online 状态下进行。
OnLine动态服务器7.1采用ontape来恢复数据,在命令行状态下,数据恢复的选项参数为-r,
$ ontape -r
3 数据备份计划
有了一个良好的备份和恢复的工具以后,数据库管理员如何用好这个工具将是非常重要了。 能否用最少量的磁带、用最短的备份时间来保存最新的时间备份,其关键还在于数据备份的规划。
例如这样一个数据备份规划,每月的第一天作0级数据备份,每周的第一天作1级数据备份,每天作2级数据备份,当一天中同时需要作多个数据备份时,只做等级较低一级的数据备份。
第五节 数据储存实体镜象管理
数据储存块Chunk的镜像为数据库服务器系统的高可靠性和高可用性提供了必要的条件。数据储存块的镜像保证了数据库服务器系统在一部分数据磁盘或磁盘控制器故障的时候, 数据 不受损失和数据库服务器系统的继续运行。
1 为数据储存实体增加镜像实体
数据储存块Chunk的镜像必须首先在定义该实体所在的数据库空间Dbspace是镜像的,也就是说如果整个数据库空间Dbspace没有定义成镜像的话,那么组成这个Dbspace的数据存储块Chunk也就不能作镜像。
1.1 数据库空间首先被定义为镜像
这就需要在定义rootdbs和在增加Dbspace时将该Mirror定义成Y。那么对于那些在定义和在增加数据库空间Dbspace时没有定义Mirror为Y的情况怎样改成允许Mirror呢?这时需要数据库管理员首先将数据库服务器系统关闭,修改$ INFORMIXDIR/etc/onconfig中的MIRROR。当数据库服务器系统没有被定义为镜像的系统中,该项为0,而被定义为镜像的系统中,该项为1,因此对于那些需要 为没有定义成镜像的数据库服务器系统作数据库空间镜像时,数据库管理员必须首先将该项改成1。
1.2 构造镜像
启动onmonitor,选择Dbspace菜单中的Mirror项打开数据库服务器系统镜像的开关。再选择同一菜单中的Status选项,这里列出了所有的数据库空间的镜像情况,刚才增加镜像的数据库空间的状态为X,说明这个数据库空间Dbspace增加了新的镜像数据存储块。移动上下光标键,将选中项移到Mirror为X的行,按Ctrl-B,管理员可以看到原数据储存块的Status为PO,而刚才增加的镜像数据存储块的Status为MD,标识该镜像实体还没有激活。移动上下光标键,将选中项移到刚才增加的镜像数据存储块上,按Ctrl-B,这时数据库服务器系统自动进入recovery状态,在这个状态下,数据库服务器系统将完成将原数据存储块中信息拷贝到镜像数据存储块的操作。等到全部操作结束,数据库管理员完成了为一个数据库服务 器系统增加镜像的工作。
或者通过命令形式构造镜像。
$ onspaces -m spacename -p path -o offset -m path offset [-y]
2 恢复损坏的数据储存实体和镜像实体
当镜像中一对实体之一出现故障时,数据库服务器系统允许继续工作的,不必立即重构镜 像。数据库管理员在一个适宜时候对这对实体重构镜像。
恢复损坏的镜像,需要首先确认实体所对应的磁盘介质是否已经恢复。
当更换了实体对应的磁盘介质后,需要操作系统上重新定义这个磁盘介质。在一般情况下,用户所定义的数据储存实体和镜像实体的名字是逻辑的,因此只要重新将这个设备连接到原来的逻 辑名字即可。对于那些在数据库服务器系统中直接定义物理设备名为数据存储块的用户,则必须把新设备定义成原来损坏的设备名。
启动onmonitor,在 Dbspaces 菜单中选择Status项,这里列出了所有在数据库服务器系统中定义的数据库空间Dbspace 的状态,可以看到镜像损坏的数据库空间的Mirror项为M*。移动上下光 标键,将选中行移动改行 ,按Ctrl-B。这时管理员可以看到有损坏的数据存储块的 Status项为PD 或MD,前者表示原数据储存实体损坏, 而后者表示数据镜像实体损坏。
Press ESC to return to the Status Menu.
Move arrow keys to move the cursor
CHUNKS FOR account
Chunk Chunk Pages Pages Full Pathname of Chunk Status
id Offset In Chunk used
1 0 50000 25000 /usr/informix/workdbs1_primary PO
2 0 50000 50000 /usr/informix/workdbs1_mirror MD
---------------------------------------------------------------------------
移动上下光标键,将选中行移至损坏的数据存储块上(/usr/informix/workdbs1_mirror),按 Ctrl-B。这时数据库服务器系统自动进入recovery状态,Status为MR,在这个状态下,数据库服务器将完成这个数据库空间表的两个数据存储块的镜像重构的操作。完成这个操作后,数据存储块 /usr/informix/workdbs1_mirror的状态便从MR变成MO状态。
这样,数据库管理员完成了对损坏数据储存实体或数据镜像实体中数据的重构。