This is a great example of why you should always review the README file when upgrading to a new release. Here is an issue that we found during customer beta testing, and that you will want to be aware of if you are upgrading to Oracle Database 12c and do not have the JAVAVM component in your database. The following text has been added to the 12.1 Readme under Section 1.1:
TITLE: Pre-Upgrade Tool Does Not Generate Output Logs
The pre-upgrade tool, preupgrd.sql, is not able to create a directory to
store the output files if the JAVAVM component either does not exist in the
database registry or is set to INVALID or OPTION OFF (reference Bug
14614756). For example:
SQL> @/tmp/preupgrd
Loading Pre-Upgrade Package ...
WARNING: Failed to open preupgrade.log for write access
script will generate terminal output only
WARNING: Failed to open preupgrade_fixups.sql for write access
script will not generate fixup scripts.
Results of the checks are located at:
*** Scripts/Logs are not being Generated *** preupgrade.log
The workaround is to manually create the output directory before running
preupgrd.sql by executing the following steps:
1. If ORACLE_BASE is defined in the environment settings, either create a
directory $ORACLE_BASE/cfgtoollogs/<db-unique-name>/preupgrade or create a
directory $ORACLE_HOME/cfgtoollogs/<db-unique-name>/preupgrade.
2. To get <db-unique-name>, use the following query:
SELECT value FROM V$PARAMETER WHERE NAME = 'db_unique_name';
Note that <db-unique-name> used in the directory path is case sensitive. 3. Rerun the preupgrd.sql tool.
As you can imagine, your upgrade will be smoother if you are aware of issues like this before you upgrade instead of running into them on your go-live weekend!