I’m trying to upgrade from 4.0.3 to 4.2.3 (on Solaris) and followed the usual (openfire/documentation/upgrade-guide.html) instructions … we’re using Oracle (I think 11g) and LDAP for authorization …
In the 4.0.3 install I had ojdbc6.jar and ojdbc7.jar files within openfire/lib, first I copied just ojdbc7.jar for the 4.2.3 install … and received the error below. I went to download a new ojdbc jar from Oracle for 11g (because our DB was upgraded at some point during our running of 4.0.3), the readme inside the new jdbc jar bundle for 11g said to use ojdbc6.jar for Java 1.8 and 11g, so I tried it again with this new ojdbc6.jar in openfire/lib and received the same errors. I am not sure if this is driver related and am also not currently certain of our Oracle DB version, but 11g is the last known version (searching my emails), it is perhaps higher now.
Saw this:
but it doesn’t seem to apply …
I was able to revert to 4.0.3 successfully (both times e.g. when trying with original 4.0.3 ojdbc7 and new ojdbc6 jars) by replacing the bits.
2018.06.19 18:10:55 INFO [main]: org.jivesoftware.openfire.XMPPServer - Registering shutdown hook (standalone mode)
2018.06.19 18:10:56 INFO [main]: org.logicalcobwebs.proxool.ProxoolFacade - Proxool 0.9.0RC3+ (February 6 2008)
2018.06.19 18:11:04 INFO [main]: org.jivesoftware.database.SchemaManager - Found old database version 22 for openfire. Upgrading to version 26...
2018.06.19 18:11:05 ERROR [main]: org.jivesoftware.database.SchemaManager - SchemaManager: Failed to execute SQL:
DROP INDEX IF EXISTS ofMucConvLog_msg_id
2018.06.19 18:11:05 ERROR [main]: org.jivesoftware.database.SchemaManager - ORA-00933: SQL command not properly ended
java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1017)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:655)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:202)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:45)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:933)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1075)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1718)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1678)
at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:332)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100)
at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57)
at $java.sql.Wrapper$$EnhancerByProxool$$86c89640.execute(<generated>)
at org.jivesoftware.database.SchemaManager.executeSQLScript(SchemaManager.java:383)
at org.jivesoftware.database.SchemaManager.checkSchema(SchemaManager.java:280)
at org.jivesoftware.database.SchemaManager.checkOpenfireSchema(SchemaManager.java:83)
at org.jivesoftware.database.DbConnectionManager.setConnectionProvider(DbConnectionManager.java:602)
at org.jivesoftware.database.DbConnectionManager.ensureConnectionProvider(DbConnectionManager.java:95)
at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:117)
at org.jivesoftware.util.JiveProperties.loadProperties(JiveProperties.java:413)
at org.jivesoftware.util.JiveProperties.init(JiveProperties.java:89)
at org.jivesoftware.util.JiveProperties.getInstance(JiveProperties.java:65)
at org.jivesoftware.util.JiveGlobals.getProperty(JiveGlobals.java:544)
at org.jivesoftware.util.cache.CacheFactory.<clinit>(CacheFactory.java:88)
at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:311)
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:535)
at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:163)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:102)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:81)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:65)
2018.06.19 18:11:05 ERROR [main]: org.jivesoftware.util.JiveProperties - ORA-00904: "ENCRYPTED": invalid identifier
java.sql.SQLSyntaxErrorException: ORA-00904: "ENCRYPTED": invalid identifier
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1017)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:655)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:215)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:58)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:776)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:897)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1034)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3820)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3867)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1502)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)