15.4. 在实例离线时初始化消费者
如果您有大型数据库或许多用户,请考虑使用命令行使用离线初始化。这个过程涉及从供应商服务器导出数据,并将此数据导入到消费者服务器。
先决条件
- 
						您可以在供应商和消费者服务器上为 
dc=example,dc=com后缀启用复制。 - 您在供应商和消费者服务器之间创建了复制协议。
 
流程
在供应商服务器上执行以下步骤:
关闭供应商中的实例:
dsctl <supplier_instance_name> stop
# dsctl <supplier_instance_name> stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用复制信息导出包含复制到
/var/lib/dirsrv/slapd- <supplier_instance_name> /ldif/example.ldif文件的userRoot数据库:dsctl <supplier_instance_name> db2ldif userRoot /var/lib/dirsrv/slapd-<supplier_instance_name>/ldif/example.ldif
# dsctl <supplier_instance_name> db2ldif userRoot /var/lib/dirsrv/slapd-<supplier_instance_name>/ldif/example.ldifCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在供应商中启动实例:
dsctl <supplier_instance_name> start
# dsctl <supplier_instance_name> startCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
在消费者服务器上,执行以下步骤:
关闭消费者中的实例:
dsctl <consumer_instance_name> stop
# dsctl <consumer_instance_name> stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 
								将导出的 
example.ldif文件复制到消费者上的/var/lib/dirsrv/slapd- <consumer_instance_name> /ldif/目录中。 - 
								从 
/var/lib/dirsrv/slapd- <consumer_instance_name> /ldif/example.ldif文件中导入userRoot数据库。有关如何使用dsctl ldif2db命令导入数据的更多信息,请参阅 在服务器离线时使用命令行 导入数据。 在消费者中启动实例:
dsctl <consumer_instance_name> start
# dsctl <consumer_instance_name> startCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
验证
显示协议状态:
dsconf <supplier_instance_name> repl-agmt init-status --suffix "dc=example,dc=com" <supplier_consumer_agreement_name>
# dsconf <supplier_instance_name> repl-agmt init-status --suffix "dc=example,dc=com" <supplier_consumer_agreement_name> Agreement successfully initialized.Copy to Clipboard Copied! Toggle word wrap Toggle overflow