At the first start-up of the Liferay 7.4 GA6 portal using the driver version 1.2.1, you get the error reported below. The error is triggered by an Upgrade Process on the RemoteAppEntry table.
The same problem with Liferay 7.4 GA5, GA4
Caused by: com.liferay.portal.kernel.log.LogSanitizerException: com.liferay.portal.kernel.upgrade.UpgradeException: Bundle com.liferay.remote.app.service_2.0.15 [1115] has invalid content in indexes.sql:_create unique index IX_7CDD4FB0 on RemoteAppEntry (companyId, iFrameURL[$COLUMN_LENGTH:4000$]);_create index IX_5F8F9C11 on RemoteAppEntry (uuid_[$COLUMN_LENGTH:75$], companyId); [Sanitized]
at com.liferay.portal.spring.extender.internal.upgrade.InitialUpgradeExtender$InitialUpgradeStep._upgrade(InitialUpgradeExtender.java:311) ~[?:?]
at com.liferay.portal.spring.extender.internal.upgrade.InitialUpgradeExtender$InitialUpgradeStep.lambda$upgrade$0(InitialUpgradeExtender.java:236) ~[?:?]
at com.liferay.portal.db.partition.DBPartitionUtil.forEachCompanyId(DBPartitionUtil.java:114) ~[portal-impl.jar:?]
at com.liferay.portal.dao.db.BaseDB.process(BaseDB.java:308) ~[portal-impl.jar:?]
at com.liferay.portal.spring.extender.internal.upgrade.InitialUpgradeExtender$InitialUpgradeStep.upgrade(InitialUpgradeExtender.java:225) ~[?:?]
... 148 more
Caused by: com.liferay.portal.kernel.log.LogSanitizerException: java.sql.SQLException: ORA-01450: maximum key length (6398) exceeded_ [Sanitized]
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:229) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:41) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:928) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1205) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1747) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatement.executeLargeUpdate(OracleStatement.java:1712) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1699) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:285) ~[ojdbc8.jar:19.3.0.0.0]
at com.zaxxer.hikari.pool.ProxyStatement.executeUpdate(ProxyStatement.java:117) ~[hikaricp.jar:?]
at com.zaxxer.hikari.pool.HikariProxyStatement.executeUpdate(HikariProxyStatement.java) ~[hikaricp.jar:?]
at com.liferay.portal.dao.db.BaseDB.runSQL(BaseDB.java:349) ~[portal-impl.jar:?]
at com.liferay.portal.dao.db.BaseDB.runSQL(BaseDB.java:315) ~[portal-impl.jar:?]
at com.liferay.portal.dao.db.BaseDB.runSQLTemplateString(BaseDB.java:496) ~[portal-impl.jar:?]
at com.liferay.portal.spring.extender.internal.upgrade.InitialUpgradeExtender$InitialUpgradeStep._upgrade(InitialUpgradeExtender.java:307) ~[?:?]
at com.liferay.portal.spring.extender.internal.upgrade.InitialUpgradeExtender$InitialUpgradeStep.lambda$upgrade$0(InitialUpgradeExtender.java:236) ~[?:?]
at com.liferay.portal.db.partition.DBPartitionUtil.forEachCompanyId(DBPartitionUtil.java:114) ~[portal-impl.jar:?]
at com.liferay.portal.dao.db.BaseDB.process(BaseDB.java:308) ~[portal-impl.jar:?]
at com.liferay.portal.spring.extender.internal.upgrade.InitialUpgradeExtender$InitialUpgradeStep.upgrade(InitialUpgradeExtender.java:225) ~[?:?]
... 148 more
Caused by: com.liferay.portal.kernel.log.LogSanitizerException: Error : 1450, Position : 35, Sql = create unique index IX_7CDD4FB0 on RemoteAppEntry (companyId, iFrameURL), OriginalSql = create unique index IX_7CDD4FB0 on RemoteAppEntry (companyId, iFrameURL), Error Msg = ORA-01450: maximum key length (6398) exceeded_ [Sanitized]
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:229) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:41) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:928) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1205) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1747) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatement.executeLargeUpdate(OracleStatement.java:1712) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1699) ~[ojdbc8.jar:19.3.0.0.0]
at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:285) ~[ojdbc8.jar:19.3.0.0.0]
at com.zaxxer.hikari.pool.ProxyStatement.executeUpdate(ProxyStatement.java:117) ~[hikaricp.jar:?]
at com.zaxxer.hikari.pool.HikariProxyStatement.executeUpdate(HikariProxyStatement.java) ~[hikaricp.jar:?]
at com.liferay.portal.dao.db.BaseDB.runSQL(BaseDB.java:349) ~[portal-impl.jar:?]
at com.liferay.portal.dao.db.BaseDB.runSQL(BaseDB.java:315) ~[portal-impl.jar:?]
at com.liferay.portal.dao.db.BaseDB.runSQLTemplateString(BaseDB.java:496) ~[portal-impl.jar:?]
at com.liferay.portal.spring.extender.internal.upgrade.InitialUpgradeExtender$InitialUpgradeStep._upgrade(InitialUpgradeExtender.java:307) ~[?:?]
at com.liferay.portal.spring.extender.internal.upgrade.InitialUpgradeExtender$InitialUpgradeStep.lambda$upgrade$0(InitialUpgradeExtender.java:236) ~[?:?]
at com.liferay.portal.db.partition.DBPartitionUtil.forEachCompanyId(DBPartitionUtil.java:114) ~[portal-impl.jar:?]
at com.liferay.portal.dao.db.BaseDB.process(BaseDB.java:308) ~[portal-impl.jar:?]
at com.liferay.portal.spring.extender.internal.upgrade.InitialUpgradeExtender$InitialUpgradeStep.upgrade(InitialUpgradeExtender.java:225) ~[?:?]
... 148 more
The SQL statement that generates the error is the following.
create unique index IX_7CDD4FB0 on RemoteAppEntry (companyId, iFrameURL)
I found the Oracle side workaround, which consists of using the 32k Buffer Cache and created the tablespace using the 32k block. Following are the SQL statements to be executed also via SQL as sysdba.
-- Set 32k db cache size
alter system set db_32k_cache_size=32M scope=both;
-- Create tablespace (32k blocksize) for schema Liferay
CREATE TABLESPACE liferay_data_32k logging DATAFILE
'/u01/app/oracle/oradata/ORCLCDB/liferay_data_32k.dbf' SIZE 64m
autoextend ON NEXT 32m maxsize 4096m blocksize 32k EXTENT management local;
-- Create user for new schema Liferay Dev with 32k tablespace
CREATE USER lportal IDENTIFIED BY lportal DEFAULT TABLESPACE
liferay_data_32k TEMPORARY TABLESPACE liferay_temp PROFILE
DEFAULT account unlock;
Index created successfully after applying workaround on Oracle.
At the first start-up of the Liferay 7.4 GA6 portal using the driver version 1.2.1, you get the error reported below. The error is triggered by an Upgrade Process on the RemoteAppEntry table.
The same problem with Liferay 7.4 GA5, GA4
For more info about Oracle error, read this Oracle post How to Fix ORA-01450: Maximum Key Length (6398) Exceeded Errors
The SQL statement that generates the error is the following.
I found the Oracle side workaround, which consists of using the 32k Buffer Cache and created the tablespace using the 32k block. Following are the SQL statements to be executed also via SQL as sysdba.
Index created successfully after applying workaround on Oracle.
I created an issue related to this issue on Liferay as well Upgrade process error on create unique index IX_7CDD4FB0 on Oracle 19c