在升级或迁移 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 命令:
/opt/novell/idm/jre/bin/java -Xms256m -Xmx256m -Dwar.context.name=IDMProv -jar /opt/novell/idm/liquibase.jar --databaseClass=com.novell.soa.persist.liquibase.OracleUnicodeDatabase --driver=oracle.jdbc.driver.OracleDriver --classpath=/root/ojdbc8.jar:/opt/novell/idm/tomcat/server/IDMProv/deploy/IDMProv.war --changeLogFile=DatabaseChangeLog.xml --url="jdbcURL" --logLevel=debug --logFile=/opt/novell/idm/db.out --contexts="prov,updatedb" --username=xxxx --password=xxxx updateSQL > /opt/novell/idm/db.sql
在文本编辑器中,打开默认位于 /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*Plus 来执行该 SQL 文件。该文件中的行长度超过了 4000 个字符。
登录到 Identity Applications 之前,您应先清理浏览器上的超速缓存。如果不清理超速缓存,您可能会遇到一些运行时错误。
如果您已自定义 SharedPagePortlet 的任何默认设置或首选项,则这些自定义已保存到数据库,并且此设置将被重写。因此,浏览到“身份自助服务”选项卡并不总是高亮显示正确的共享页面。为确保不遇到此问题,请完成以下步骤:
以 User Application 管理员身份登录。
浏览到管理 > Portlet 管理。
展开共享页面导航。
在左侧的 Portlet 树中,单击共享页面导航。
在页面的右侧,单击设置。
确保最大超时设置为 0。
单击“保存设置”。
默认情况下,目录提取层中“组”实体的“DNLookup 显示”处于启用状态。这意味着,每当为组指派打开对象选择器时,无需搜索就会按默认显示所有组。您应该更改此设置,因为用于搜索组的窗口在用户输入搜索内容之前不应显示任何结果。
您可以在 Designer 中取消选中执行自动查询来更改此设置,如下所示: