After applying RSA Identity Governance & Lifecycle 7.1.0 P02, the system cannot be restarted. Browsing to the RSA Identity Governance & Lifecycle login page shows the
Initialization Status screen with the following errors:
Initialization operations completed with errors. Please resolve the problem(s) before the application server can accept requests.
ORA-06502: PL/SQL:numeric or value error: raw variable length too long
ORA-06512: at line 1
ORA-06512: at line 8
Image description
The error is logged to the
aveksaServer.log file (
$AVEKSA_HOME/wildfly/standalone/log/aveksaServer.log):
08/22/2018 01:13:38.645 ERROR (ServerService Thread Pool -- 83)
[SystemErr] log4j:ERROR Attempted to append to closed appender named [null].
08/22/2018 01:13:38.654 FATAL (ServerService Thread Pool -- 83)
[com.aveksa.server.runtime.AveksaSystem]
****************************************
Initialization has failed!
ORA-06502: PL/SQL: numeric or value error: raw variable length too long
ORA-06512: at line 1
ORA-06512: at line 8
The error is also logged to the
patch.log file
($AVEKSA_HOME/wildfly/standalone/log/patch.log):
-------
SQL/line#: /home/oracle/wildfly-10.1.0.Final/standalone/tmp/vfs/deployment/
deploymentd0b59d4df687a3b8/aveksa.war-85a2bac88d7eef71/WEB-INF/database/updates/7.0/ACM-88297.sql(1):
Start time [Wed Aug 22 01:13:38 CST 2018]
DECLARE
v_key varchar2(100);
v_index number := 0;
v_value varchar2(100);
v_cnt number := 0;
BEGIN
--Read the BLOB from T_AV_FILES and convert to CLOB to split the .properties file content into lines.
Restrict the loop only for VIEW_PASSWORD_EXTERNAL_URL to avoid unnecessary iterations.
FOR rec IN (select * from (WITH clob_table(clb)
as (select (select to_clob(UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(data,32767,1)))
from T_AV_FILES WHERE PATH LIKE '%/custom/strings/customerstrings.properties%') clb from dual)
SELECT regexp_substr(clb, '.+', 1, level) text,level line
FROM clob_table
CONNECT BY LEVEL <= regexp_count(clb, '.+')) where text like 'VIEW_PASSWORD_EXTERNAL_URL%') LOOP
v_index := instr(rec.text,'=');
v_key := substr(rec.text,0,v_index-1);
v_value := substr(rec.text,v_index + 1);
if (v_key='VIEW_PASSWORD_EXTERNAL_URL') then
SELECT COUNT(1) INTO v_cnt FROM T_SYSTEM_SETTINGS WHERE PARAMETER='ViewPasswordUrl';
if(v_cnt = 0) then
insert into T_SYSTEM_SETTINGS values ('ViewPasswordUrl',v_value);
else
update T_SYSTEM_SETTINGS set value = v_value where parameter = 'ViewPasswordUrl';
end if;
end if;
END LOOP;
commit;
END;
java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error: raw variable length too long
ORA-06512: at line 1
ORA-06512: at line 8
Please refer to RSA Knowledge Base Article
000030327 -- Artifacts to gather in RSA Identity Governance & Lifecycle to find the location of the log files for your specific deployment if you are on a WildFly cluster or a non-WildFly platform.
This is a known issue reported in engineering tickets ACM-90220, ACM-90260, and ACM-90607.
This issue is resolved in the following RSA Identity Governance & Lifecycle versions and patch levels:
- RSA Identity Governance & Lifecycle 7.0.2 P10
- RSA Identity Governance & Lifecycle 7.1.0 P04
- RSA Identity Governance & Lifecycle 7.1.1