某些类型的更改要求管理员刷新所有用户对象。例如,在更改 RepositoryConfiguration 中的 Type.USER 的内联属性时,必须刷新所有用户对象。只要将 IDMSchemaConfiguration 对象中的属性标记为 "queryable" 或 "summary",就必须刷新所有用户对象,以使更改影响未修改的旧对象。这同样适用于以下情况:如果新版本的 Identity Manager 添加了一个新属性,或者新版本的 Identity Manager 更改了现有属性的值,则升级过程或管理员必须刷新所有用户对象,以使更改影响未修改的旧对象。
对现有用户进行重新序列化有以下三种方法:
在正常运行过程中修改单个用户对象。
例如,通过用户界面打开一个用户帐户,修改后(或不做修改)保存该帐户。
缺点:此方法比较耗时,并且管理员必须小心,以确保重新序列化所有现有的用户。
使用 lh refreshType 实用程序重新序列化所有用户。refreshType 实用程序的输出是一个刷新的用户列表。
lh console
refreshType User
缺点:因为 refreshType 实用程序是在前台而不是后台运行,此过程可能比较耗时。如果用户很多,则重新序列化所有用户会花费很长时间。
使用延迟任务扫描程序。
在运行延迟任务扫描程序进程之前,必须使用 Sun Identity Manager 集成开发环境 (IDE) 或某些其他方法编辑系统配置对象。
搜索 ’refreshOfType’ 并删除 ’2005Q4M3refreshOfTypeUserIsComplete’ 和 ’2005Q4M3refreshOfTypeUserUpperBound’ 的属性。
在编辑系统配置对象后,必须将该对象导入到系统信息库中,以使更改生效。
缺点:此方法会导致下一次运行延迟任务扫描程序时花费的时间较长,因为需要检查并重写几乎每个用户对象。但此后再运行延迟任务扫描程序时,将恢复正常的速度和持续时间。