分类: 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。