The following are some known warnings and errors seen during the 5.x upgrade, and the solutions to fix.
When running the background upgrade script, you will need to check the log produced for errors. If you see the following warning near the end of the log, the upgrade did not complete:
2014-11-12T16:19:17.085 | WARN | main | | | | MigrateDatabaseImpl | Due to issues with Oracle support for the SERIALIZABLE isolation level, it is not possible on Oracle to efficiently do an exact sync of the 5.0 schema to the 4.2 schema while the 4.2.x Commander server is still running.
The 5.0 schema is currently NOT fully synchronized and NOT safe to use with 5.0, and its foreign key constraints are still disabled. However, the bulk of the data should now have been copied across, so future upgrader runs should be relatively quick. The 5.0 installer will automatically run the upgrader again after shutting down the 4.2.x server: as long as that upgrader run succeeds, it will bring the 5.0 schema into exact sync with the state of the 4.2 schema and reenable the contraints.
Note that the error says: it is not possible on Oracle to efficiently do an exact sync of the 5.0 schema to the 4.2 schema while the 4.2.x Commander server is still running.
If you see this warning, you need to ensure that the 4.2 Commander server is not accessing the database (stop all Commander Services on 4.2), and then either run the background upgrade script with the --final flag, or run the 5.x Installer, which will run the background upgrade script with the --final flag. For more information on the --final flag please see the Install Guide for Commander.
When running the background upgrader, if the following error is found in the log:
Unexpected error:org.hibernate.exception.SQLGrammarException: could not execute statement : java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
Generally this error is due to the fact that the 5.x Database table owner does not have read access to the 4.2 Database tables. If the user that you are installing 5.x as does not have read access to the 4.2 tables, it will not be able to run the background upgrade scripts as it cannot read the information that it needs from the old tables to do the conversion. Have your Database Administrator give the 5.x user access to the 4.2 tables and rerun the background upgrade script.
Make sure you have created the source and destination schema's in the same Database. We will be unable to copy over data to a different database.
One error that may be seen when running the background upgrade script could be:
2014-11-03T07:21:34.344 | DEBUG | CP-pool-watch-thread-commander | | | | EcConnectionHook | Failed to acquire connection: java.sql.SQLException: Access denied for user 'commander'@'localhost' (using password: YES)
Please define the real password (not hash) for COMMANDER_DB_PASSWORD in upgrade.properties file and restart upgrade.
Unexpected error:java.lang.RuntimeException: Timed out while waiting to connect to the database (possibly the database is unavailable, or one or more of the database connection parameters was set incorrectly
Check the number of mySQL instances in the host.
Check the ports used by these mySQL instances and use the right one.
* Product versions: 4.2.x