打开模式检查时,目录服务器可确保所有导入、添加和修改操作都符合当前定义的目录模式。
每个条目的对象类和属性都符合模式。
条目包含其所有已定义的对象类的所有必需属性。
条目只包含其对象类所允许的属性。
修改条目时,目录服务器将对整个条目(而不仅仅是要修改的属性)执行模式检查。因此,如果条目中的任何对象类或属性不符合模式,操作都可能会失败。
但是,模式检查不会验证属性值在语法方面的有效性。
默认情况下将打开模式检查。通常都在打开模式检查的情况下运行目录服务器。许多客户端应用程序都假定,打开模式检查即表明所有条目都符合模式。但是,打开模式检查不会使目录服务器验证目录中的现有内容。保证所有目录内容都符合模式的唯一方法是,在添加任何条目或重新初始化所有条目之前打开模式检查。
在某些情况下可能需要关闭模式检查,例如,为了加快已知符合模式的 LDIF 文件的导入速度。但这样做存在风险,因为可能会导入不符合模式的条目。如果模式检查处于关闭状态,则不会检测到不符合模式的导入条目。
有关在复制环境中使用模式检查的详细信息,请参见复制目录模式。
当某个条目不符合模式时,可能无法搜索此条目,并且对此条目的修改操作可能会失败。请执行以下过程中的步骤来更正此问题。
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
为了避免日后需要解决模式遵循性问题,请在部署之前规划模式,以尽可能减少模式更改。有关详细信息,请参见《Sun Java System Directory Server Enterprise Edition 6.1 Deployment Planning Guide》。