Sun Java System Directory Server Enterprise Edition 6.2 管理指南

解决命名冲突

如果在服务器相互复制更改之前创建具有相同 DN 的条目,则可能会在不同的主服务器上创建这些条目。在复制时,冲突解决机制将自动对所创建的第二个条目进行重命名。

存在 DN 命名冲突的条目将通过以下方式进行重命名:在该条目的 DN 中包含其唯一标识符(由操作属性 nsuniqueid 提供)。

例如,如果在两个主服务器上同时创建条目 uid=bjensen,ou=People,dc=example,dc=com,则复制之后这两个主服务器上都将具有以下两个条目:

必须为第二个条目提供有用的 DN。您可以删除冲突的条目,然后使用不冲突的名称再次添加该条目。但是,重命名条目将确保其内容不会发生更改。重命名过程取决于命名属性是单值属性还是多值属性。请参见以下过程。

Procedure对包含多值命名属性的冲突条目进行重命名

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 在保留旧 RDN 值的同时重命名条目,例如:


    $ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: nsuniqueid=66446001-1dd211b2-66225011-2ee211db+uid=bjensen,dc=example,dc=com
    changetype: modrdn
    newrdn: uid=bj66446001
    deleteoldrdn: 0
    ^D

    您无法在此步骤中删除旧 RDN 值,因为它还包含无法删除的 nsuniqueid 操作属性。

  2. 删除命名属性的旧 RDN 值和冲突标记属性,例如:


    $ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: uid=bj66446001,dc=example,dc=com
    changetype: modify
    delete: uid
    uid: bjensen
    -
    delete: nsds5ReplConflict
    ^D

Procedure使用单值命名属性重命名冲突条目

如果重复条目中的命名属性是单值属性,例如 dc(domain component,域组件),则不能简单地将此条目重命名为同一属性的其他值。您必须为此条目提供一个临时名称。

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 使用其他命名属性对条目进行重命名,并保留旧的 RDN,例如:


    $ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: nsuniqueid=66446001-1dd211b2-66225011-2ee211db+dc=HR,dc=example,dc=com
    changetype: modrdn
    newrdn: o=TempHREntry
    deleteoldrdn: 0
    ^D

    您无法在此步骤中删除旧 RDN 值,因为它还包含无法删除的 nsuniqueid 操作属性。

  2. 将所需的命名属性更改为唯一的值,并删除冲突标记属性,例如:


    $ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: o=TempHREntry,dc=example,dc=com
    changetype: modify
    replace: dc
    dc: NewHR
    delete: nsds5ReplConflict
    ^D
  3. 将条目重命名为预期的命名属性,例如:


    $ ldapmodify -h host2 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: dc=NewHR,dc=example,dc=com
    changetype: modrdn
    newrdn: dc=HR
    deleteoldrdn: 1
    ^D

    通过将 deleteoldrdn 属性值设置为 1,删除临时属性值对 o=TempHREntry。如果要保留此属性,请将 deleteoldrdn 属性值设置为 0