如果启用索引页日志记录,索引会自动复制到 HDR 辅助数据库服务器上(请参阅
索引页日志记录)。
如果禁用索引页日志记录,并且 HDR 辅助数据库服务器上的索引已损坏而必须重建,那么您可以使用以下两种方法之一:
- 手动地将索引从主服务器复制到辅助服务器中。
- 使辅助服务器自动复制索引(如果您使辅助服务器能够执行此操作)。
要使辅助数据库服务器能够自动复制索引,请执行以下操作之一:
- 将 onmode -d idxauto 设置为 on
。
- 将 DRIDXAUTO 配置参数的值设置为 1
。
在您设置这些值的任意一个之后,当辅助数据库服务器上的某个线程检测到损坏的索引时,索引将自动复制到辅助数据库服务器中。重新启动索引复制可能需要 DRTIMEOUT 配置参数中指定的时间(以秒计)。
有时,您可能希望手动复制索引,例如:当由于表被锁定您因此希望延迟索引修复时。如果您希望能够在 HDR 辅助服务器上手动复制索引,那么关闭自动复制功能。
要关闭自动索引复制功能,请执行以下操作之一:
- 将 onmode -d idxauto 设置为 off
。
- 将 DRIDXAUTO 配置参数设置为 0
。
如果 onmode -d idxauto 设置为 off 或 DRIDXAUTO 设置为 0,并且辅助服务器检测到损坏的索引,那么可以通过发出以下格式的 onmode -d index 命令在 HDR 辅助服务器上手动复制索引:onmode -d index database:[ownername].table#index
例如:onmode -d index cash_db:user_dx.table_12#index_z
如果分段索引具有一个损坏分段,那么
onmode -d idxauto 选项只会转移单个受影响的分段,而
onmode -d index 选项将会转移整个索引。
重要: 当打开或关闭自动索引复制功能时,您可以 onmode 命令或 DRIDXAUTO 配置参数。如果使用 onmode 命令,那么无需停止并重新启动数据库服务器。当您使用 DRIDXAUTO 参数时,数据库服务器将使用您指定的设置重新启动。onmode 命令不会更改 DRIDXAUTO 值。如果您使用 onmode 命令,那么您必须手动更改 DRIDXAUTO 的值。
辅助服务器生成的 online.log 文件包含有关所有已复制索引的信息。