分类: DB2/Informix
2008-05-31 17:28:10
HDR:启动和管理
本节讨论与 HDR 的启动和管理相关的以下主题:
为了创建 HDR 服务器对,必须在主服务器上生成一个存档文件,然后在从服务器上恢复它。采用的步骤如下:
| 步骤 | 在主服务器上 | 在从服务器上 |
|---|---|---|
| 1 | 安装 UDR、UDT 和 DataBlade 模块。注册 UDR、UDT 和 DataBlade 模块。 | 安装 UDR、UDT 和 DataBlade 模块。 |
| 2 | ontape -s -L 0,或 onbar -b -L 0,或执行外部备份 | |
| 3 | onmode -d primary sec_name | |
| 4 | ontape -p,或 ontape -r -p -e,或 onbar -r,或 onbar -r -p -e | |
| 5 | onmode -d secondary prim_name | |
| 6 | ontape -l,或 onbar -r -l |
下面详细描述这 6 个步骤:
onmode -d primary sec_name
|
sec_name 替换为作为从服务器的 IDS 系统的 DBSERVERNAME。执行这个命令之后,检查消息日志文件。它应该包含以下消息:DR: new type = primary, server name = sec_name
DR: Cannot connect to secondary server
|
onbar,那么使用 onbar -r -p 命令执行物理恢复
onbar 并执行外部恢复,那么使用 onbar -r -p -e 命令执行物理恢复
ontape,那么使用 ontape -p 选项。不能使用 ontape -r 选项,因为它同时执行物理恢复和逻辑恢复
ontape 并执行外部恢复,那么使用 ontape -p -e 命令执行物理恢复 onmode -d secondary pri_name
|
pri_name 替换为作为主服务器的系统的 DBSERVERNAME。执行这个命令之后,检查消息日志文件。它应该包含以下消息:DR: new type = secondary, primary server name = prim_name
|
在 HDR 服务器对中,改变一个服务器的模式就会影响另一个服务器的模式。本节讨论每个服务器上可能产生的影响:
onmode -k 会有以下效果:
DR: Receive error. HDR is turned off.
DRAUTO = 0,那么从服务器仍然处于只读模式
DRAUTO = 1,那么从服务器切换到标准服务器模式,可以接受更新
DRAUTO = 2,那么一旦与原来的主服务器的连接中断,从服务器就切换为主服务器模式 onmode -s、onmode -u 或 onmode -j 分别将模式切换为在线、静默(quiescent)或管理,就会产生以下效果:
onmode -k 会产生以下效果:
DR: Receive error. HDR is turned off. 可以改变主服务器或从服务器的类型。
只有在从服务器上关闭了 HDR 时,才能将从服务器改为标准服务器(onmode -d standard)。当到主服务器的复制连接中断,或者从服务器上的复制失败时,HDR 就会关闭。在将从服务器切换为标准服务器后,它不会尝试连接复制服务器对中的另一个服务器。
使用以下脚本切换服务器类型:hdrmksec.[sh|bat] 和 hdrmkpri.[sh|bat] 脚本。
有时候,主服务器和从服务器上的索引可能会不一致。老的修复方法是删除索引并重建它。这个过程要锁定整个表,而且需要花费相当长的时间。现在可以采用另一种方法 —— 可以将索引从主服务器复制到从服务器,而不必在主服务器上重建索引。可以选择手工重建索引,或者让从服务器自动复制索引。
为了将索引自动复制到从服务器,必须执行以下步骤:
onmode -d idxauto on,这在下一次服务器切换之前会一直生效
DRIDXAUTO 配置参数设置为 1,这不受服务器切换的影响 有时候索引的自动复制不起作用,比如在表被锁定时。为了将索引手工复制到 HDR 从服务器,需要关闭自动复制特性并运行以下命令:
onmode -d index database:[ownername].table#index
|
如果您以前没有设置过 HDR,现在就来实践一下前面讨论的操作。
练习 1:在两个服务器上设置一个 HDR 对。创建 stores 7 数据库的两个拷贝 —— 一个启用日志,一个不启用。可以使用以下命令创建这两个数据库:
dbaccessdemo7 stores7_log -log
dbaccessdemo7 stores7_nolog 在从服务器上检查这两个数据库。对于启用日志和不启用日志的数据库,会有什么不同吗?
练习 2:使用每个实例的相对路径在同一台服务器上设置 HDR 对。
练习 1:这个练习的目标是帮助您熟悉 HDR 的设置,了解 HDR 的效果并理解它的工作方式。应该会看到,从服务器上的 'stores7_log' 数据库与主服务器上相同 —— 数据库已经创建,所有表都存在,所有行也都存在。它们是完全相同的拷贝。对于不启用日志的数据库,您会发现数据库和表也已经创建,但是没有 复制行。这是因为 HDR 只复制逻辑日志中的内容。对于不启用日志的数据库,只有 DDL(Data Definition Language)语句被写入逻辑日志中。
练习 2:这个练习的目标是帮助您熟悉用相对路径在同一台服务器上启用 HDR。