如果打算跳级升级,请确保查阅以下各节中的升级说明。Identity Manager 后续版本的升级说明也适用于您的升级。
从 7.1.1 版开始,Identity Manager 用户扩展属性完全支持多值属性。(ID-14863)
将多值用户扩展属性添加到帐户列表中,可以正确无误地呈现列表。但是,尝试在该列上进行排序将导致以下错误:
java.lang.ClassCastException: java.util.ArrayList
只有在重新序列化用户对象之后,引用多值扩展属性的属性条件才能针对该用户对象作出正确评估。如果希望这样的属性条件能够针对所有用户对象作出正确评估,则必须重新序列化所有用户对象。有关说明,请参见下一节中的“刷新用户对象”。
某些类型的更改要求管理员刷新所有用户对象。例如,在更改 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’ 的属性。
在编辑系统配置对象后,必须将该对象导入到系统信息库中,以使更改生效。
缺点:此方法会导致下一次运行延迟任务扫描程序时花费的时间较长,因为需要检查并重写几乎每个用户对象。但此后再运行延迟任务扫描程序时,将恢复正常的速度和持续时间。