在升级或迁移 Identity Applications 后,请完成迁移过程。
在安装过程中,您可能已选择编写一个 SQL 文件来更新 Identity Applications 数据库。如果数据库在 Oracle 平台上运行,则您必须先执行一些步骤,然后才能运行该 SQL 文件。
在数据库中运行以下 SQL 语句:
ALTER TABLE DATABASECHANGELOG ADD ORDEREXECUTED INT; UPDATE DATABASECHANGELOG SET ORDEREXECUTED = -1; ALTER TABLE DATABASECHANGELOG MODIFY ORDEREXECUTED INT NOT NULL; ALTER TABLE DATABASECHANGELOG ADD EXECTYPE VARCHAR(10); UPDATE DATABASECHANGELOG SET EXECTYPE = 'EXECUTED'; ALTER TABLE DATABASECHANGELOG MODIFY EXECTYPE VARCHAR(10) NOT NULL;
运行以下 updateSQL 命令:
C:\NetIQ\idm\jre\bin\java -Xms256m -Xmx256m -Dwar.context.name=IDMProv - Ddriver.dn="cn=User Application Driver,cn=driverset1,o=system" - Duser.container="o=data" -jar C:\NetIQ\idm\jre\liquibase.jar -- databaseClass=liquibase.database.core.PostgresDatabase -- driver=org.postgresql.Driver -- classpath=C:\NetIQ\idm\apps\postgresql\postgresql-9.4.1212jdbc42.jar C:\NetIQ\idm\apps\UserApplication\IDMProv.war -- changeLogFile=DatabaseChangeLog.xml --url="jdbc:postgresql://localhost:5432/ idmuserappdb" --contexts="prov,newdb" --logLevel=info -- logFile=C:\NetIQ\idm\apps\UserApplication\db.out --username=******** -- password=******** update
在文本编辑器中,打开默认位于 /installation_path/userapp/sql 目录中的 SQL 文件。
在函数 CONCAT_BLOB 的定义后面插入一个反斜杠 (/)。例如
-- Changeset icfg-data-load.xml::700::IDMRBPM CREATE OR REPLACE FUNCTION CONCAT_BLOB(A IN BLOB, B IN BLOB) RETURN BLOB AS C BLOB; BEGIN DBMS_LOB.CREATETEMPORARY(C, TRUE); DBMS_LOB.APPEND(C, A); DBMS_LOB.APPEND(C, B); RETURN c; END; /
执行 SQL 文件。
有关运行 SQL 文件的详细信息,请参见手动创建数据库纲要。
注:请不要使用 SQL*Plus 来执行该 SQL 文件。该文件中的行长度超过了 4000 个字符。
登录到 Identity Applications 之前,您应先清理浏览器上的超速缓存。如果不清理超速缓存,您可能会遇到一些运行时错误。
如果您已自定义 SharedPagePortlet 的任何默认设置或首选项,则这些自定义已保存到数据库,并且此设置将被重写。因此,浏览到“身份自助服务”选项卡并不总是高亮显示正确的共享页面。为确保不遇到此问题,请完成以下步骤:
以 User Application 管理员身份登录。
浏览到管理 > Portlet 管理。
展开共享页面导航。
在左侧的 Portlet 树中,单击共享页面导航。
在页面的右侧,单击设置。
确保最大超时设置为 0。
单击“保存设置”。
默认情况下,目录提取层中“组”实体的“DNLookup 显示”处于启用状态。这意味着,每当为组指派打开对象选择器时,无需搜索就会按默认显示所有组。您应该更改此设置,因为用于搜索组的窗口在用户输入搜索内容之前不应显示任何结果。
您可以在 Designer 中取消选中执行自动查询来更改此设置,如下所示: