# # This file contains properties used by the preupgrade. # The vast majority of these properties are the message strings # for the CHECK routines. # # Each Preupgrade "CHECK" should define the following properties: # # CHECK..RULE # CHECK..BROKEN_RULE # CHECK..ACTION # CHECK..SEVERITY # CHECK..FIXUP_STAGE # CHECK..AUTO_FIXUP_AVAILABLE # CHECK..MIN_VERSION # CHECK..MAX_VERSION # # The RULE, BROKEN_RULE, and ACTION properties each are # the message substrings for the those respective parts of # the overall message. THey can have substitution placeholders, # {}, for example, {1} or {2}. Those values # get filled in at runtime and are specific to the message # in the specific database context. # # RULE is an expression that explains the general case # of something that the preupgrade wants to ensure is # TRUE about the database. It doesn't describe what # what is wrong, but what must be right with the db. # This statement should be written generically and # NOT derive anything about the user's current # database. It is the RULE we're trying to enforce. # There are a couple conventions being used that will # help keep messages consistent with others in this file: # # 1. If there is a need to refer the user to # documentation or a website or MOS, then it is # expressed at the end of the RULE, not in the ACTION. # (The DOC is the rulebook.) # # 2. Use the following to refer to MOS: # My Oracle Support Note XXXXXX.X # # 3. Spell out any acronyms at least once in the RULE. # # BROKEN_RULE is a brief description of how the # user's database violates the RULE. # # ACTION is Oracle's instruction to the user of how to # respond and rectify the problem. Doc refs are # handled in the RULE. Try to keep ACTION brief # and to the point so that experienced DBAs need only # to glance at the item to know what to do. # # Note that RULE, BROKEN_RULE, and ACTION appear in that # order in this file because its easier to explain them # and author them that way, they will be glued together # in the opposite order in the actual message sent to the user. # # The SEVERITY is one of # SUCCESS, INFO, WARNING, ERROR, RECOMMEND # # FIXUP_STAGE can be either "PRE" or "POST" or "VALIDATION" in either case. # # AUTO_FIXUP_AVAILABLE is either "TRUE" or "FALSE" in either case. # # MIN_VERSION is the lowest numbered not-yet-upgraded # database version for which the CHECK should be run, # inclusive. If the CHECK has no lower bound on the database # versions, specify "NONE". # # MAX_VERSION is the highest numbered not-yet-upgraded # database version for which the CHECK should be run, inclusive. # # *** IMPORTANT *** # # If the CHECK has no upper bound on the database versions, # specify "NONE". Using "NONE" will automatically cause the # CHECK to be run in FUTURE RELEASES whereas specifying a hardcoded # version number here will stop the CHECK from running # on future releases. # # The order of the CHECK.*.RULE properties in this file # determines the order of CHECK execution at preupgrade runtime. # They should be ordered: # ERRORs that need to be resolved PRIOR to upgrade # WARNINGs that need to be resolved PRIOR to upgrade # INFORMATIONALs that need to be resolved PRIOR to upgrade # ERRORs that need to be resolved AFTER to upgrade # WARNINGs that need to be resolved AFTER to upgrade # INFORMATIONALs that need to be resolved AFTER to upgrade # # The CHECK messages/properties below may contain the string "
" # (lower case only) to encode a hard carraige return into the output. # Useful for formatting things like code snippets. # # MODIFIED (MM/DD/YY) # apfwkr 05/23/17 - Backport raeburns_bug-25044977 from main # apfwkr 04/06/17 - Backport bymotta_bug-24923215 from main # cmlim 11/06/16 - Backport cmlim_bug-24696626 from # bymotta 12/02/16 - Bug 24923215: Set statistics concurrent to off when # Concurrent is enabled but no Resource Manager # configuration is enabled # raeburns 01/22/17 - Bug 25044977: Add post-upgrade fixup for # depend_usr_tables # cmlim 10/30/16 - bug 24696626: do not include # gather_schema_stats('SYS') in autofixup # st_rdbms_12.2.0.1.0 # frealvar 10/18/16 - Backport frealvar_bug-24695433 from # st_rdbms_12.2.0.1.0 # hvieyra 10/14/16 - Backport hvieyra_bug-20950535 from main # frealvar 09/25/16 - Bug 24695433 temp tablespace without temp file # ewittenb 08/01/16 - XbranchMerge ewittenb_postup from main # hvieyra 09/07/16 - Fix for bug 20950535. Check if OJVM Mitigation # patch is installed in the database. # bymotta 07/27/16 - Bug 24012143: Postupgrade_fixups.sql some checks # are not working properly # ewittenb 07/21/16 - Bug 24340891 and 24005939: fix some file extensions and typos # amunnoli 05/31/16 - Bug 23221566:check audit tables in encrypted ts # cmlim 05/22/16 - bug 23185159: convert archive/fra info to checks # frealvar 05/10/16 - Bug 23194264 update messages em_present amd_exists # ewittenb 05/04/16 - fix typo in event message # cmlim 04/23/16 - bug 22128117: memory sizing for upgrade to 12.2 # ewittenb 04/11/16 - Add Apex_patch check # frealvar 04/10/16 - Bug 20669175 check for any pending dst session # before upgrade # kaizhuan 03/14/16 - Bug 22862142: add check for Privilege Analysis # pknaggs 03/09/16 - Bug #20847187: Exclusive Mode checks for 12.2 # yanchuan 03/06/16 - Bug 20505982: remove warning message # about disable Database Vault # hvieyra 03/02/16 - Fix for bug 22708956- Add check to detect # datamining data in customer tablespace # raeburns 03/01/16 - Bug 22820096: DEPEND_CHECK only with -T option # frealvar 02/10/16 - Bug22547929 messages should specify set serveroutput on # welin 01/14/16 - Bug 22543613: REMOTE_LOGIN_PASSWORDFILE=SHARED # should not abort upgrade # raeburns 12/30/15 - Bug 22322252: Add pre-upgrade check for USER tables # dependent on Oracle-Maintained types # Revise INVALID TABLEDATA messages # schakkap 12/23/15 - #(22454765) add check for dbms_stats method_opt # preference # sramakri 12/15/15 - bug-22166873 # ssonawan 12/14/15 - Bug 21289647 update REMOTE_LOGIN_PASSWORDFILE check # welin 12/14/15 - Bug 21531270: Gather dictionary stats post upgrade # sramakri 12/15/15 - bug-22166873 # ssonawan 12/14/15 - Bug 21289647 update REMOTE_LOGIN_PASSWORDFILE check # frealvar 12/13/15 - Bug 21156050 SYS_DEFAULT_TABLESPACE message modified # frealvar 12/10/15 - 22220833 removed wrong message of PURGE_RECYCLEBIN # bymotta 11/25/15 - Bug 22125093: UPGRADE:SOME PDB'S PREUPGRADE LOG ARE # MISSING, adding messages to explain why the logs # were not created, mostly because the DB/PDB was not # opened. # ssonawan 11/25/15 - Bug 21289647: REMOTE_LOGIN_PASSWORDFILE check # rpang 10/23/15 - Bug 22061588: 12.1 network ACL migration check # ewittenb 10/14/15 - update for team message review # frealvar 10/28/15 - 21849635: change the placeholder format used # tojhuan 10/12/15 - 21795185: if XDB.XDB$RESOURCE_T has incorrect- # ordered attributes CheckedOutByID/BaseVersion, # check whether we can fix it during upgrade # frealvar 10/01/15 - invalid_objects_exist message content modification # ewittenb 09/08/15 - incorporate team comments on message content # ewittenb 08/31/15 - reorder messages, change severities to menemonics, not numeric # risgupta 08/31/15 - risgupta_lrg-18421763 # risgupta 08/18/15 - risgupta_bug-21178327 # ewittenb 08/14/15 - ewittenb_jam # frealvar 07/29/15 - txn frealvar_bug-13022498 # ewittenb 06/02/15 - txn ewittenb_phase3_46705 # ewittenb 03/23/15 - created # #----------------SEVERITY = 4------------------- # ERROR level messages # to resolve BEFORE upgrade (FIXUP_STAGE=PRE or VALIDATION) # # # SUPPORTED_VERSION CHECK # CHECK.SUPPORTED_VERSION.RULE=The source database must be one of the following releases: {2}. Refer to the {1} Oracle Database Upgrade Guide for details about the matrix of releases supported for direct upgrade. CHECK.SUPPORTED_VERSION.BROKEN_RULE=The database release is {3}. You cannot directly upgrade this database version to release {1}. CHECK.SUPPORTED_VERSION.ACTION=Upgrade the database to one of the supported direct-upgrade releases. You can then upgrade to release {1}. CHECK.SUPPORTED_VERSION.SEVERITY=ERROR CHECK.SUPPORTED_VERSION.FIXUP_STAGE=PRE CHECK.SUPPORTED_VERSION.AUTO_FIXUP_AVAILABLE=FALSE CHECK.SUPPORTED_VERSION.MIN_VERSION=NONE CHECK.SUPPORTED_VERSION.MAX_VERSION=NONE # # ORACLE_RESERVED_USERS CHECK # CHECK.ORACLE_RESERVED_USERS.RULE=Oracle occasionally adds new internal USERs and ROLEs as the database evolves. To avoid a name conflict in the upgraded version, a source database must not contain any USER or ROLE with a name that matches one reserved by Oracle in the target release. CHECK.ORACLE_RESERVED_USERS.BROKEN_RULE=The database contains a USER or ROLE named {1}. That name was reserved to Oracle in release {2}, and remains reserved in release {3}. CHECK.ORACLE_RESERVED_USERS.ACTION=You must rename or drop the USER or ROLE named {1} from the database. CHECK.ORACLE_RESERVED_USERS.SEVERITY=ERROR CHECK.ORACLE_RESERVED_USERS.FIXUP_STAGE=PRE CHECK.ORACLE_RESERVED_USERS.AUTO_FIXUP_AVAILABLE=FALSE CHECK.ORACLE_RESERVED_USERS.MIN_VERSION=NONE CHECK.ORACLE_RESERVED_USERS.MAX_VERSION=NONE # # COMPATIBLE_PARAMETER CHECK # CHECK.COMPATIBLE_PARAMETER.RULE=The minimum setting for the COMPATIBLE initialization parameter in the target release, {1}, is {2}.
Caution: Oracle strongly recommends that you do not make this change until you are ready to upgrade. After you raise the compatible setting downgrade to earlier releases may not be possible. CHECK.COMPATIBLE_PARAMETER.BROKEN_RULE=The database setting for the COMPATIBLE initialization parameter is {3}. CHECK.COMPATIBLE_PARAMETER.ACTION=Change the COMPATIBLE initialization parameter to at least {2} before database upgrade. CHECK.COMPATIBLE_PARAMETER.SEVERITY=ERROR CHECK.COMPATIBLE_PARAMETER.FIXUP_STAGE=PRE CHECK.COMPATIBLE_PARAMETER.AUTO_FIXUP_AVAILABLE=FALSE CHECK.COMPATIBLE_PARAMETER.MIN_VERSION=NONE CHECK.COMPATIBLE_PARAMETER.MAX_VERSION=NONE # # OLS_SYS_MOVE CHECK # CHECK.OLS_SYS_MOVE.RULE=As part of the upgrade to {2}, records in the {1} audit table SYSTEM.AUD$ are moved to SYS.AUD$. This step can be manually performed before the upgrade to reduce downtime. Refer to the {2} Oracle Label Security Administrator's Guide, or to Oracle Database Upgrade Guide for further details. CHECK.OLS_SYS_MOVE.BROKEN_RULE=olspreupgrade.sql has not been run on this database. To view the number of records that olspreupgrade.sql moves, use the following command:

SELECT count(*) from system.aud$ CHECK.OLS_SYS_MOVE.ACTION=Run $ORACLE_HOME/rdbms/admin/olspreupgrade.sql from the new Oracle Database {2} home. CHECK.OLS_SYS_MOVE.SEVERITY=ERROR CHECK.OLS_SYS_MOVE.FIXUP_STAGE=PRE CHECK.OLS_SYS_MOVE.AUTO_FIXUP_AVAILABLE=FALSE CHECK.OLS_SYS_MOVE.MIN_VERSION=10.2 CHECK.OLS_SYS_MOVE.MAX_VERSION=11.2 # # FILES_NEED_RECOVERY CHECK # CHECK.FILES_NEED_RECOVERY.RULE=There cannot be any files that need media recovery in the database. CHECK.FILES_NEED_RECOVERY.BROKEN_RULE=One or more files in the database currently require media recovery. CHECK.FILES_NEED_RECOVERY.ACTION=Recover files listed in v$recover_file. CHECK.FILES_NEED_RECOVERY.SEVERITY=ERROR CHECK.FILES_NEED_RECOVERY.FIXUP_STAGE=PRE CHECK.FILES_NEED_RECOVERY.AUTO_FIXUP_AVAILABLE=FALSE CHECK.FILES_NEED_RECOVERY.MIN_VERSION=NONE CHECK.FILES_NEED_RECOVERY.MAX_VERSION=NONE # # FILES_BACKUP_MODE CHECK # CHECK.FILES_BACKUP_MODE.RULE=No files should be in backup mode prior to database upgrade. CHECK.FILES_BACKUP_MODE.BROKEN_RULE=There are files in backup mode. CHECK.FILES_BACKUP_MODE.ACTION=Ensure that no files are in backup mode before database upgrade. CHECK.FILES_BACKUP_MODE.SEVERITY=ERROR CHECK.FILES_BACKUP_MODE.FIXUP_STAGE=PRE CHECK.FILES_BACKUP_MODE.AUTO_FIXUP_AVAILABLE=FALSE CHECK.FILES_BACKUP_MODE.MIN_VERSION=10.2 CHECK.FILES_BACKUP_MODE.MAX_VERSION=11.2 # # TWO_PC_TXN_EXIST CHECK # CHECK.TWO_PC_TXN_EXIST.RULE=There can be no unresolved distributed transactions prior to database upgrade because the data they contain would be lost during the upgrade. You can view the unresolved distributed transactions with

SELECT * FROM sys.dba_2pc_pending
CHECK.TWO_PC_TXN_EXIST.BROKEN_RULE=The database contains one or more unresolved distributed transactions found in sys.dba_2pc_pending. CHECK.TWO_PC_TXN_EXIST.ACTION=Resolve all outstanding distributed transactions prior to database upgrade. CHECK.TWO_PC_TXN_EXIST.SEVERITY=ERROR CHECK.TWO_PC_TXN_EXIST.FIXUP_STAGE=PRE CHECK.TWO_PC_TXN_EXIST.AUTO_FIXUP_AVAILABLE=FALSE CHECK.TWO_PC_TXN_EXIST.MIN_VERSION=NONE CHECK.TWO_PC_TXN_EXIST.MAX_VERSION=NONE # # ULTRASEARCH_DATA CHECK # CHECK.ULTRASEARCH_DATA.RULE=The source database must not contain Oracle Ultra Search software because starting in version 11.2, Oracle Ultra Search is no longer supported. The Ultra Search software will be removed as part of database upgrade to version {1} and any existing Ultra Search data in your database will be lost. CHECK.ULTRASEARCH_DATA.BROKEN_RULE=The database contains Oracle Ultra Search software. CHECK.ULTRASEARCH_DATA.ACTION=Remove Oracle Ultra Search software by executing $ORACLE_HOME/rdbms/admin/wkremov.sql located in the new {1} Oracle Database Oracle home. If you want to preserve the Ultra Search data, then perform a manual cold backup prior to database upgrade. CHECK.ULTRASEARCH_DATA.SEVERITY=ERROR CHECK.ULTRASEARCH_DATA.FIXUP_STAGE=PRE CHECK.ULTRASEARCH_DATA.AUTO_FIXUP_AVAILABLE=FALSE CHECK.ULTRASEARCH_DATA.MIN_VERSION=NONE CHECK.ULTRASEARCH_DATA.MAX_VERSION=NONE # # REMOTE_REDO CHECK # CHECK.REMOTE_REDO.RULE=The source database must either be configured with an explicit LOCAL archiving destination using the LOCATION attribute (the preferred method,) or you must move the current REMOTE LOG_ARCHIVE_DEST_1 setting to some other LOG_ARCHIVE_DEST_n, so that LOG_ARCHIVE_DEST_1 is available for local default use by Oracle Data Guard. CHECK.REMOTE_REDO.BROKEN_RULE=Your database does not have an explicit LOCAL archiving destination and the Oracle Data Guard default local archiving destination is not the same in {2}. CHECK.REMOTE_REDO.ACTION=The database must either be configured with an explicit LOCAL archiving destination using the LOCATION attribute (the preferred method,) or it must move the current REMOTE LOG_ARCHIVE_DEST_1 setting to some other LOG_ARCHIVE_DEST_n, so that LOG_ARCHIVE_DEST_1 is available for local default use by Oracle Data Guard. CHECK.REMOTE_REDO.SEVERITY=ERROR CHECK.REMOTE_REDO.FIXUP_STAGE=PRE CHECK.REMOTE_REDO.AUTO_FIXUP_AVAILABLE=FALSE CHECK.REMOTE_REDO.MIN_VERSION=10.2 CHECK.REMOTE_REDO.MAX_VERSION=11.1 # # INVALID_LAF CHECK # CHECK.INVALID_LAF.RULE=The LOG_ARCHIVE_FORMAT initialization parameter must contain the format strings %s, %t, and %r. CHECK.INVALID_LAF.BROKEN_RULE=The value of LOG_ARCHIVE_FORMAT initialization parameter is not valid for version {1}. Your current setting is: {2} CHECK.INVALID_LAF.ACTION=Update the value of LOG_ARCHIVE_FORMAT initialization parameter. CHECK.INVALID_LAF.SEVERITY=ERROR CHECK.INVALID_LAF.FIXUP_STAGE=PRE CHECK.INVALID_LAF.AUTO_FIXUP_AVAILABLE=FALSE CHECK.INVALID_LAF.MIN_VERSION=NONE CHECK.INVALID_LAF.MAX_VERSION=NONE # # NEW_TIME_ZONES_EXIST CHECK # CHECK.NEW_TIME_ZONES_EXIST.RULE=Timezone datafiles may not be downgraded to a lower version as a result of an Oracle Database upgrade. CHECK.NEW_TIME_ZONES_EXIST.BROKEN_RULE=The database is using a time zone file version that is newer than the version shipped with the {3} release. CHECK.NEW_TIME_ZONES_EXIST.ACTION=Patch the new {3} $ORACLE_HOME/oracore/zoneinfo/ with the version {2} time zone data file from the {1} $ORACLE_HOME/oracore/zoneinfo/. CHECK.NEW_TIME_ZONES_EXIST.SEVERITY=ERROR CHECK.NEW_TIME_ZONES_EXIST.FIXUP_STAGE=PRE CHECK.NEW_TIME_ZONES_EXIST.AUTO_FIXUP_AVAILABLE=FALSE CHECK.NEW_TIME_ZONES_EXIST.MIN_VERSION=NONE CHECK.NEW_TIME_ZONES_EXIST.MAX_VERSION=NONE # # JOB_QUEUE_PROCESS_0 CHECK # CHECK.JOB_QUEUE_PROCESS_0.RULE=Starting with Oracle Database 11.2, setting JOB_QUEUE_PROCESSES=0 will disable job execution via DBMS_JOBS and DBMS_SCHEDULER. CHECK.JOB_QUEUE_PROCESS_0.BROKEN_RULE=The database has JOB_QUEUE_PROCESSES=0. CHECK.JOB_QUEUE_PROCESS_0.ACTION=Set the value of JOB_QUEUE_PROCESSES to a minimum of {1} or remove the setting entirely and accept the Oracle default. CHECK.JOB_QUEUE_PROCESS_0.SEVERITY=ERROR CHECK.JOB_QUEUE_PROCESS_0.FIXUP_STAGE=PRE CHECK.JOB_QUEUE_PROCESS_0.AUTO_FIXUP_AVAILABLE=FALSE CHECK.JOB_QUEUE_PROCESS_0.MIN_VERSION=11.2 CHECK.JOB_QUEUE_PROCESS_0.MAX_VERSION=NONE # # OVERLAP_NETWORK_ACL CHECK # CHECK.OVERLAP_NETWORK_ACL.RULE=Network Access Control Lists for a host with overlapping port range assignments cannot be upgraded. Refer to the {1} Oracle Database Security Guide for instructions. CHECK.OVERLAP_NETWORK_ACL.BROKEN_RULE=Overlapping network ACL assignments exist. CHECK.OVERLAP_NETWORK_ACL.ACTION=Unassign network ACLs. CHECK.OVERLAP_NETWORK_ACL.SEVERITY=ERROR CHECK.OVERLAP_NETWORK_ACL.FIXUP_STAGE=PRE CHECK.OVERLAP_NETWORK_ACL.AUTO_FIXUP_AVAILABLE=FALSE CHECK.OVERLAP_NETWORK_ACL.MIN_VERSION=11.1.0.7 CHECK.OVERLAP_NETWORK_ACL.MAX_VERSION=11.2.0.4 # # UNIAUD_TAB CHECK # CHECK.UNIAUD_TAB.RULE="AUDSYS.AUD$UNIFIED" is going to be Oracle defined Unified Audit internal table. CHECK.UNIAUD_TAB.BROKEN_RULE=A table named "AUDSYS.AUD$UNIFIED" found in the database. CHECK.UNIAUD_TAB.ACTION="AUDSYS.AUD$UNIFIED" table must be dropped prior to database upgrade. Please make sure to take the backup of the existing contents of this table if any. CHECK.UNIAUD_TAB.SEVERITY=ERROR CHECK.UNIAUD_TAB.FIXUP_STAGE=PRE CHECK.UNIAUD_TAB.AUTO_FIXUP_AVAILABLE=FALSE CHECK.UNIAUD_TAB.MIN_VERSION=NONE CHECK.UNIAUD_TAB.MAX_VERSION=NONE # # INVALID_USR_TABLEDATA CHECK # CHECK.INVALID_USR_TABLEDATA.RULE=To prevent data loss during database upgrade, all table columns dependent on Oracle-Maintained object types must be current prior to the upgrade or plugin. CHECK.INVALID_USR_TABLEDATA.BROKEN_RULE=There is object type data in user tables that has not been upgraded to the latest version of an evolved Oracle-Maintained object type. CHECK.INVALID_USR_TABLEDATA.ACTION=You must upgrade user table data to the latest versions of Oracle-Maintained object types. Use ALTER TABLE ... UPGRADE INCLUDING DATA. CHECK.INVALID_USR_TABLEDATA.SEVERITY=ERROR CHECK.INVALID_USR_TABLEDATA.FIXUP_STAGE=VALIDATION CHECK.INVALID_USR_TABLEDATA.AUTO_FIXUP_AVAILABLE=TRUE CHECK.INVALID_USR_TABLEDATA.MIN_VERSION=NONE CHECK.INVALID_USR_TABLEDATA.MAX_VERSION=NONE # # INVALID_SYS_TABLEDATA CHECK # CHECK.INVALID_SYS_TABLEDATA.RULE=To prevent data loss during database upgrade, all object type columns in tables owned by Oracle-Supplied users must be current prior to the upgrade or plugin. CHECK.INVALID_SYS_TABLEDATA.BROKEN_RULE=There is object type data in Oracle-Maintained tables that has not been upgraded to the latest version of an evolved object type. CHECK.INVALID_SYS_TABLEDATA.ACTION=You must upgrade Oracle-Maintained tables using prior versions of evolved types. Use ALTER TABLE ... UPGRADE INCLUDING DATA. CHECK.INVALID_SYS_TABLEDATA.SEVERITY=ERROR CHECK.INVALID_SYS_TABLEDATA.FIXUP_STAGE=VALIDATION CHECK.INVALID_SYS_TABLEDATA.AUTO_FIXUP_AVAILABLE=TRUE CHECK.INVALID_SYS_TABLEDATA.MIN_VERSION=NONE CHECK.INVALID_SYS_TABLEDATA.MAX_VERSION=NONE # # PURGE_RECYCLEBIN CHECK # CHECK.PURGE_RECYCLEBIN.RULE=The recycle bin must be completely empty before database upgrade. CHECK.PURGE_RECYCLEBIN.BROKEN_RULE=The database contains {1} objects in the recycle bin. CHECK.PURGE_RECYCLEBIN.ACTION=Empty the RECYCLEBIN immediately before database upgrade. CHECK.PURGE_RECYCLEBIN.SEVERITY=ERROR CHECK.PURGE_RECYCLEBIN.FIXUP_STAGE=VALIDATION CHECK.PURGE_RECYCLEBIN.AUTO_FIXUP_AVAILABLE=TRUE CHECK.PURGE_RECYCLEBIN.MIN_VERSION=NONE CHECK.PURGE_RECYCLEBIN.MAX_VERSION=NONE # # OPEN_CURSORS CHECK # CHECK.OPEN_CURSORS.RULE=The OPEN_CURSORS initialization parameter must be set to a minimum of {1} to avoid exceeding number of open cursors during Oracle Application Express (APEX) upgrade.

Note that updating the PFILE/SPFILE will not take effect until the next database startup. CHECK.OPEN_CURSORS.BROKEN_RULE=The OPEN_CURSORS initialization parameter is set to {3}. CHECK.OPEN_CURSORS.ACTION=Set the OPEN_CURSORS initialization parameter to at least {1} before upgrading the database. CHECK.OPEN_CURSORS.SEVERITY=ERROR CHECK.OPEN_CURSORS.FIXUP_STAGE=VALIDATION CHECK.OPEN_CURSORS.AUTO_FIXUP_AVAILABLE=FALSE CHECK.OPEN_CURSORS.MIN_VERSION=NONE CHECK.OPEN_CURSORS.MAX_VERSION=NONE # # XDB_RESOURCE_TYPE CHECK # CHECK.XDB_RESOURCE_TYPE.RULE=Direct access to either TYPE XDB.XDB$RESOURCE_T or TABLE XDB.XDB$RESOURCE is restricted to Oracle internal code only. CHECK.XDB_RESOURCE_TYPE.BROKEN_RULE=The database contains non-Oracle entities that depend on XDB.XDB$RESOURCE_T or have explicitly accessed the table XDB.XDB$RESOURCE. CHECK.XDB_RESOURCE_TYPE.ACTION=Please contact Oracle Support to resolve the problem. CHECK.XDB_RESOURCE_TYPE.SEVERITY=ERROR CHECK.XDB_RESOURCE_TYPE.FIXUP_STAGE=PRE CHECK.XDB_RESOURCE_TYPE.AUTO_FIXUP_AVAILABLE=FALSE CHECK.XDB_RESOURCE_TYPE.MIN_VERSION=11.1 CHECK.XDB_RESOURCE_TYPE.MAX_VERSION=NONE # # DBMS_STATS_METHOD_OPT CHECK # CHECK.DBMS_STATS_METHOD_OPT.RULE=method_opt preference value of dbms_stats must be set to a valid value. An invalid preference value can cause errors and affect upgrade of the database when RDBMS components try to gather statistics. CHECK.DBMS_STATS_METHOD_OPT.BROKEN_RULE=FOR COLUMNS clause is currently used in method_opt preference value, {1} of dbms_stats. This clause is not supported. CHECK.DBMS_STATS_METHOD_OPT.ACTION=Please set the dbms_stats preference of method_opt to a valid value. To set the global preference to oracle recommended default value use the following command.

EXECUTE dbms_stats.set_param('METHOD_OPT', null)

The preference can be set for a specific table as well. For example, by setting the preference for SH.SALES as follows, Oracle decide the columns that need histogram automatically except for column prod_id. For column prod_id, histograms will not be collected.

EXECUTE dbms_stats.set_table_prefs('SH', 'SALES', 'METHOD_OPT',
'FOR ALL COLUMNS SIZE AUTO FOR COLUMNS SIZE 1 PROD_ID'); CHECK.DBMS_STATS_METHOD_OPT.SEVERITY=ERROR CHECK.DBMS_STATS_METHOD_OPT.FIXUP_STAGE=PRE CHECK.DBMS_STATS_METHOD_OPT.AUTO_FIXUP_AVAILABLE=FALSE CHECK.DBMS_STATS_METHOD_OPT.MIN_VERSION=NONE CHECK.DBMS_STATS_METHOD_OPT.MAX_VERSION=NONE # # CASE_INSENSITIVE_AUTH CHECK # CHECK.CASE_INSENSITIVE_AUTH.RULE=Starting with Oracle Database release 12.2, Exclusive Mode is the default password-based authentication mode. Case insensitive password authentication is not supported in Exclusive Mode. If your system needs to use case insensitive password authentication, Exclusive Mode must be switched off prior to the upgrade. See the Network Reference Manual chapter about the SQLNET.ORA parameter SQLNET.ALLOWED_LOGON_VERSION_SERVER for more details on Exclusive Mode. CHECK.CASE_INSENSITIVE_AUTH.BROKEN_RULE=Your database system is configured to enforce case insensitive password authentication (the SEC_CASE_SENSITIVE_LOGON instance initialization parameter setting is FALSE). CHECK.CASE_INSENSITIVE_AUTH.ACTION=Remove the SEC_CASE_SENSITIVE_LOGON instance initialization parameter setting, to configure your system to use case sensitive password authentication by default. CHECK.CASE_INSENSITIVE_AUTH.SEVERITY=ERROR CHECK.CASE_INSENSITIVE_AUTH.FIXUP_STAGE=PRE CHECK.CASE_INSENSITIVE_AUTH.AUTO_FIXUP_AVAILABLE=FALSE CHECK.CASE_INSENSITIVE_AUTH.MIN_VERSION=NONE CHECK.CASE_INSENSITIVE_AUTH.MAX_VERSION=12.2.0.1 # # PENDING_DST_SESSION CHECK # CHECK.PENDING_DST_SESSION.RULE=There must not be any Daylight Savings Time (DST) update operations pending in the database before starting the upgrade process.
Refer to My Oracle Support Note 1509653.1 for more information. CHECK.PENDING_DST_SESSION.BROKEN_RULE=There is an unfinished DST update operation in the database. It's current state is: {1} CHECK.PENDING_DST_SESSION.ACTION=Complete any pending DST update operation before starting the database upgrade. CHECK.PENDING_DST_SESSION.SEVERITY=ERROR CHECK.PENDING_DST_SESSION.FIXUP_STAGE=PRE CHECK.PENDING_DST_SESSION.AUTO_FIXUP_AVAILABLE=FALSE CHECK.PENDING_DST_SESSION.MIN_VERSION=11.2 CHECK.PENDING_DST_SESSION.MAX_VERSION=12.2.0.1 # # MIN_RECOVERY_AREA_SIZE CHECK # CHECK.MIN_RECOVERY_AREA_SIZE.RULE=The database has {1} enabled, and the upgrade process will need free space to generate {2} to the recovery area specified by initialization parameter DB_RECOVERY_FILE_DEST. The logs generated must not overflow the limit set by DB_RECOVERY_FILE_DEST_SIZE, as the upgrade may not proceed if the database stops responding. CHECK.MIN_RECOVERY_AREA_SIZE.BROKEN_RULE=DB_RECOVERY_FILE_DEST_SIZE is set at {4}. There is currently {6} of free space remaining, which may not be adequate for the upgrade.

Currently:
Fast recovery area : {3}
Limit : {4}
Used : {5}
Available : {6} CHECK.MIN_RECOVERY_AREA_SIZE.ACTION=Set DB_RECOVERY_FILE_DEST_SIZE initialization parameter to at least {7}. Check alert log during the upgrade to ensure there is remaining free space available in the recovery area. CHECK.MIN_RECOVERY_AREA_SIZE.SEVERITY=ERROR CHECK.MIN_RECOVERY_AREA_SIZE.FIXUP_STAGE=PRE CHECK.MIN_RECOVERY_AREA_SIZE.AUTO_FIXUP_AVAILABLE=FALSE CHECK.MIN_RECOVERY_AREA_SIZE.MIN_VERSION=NONE CHECK.MIN_RECOVERY_AREA_SIZE.MAX_VERSION=NONE # # TEMPTS_NOTEMPFILE CHECK # CHECK.TEMPTS_NOTEMPFILE.RULE=The default temporary tablespace must have at least one temp file associated. CHECK.TEMPTS_NOTEMPFILE.BROKEN_RULE=The following default temporary tablespace does not have an associated temp file.

{1} CHECK.TEMPTS_NOTEMPFILE.ACTION=Add at least one temp file to the listed temporary tablespace. CHECK.TEMPTS_NOTEMPFILE.SEVERITY=ERROR CHECK.TEMPTS_NOTEMPFILE.FIXUP_STAGE=PRE CHECK.TEMPTS_NOTEMPFILE.AUTO_FIXUP_AVAILABLE=FALSE CHECK.TEMPTS_NOTEMPFILE.MIN_VERSION=NONE CHECK.TEMPTS_NOTEMPFILE.MAX_VERSION=NONE # # ##NEW_CHECK## - add message attributes like messages above for a new CHECK right # above here if the new check has SEVERITY=4=ERROR and FIXUP_STAGE=PRE or VALIDATION # Note that the order in which CHECKs are run is dictated by the order in this file. # # #----------------SEVERITY = 2------------------- # WARNING level messages # to resolve BEFORE upgrade (FIXUP_STAGE=PRE or VALIDATION) # # # RLP_PARAM CHECK # CHECK.RLP_PARAM.RULE=Setting the REMOTE_LOGIN_PASSWORDFILE to SHARED does not enforce secure behavior for administrative users, and certain DDLs like GRANT SYSDBA and ALTER USER are not allowed. CHECK.RLP_PARAM.BROKEN_RULE=The REMOTE_LOGIN_PASSWORDFILE parameter is explicitly set to SHARED. CHECK.RLP_PARAM.ACTION=Set REMOTE_LOGIN_PASSWORDFILE initialization parameter to EXCLUSIVE prior to upgrading. CHECK.RLP_PARAM.SEVERITY=WARNING CHECK.RLP_PARAM.FIXUP_STAGE=PRE CHECK.RLP_PARAM.AUTO_FIXUP_AVAILABLE=FALSE CHECK.RLP_PARAM.MIN_VERSION=11.2 CHECK.RLP_PARAM.MAX_VERSION=12.1 # # PA_PROFILE CHECK # CHECK.PA_PROFILE.RULE=Privilege Analysis profiles should be disabled and generated results before an upgrade to version {1}. CHECK.PA_PROFILE.BROKEN_RULE=Enabled profiles or profiles without results are found. CHECK.PA_PROFILE.ACTION=Disable and generate results for profiles or drop profiles. CHECK.PA_PROFILE.SEVERITY=WARNING CHECK.PA_PROFILE.FIXUP_STAGE=PRE CHECK.PA_PROFILE.AUTO_FIXUP_AVAILABLE=FALSE CHECK.PA_PROFILE.MIN_VERSION=12.1 CHECK.PA_PROFILE.MAX_VERSION=NONE # # EM_PRESENT CHECK # CHECK.EM_PRESENT.RULE=Starting with Oracle Database 12c, the local Enterprise Manager Database Control does not exist anymore. The repository will be removed from your database during the upgrade. This step can be manually performed before the upgrade to reduce downtime. CHECK.EM_PRESENT.BROKEN_RULE=The database has an Enterprise Manager Database Control repository. CHECK.EM_PRESENT.ACTION=Remove the EM repository.

- Copy the $ORACLE_HOME/rdbms/admin/emremove.sql script from the target {1} ORACLE_HOME into the source {2} ORACLE_HOME.

Step 1: If database control is configured, stop EM Database Control, using the following command

$> emctl stop dbconsole

Step 2: Connect to the database using the SYS account AS SYSDBA

SET ECHO ON;
SET SERVEROUTPUT ON;
@emremove.sql

Without the set echo and serveroutput commands, you will not be able to follow the progress of the script. CHECK.EM_PRESENT.SEVERITY=WARNING CHECK.EM_PRESENT.FIXUP_STAGE=PRE CHECK.EM_PRESENT.AUTO_FIXUP_AVAILABLE=FALSE CHECK.EM_PRESENT.MIN_VERSION=NONE CHECK.EM_PRESENT.MAX_VERSION=11.2.0.4 # # SYS_DEFAULT_TABLESPACE CHECK # CHECK.SYS_DEFAULT_TABLESPACE.RULE=Having a default tablespace other than SYSTEM for the users SYS and SYSTEM is not supported. The system tablespace is reset to SYSTEM automatically as part of the upgrade process. CHECK.SYS_DEFAULT_TABLESPACE.BROKEN_RULE=The database's SYS schema's default tablespace is {3} and the SYSTEM schema's default tablespace is {4}. CHECK.SYS_DEFAULT_TABLESPACE.ACTION=Ensure that the default tablespace for both the SYS and SYSTEM users is set to SYSTEM. CHECK.SYS_DEFAULT_TABLESPACE.SEVERITY=WARNING CHECK.SYS_DEFAULT_TABLESPACE.FIXUP_STAGE=PRE CHECK.SYS_DEFAULT_TABLESPACE.AUTO_FIXUP_AVAILABLE=TRUE CHECK.SYS_DEFAULT_TABLESPACE.MIN_VERSION=NONE CHECK.SYS_DEFAULT_TABLESPACE.MAX_VERSION=NONE # # ENABLED_INDEXES_TBL CHECK # CHECK.ENABLED_INDEXES_TBL.RULE=Table sys.enabled$indexes should not exist in the source database prior to upgrade. CHECK.ENABLED_INDEXES_TBL.BROKEN_RULE=The database includes the table sys.enabled$indexes. CHECK.ENABLED_INDEXES_TBL.ACTION=Drop table sys.enabled$indexes. CHECK.ENABLED_INDEXES_TBL.SEVERITY=WARNING CHECK.ENABLED_INDEXES_TBL.FIXUP_STAGE=PRE CHECK.ENABLED_INDEXES_TBL.AUTO_FIXUP_AVAILABLE=TRUE CHECK.ENABLED_INDEXES_TBL.MIN_VERSION=NONE CHECK.ENABLED_INDEXES_TBL.MAX_VERSION=NONE # # INVALID_OBJECTS_EXIST CHECK # CHECK.INVALID_OBJECTS_EXIST.RULE=There should be no INVALID objects in SYS/SYSTEM or user schemas before database upgrade. CHECK.INVALID_OBJECTS_EXIST.BROKEN_RULE={2} objects are INVALID. CHECK.INVALID_OBJECTS_EXIST.ACTION=Run {1} $ORACLE_HOME/rdbms/admin/utlrp.sql to recompile invalid objects. You can view the individual invalid objects with

SET SERVEROUTPUT ON;
EXECUTE DBMS_PREUP.INVALID_OBJECTS; CHECK.INVALID_OBJECTS_EXIST.SEVERITY=WARNING CHECK.INVALID_OBJECTS_EXIST.FIXUP_STAGE=PRE CHECK.INVALID_OBJECTS_EXIST.AUTO_FIXUP_AVAILABLE=FALSE CHECK.INVALID_OBJECTS_EXIST.MIN_VERSION=NONE CHECK.INVALID_OBJECTS_EXIST.MAX_VERSION=NONE # # XBRL_VERSION CHECK # CHECK.XBRL_VERSION.RULE=The XBRL Extension to XML DB is not upgraded by the standard upgrade. Refer to My Oracle Support Note for details. CHECK.XBRL_VERSION.BROKEN_RULE=The XBRL Extension to XML DB is installed in the database. CHECK.XBRL_VERSION.ACTION=The XBRL Extension to XML DB must be upgraded separately. CHECK.XBRL_VERSION.SEVERITY=WARNING CHECK.XBRL_VERSION.FIXUP_STAGE=PRE CHECK.XBRL_VERSION.AUTO_FIXUP_AVAILABLE=FALSE CHECK.XBRL_VERSION.MIN_VERSION=11.2 CHECK.XBRL_VERSION.MAX_VERSION=NONE # # AMD_EXISTS CHECK # CHECK.AMD_EXISTS.RULE=Starting with Oracle Database 12c, the OLAP Catalog (OLAP AMD) is desupported and will be automatically marked as OPTION OFF during the database upgrade if present. Oracle recommends removing OLAP Catalog (OLAP AMD) before database upgrade. CHECK.AMD_EXISTS.BROKEN_RULE=The OLAP Catalog component, AMD, exists in the database. CHECK.AMD_EXISTS.ACTION=Remove OLAP Catalog by running the {1} SQL script $ORACLE_HOME/olap/admin/catnoamd.sql script. CHECK.AMD_EXISTS.SEVERITY=WARNING CHECK.AMD_EXISTS.FIXUP_STAGE=PRE CHECK.AMD_EXISTS.AUTO_FIXUP_AVAILABLE=FALSE CHECK.AMD_EXISTS.MIN_VERSION=NONE CHECK.AMD_EXISTS.MAX_VERSION=NONE # # REPCAT_SETUP CHECK # CHECK.REPCAT_SETUP.RULE=Starting with Oracle Database 12.2, the Advanced Replication feature is desupported and will be removed during the upgrade process. This step can be manually performed before the upgrade to reduce downtime. See My Oracle Support Note 788351.1 for details. CHECK.REPCAT_SETUP.BROKEN_RULE=Advanced Replication Setup found. CHECK.REPCAT_SETUP.ACTION=Remove the Advanced Replication feature. CHECK.REPCAT_SETUP.SEVERITY=WARNING CHECK.REPCAT_SETUP.FIXUP_STAGE=PRE CHECK.REPCAT_SETUP.AUTO_FIXUP_AVAILABLE=FALSE CHECK.REPCAT_SETUP.MIN_VERSION=NONE CHECK.REPCAT_SETUP.MAX_VERSION=12.2.0.1 # # OLS_VERSION CHECK # CHECK.OLS_VERSION.RULE=Label Security must either be at the same version as the database or at a version supported for direct database upgrades. CHECK.OLS_VERSION.BROKEN_RULE=Label Security is not at a version supported for direct database upgrades. An attempt to upgrade OLS will result in errors during database upgrade. CHECK.OLS_VERSION.ACTION=Uninstall Label Security. Refer to My Oracle Support Note 2046002.1 for more details. CHECK.OLS_VERSION.SEVERITY=WARNING CHECK.OLS_VERSION.FIXUP_STAGE=PRE CHECK.OLS_VERSION.AUTO_FIXUP_AVAILABLE=FALSE CHECK.OLS_VERSION.MIN_VERSION=NONE CHECK.OLS_VERSION.MAX_VERSION=NONE # # DEFAULT_RESOURCE_LIMIT CHECK # CHECK.DEFAULT_RESOURCE_LIMIT.RULE=The RESOURCE_LIMIT initialization parameter default value changed to TRUE in 12.1.0.2 onwards. Without an explicit setting, the upgrade may introduce unintented RESOURCE_LIMIT enforcement. CHECK.DEFAULT_RESOURCE_LIMIT.BROKEN_RULE=Resource limits defined for users by using database profiles may not be currently enforced, because the RESOURCE_LIMIT initialization parameter in the database is defaulted to FALSE. CHECK.DEFAULT_RESOURCE_LIMIT.ACTION=Explicitly set RESOURCE_LIMIT to FALSE. CHECK.DEFAULT_RESOURCE_LIMIT.SEVERITY=WARNING CHECK.DEFAULT_RESOURCE_LIMIT.FIXUP_STAGE=VALIDATION CHECK.DEFAULT_RESOURCE_LIMIT.AUTO_FIXUP_AVAILABLE=FALSE CHECK.DEFAULT_RESOURCE_LIMIT.MIN_VERSION=10.2 CHECK.DEFAULT_RESOURCE_LIMIT.MAX_VERSION=NONE # # NETWORK_ACL_PRIV CHECK # CHECK.NETWORK_ACL_PRIV.RULE=Network access control list (ACL) privileges in 11g will be migrated to a new format in 12c. As part of the migration, new DBMS_NETWORK_ACL_ADMIN interfaces and dictionary views are provided, and privileges in the existing ACLs will be converted to the new format with new ACL names. The old ACL names, DBMS_NETWORK_ACL_ADMIN interfaces and dictionary views may continue to be used but are deprecated and their use is discouraged. For further information, refer to My Oracle Support note number 2078710.1. CHECK.NETWORK_ACL_PRIV.BROKEN_RULE=The database contains network ACLs with privileges that will be migrated to a new format in 12c. CHECK.NETWORK_ACL_PRIV.ACTION=Backup the existing ACLs and their assignments for reference. Use the new DBMS_NETWORK_ACL_ADMIN interfaces and dictionary views to administer network privileges after upgrade. CHECK.NETWORK_ACL_PRIV.SEVERITY=WARNING CHECK.NETWORK_ACL_PRIV.FIXUP_STAGE=PRE CHECK.NETWORK_ACL_PRIV.AUTO_FIXUP_AVAILABLE=FALSE CHECK.NETWORK_ACL_PRIV.MIN_VERSION=NONE CHECK.NETWORK_ACL_PRIV.MAX_VERSION=12.0 # # EXCLUSIVE_MODE_AUTH CHECK # CHECK.EXCLUSIVE_MODE_AUTH.RULE=Starting with Oracle Database release 12.2, Exclusive Mode is the default password-based authentication mode. In Exclusive Mode, accounts which only have the 10G password version (see DBA_USERS.PASSWORD_VERSIONS) are no longer accessible. If your system has any account with only the 10G password version, Exclusive Mode must be switched off prior to the upgrade. See the Network Reference Manual chapter about the SQLNET.ORA parameter SQLNET.ALLOWED_LOGON_VERSION_SERVER for more details on Exclusive Mode. Refer to the Oracle Database Readme 12c Release 2 (12.2) for further information regarding Bug 22031049. CHECK.EXCLUSIVE_MODE_AUTH.BROKEN_RULE=Your database system has at least one account with only the 10G password version (see the PASSWORD_VERSIONS column of DBA_USERS). CHECK.EXCLUSIVE_MODE_AUTH.ACTION=Switch off Exclusive Mode prior to the upgrade. CHECK.EXCLUSIVE_MODE_AUTH.SEVERITY=WARNING CHECK.EXCLUSIVE_MODE_AUTH.FIXUP_STAGE=PRE CHECK.EXCLUSIVE_MODE_AUTH.AUTO_FIXUP_AVAILABLE=FALSE CHECK.EXCLUSIVE_MODE_AUTH.MIN_VERSION=NONE CHECK.EXCLUSIVE_MODE_AUTH.MAX_VERSION=12.2.0.1 # # AUDTAB_ENC_TS CHECK (Bug 23221566) # CHECK.AUDTAB_ENC_TS.RULE=Oracle Encryption Wallet must be opened during database upgrade if there are audit tables stored in encrypted tablespaces. CHECK.AUDTAB_ENC_TS.BROKEN_RULE=One or more of the audit tables are stored in an encrypted tablespace. Database upgrade will terminate if the Oracle Encryption Wallet is not opened. CHECK.AUDTAB_ENC_TS.ACTION=Open the Oracle Encryption Wallet after the database has been opened in the upgrade mode in the target Oracle home. CHECK.AUDTAB_ENC_TS.SEVERITY=WARNING CHECK.AUDTAB_ENC_TS.FIXUP_STAGE=PRE CHECK.AUDTAB_ENC_TS.AUTO_FIXUP_AVAILABLE=FALSE CHECK.AUDTAB_ENC_TS.MIN_VERSION=NONE CHECK.AUDTAB_ENC_TS.MAX_VERSION=NONE # # JVM_MITIGATION_PATCH CHECK # CHECK.JVM_MITIGATION_PATCH.RULE=The upgrade may fail if Java development is disabled. When active, the OJVM Mitigation patch disables Java development in the database. Oracle strongly recommends installing the latest OJVM PSU in both the {1} and {2} ORACLE_HOMEs which will eliminate the need for the mitigation patch. Doing that in {2} will not incur any database downtime and will eliminate the same vulnerability during the next upgrade. If you cannot apply the OJVM PSU, you may opt to retain the mitigation patch in {1}, but Java development still must be enabled during the upgrade. Please refer to MOS note 1929745.1 for more details. CHECK.JVM_MITIGATION_PATCH.BROKEN_RULE=The temporary OJVM Mitigation patch is currently installed and active in the database, securing it against the known threat but disabling Java development until you can install the latest OJVM PSU. CHECK.JVM_MITIGATION_PATCH.ACTION=If you plan on continuing to use the Oracle mitigation patch instead of installing the Oracle recommended Oracle JavaVM (OJVM) Patch Set Update (PSU), then you should enable Java development just before upgrade using the command:

EXECUTE SYS.DBMS_JAVA_DEV.ENABLE;

Taking this action will make your database subject to a known security vulnerability, but without the PSU patch, Java development must still be enabled to allow some upgrade actions to complete. Extreme caution is advised. CHECK.JVM_MITIGATION_PATCH.SEVERITY=WARNING CHECK.JVM_MITIGATION_PATCH.FIXUP_STAGE=PRE CHECK.JVM_MITIGATION_PATCH.AUTO_FIXUP_AVAILABLE=FALSE CHECK.JVM_MITIGATION_PATCH.MIN_VERSION=NONE CHECK.JVM_MITIGATION_PATCH.MAX_VERSION=NONE # # ##NEW_CHECK## - add message attributes like messages above for a new CHECK right # above here if the new check has SEVERITY=2=WARNING and FIXUP_STAGE=PRE or VALIDATION # Note that the order in which CHECKs are run is dictated by the order in this file. # # #----------------SEVERITY = 5------------------- # RECOMMEND level messages # to resolve BEFORE upgrade (FIXUP_STAGE=PRE or VALIDATION) # # # HIDDEN_PARAMS CHECK # CHECK.HIDDEN_PARAMS.RULE=Remove hidden parameters before database upgrade unless your application vendors and/or Oracle Support state differently. Changes will need to be made in the spfile. CHECK.HIDDEN_PARAMS.BROKEN_RULE=The database contains the following initialization parameters whose name begins with an underscore:

{1} CHECK.HIDDEN_PARAMS.ACTION=Review and remove any unnecessary HIDDEN/UNDERSCORE parameters. CHECK.HIDDEN_PARAMS.SEVERITY=RECOMMEND CHECK.HIDDEN_PARAMS.FIXUP_STAGE=PRE CHECK.HIDDEN_PARAMS.AUTO_FIXUP_AVAILABLE=FALSE CHECK.HIDDEN_PARAMS.MIN_VERSION=NONE CHECK.HIDDEN_PARAMS.MAX_VERSION=NONE # # UNDERSCORE_EVENTS CHECK # CHECK.UNDERSCORE_EVENTS.RULE=There are events set that should be removed before upgrade, unless your application vendors and/or Oracle Support state differently. Changes will need to be made in the spfile. CHECK.UNDERSCORE_EVENTS.BROKEN_RULE=The database contains events. CHECK.UNDERSCORE_EVENTS.ACTION=Review and remove any unnecessary EVENTS. CHECK.UNDERSCORE_EVENTS.SEVERITY=RECOMMEND CHECK.UNDERSCORE_EVENTS.FIXUP_STAGE=PRE CHECK.UNDERSCORE_EVENTS.AUTO_FIXUP_AVAILABLE=FALSE CHECK.UNDERSCORE_EVENTS.MIN_VERSION=NONE CHECK.UNDERSCORE_EVENTS.MAX_VERSION=NONE # # AUDIT_RECORDS CHECK # CHECK.AUDIT_RECORDS.RULE=A large number of Audit Records will slow down database upgrade. CHECK.AUDIT_RECORDS.BROKEN_RULE=The database contains {2} Audit records, which exceeds the recommended limit of {3}. CHECK.AUDIT_RECORDS.ACTION=Review My Oracle Support Note 1329590.1 for a list of options to process a large number of Audit Records before database upgrade, to reduce upgrade down time. CHECK.AUDIT_RECORDS.SEVERITY=RECOMMEND CHECK.AUDIT_RECORDS.FIXUP_STAGE=PRE CHECK.AUDIT_RECORDS.AUTO_FIXUP_AVAILABLE=FALSE CHECK.AUDIT_RECORDS.MIN_VERSION=NONE CHECK.AUDIT_RECORDS.MAX_VERSION=NONE # # CONC_RES_MGR CHECK # CHECK.CONC_RES_MGR.RULE=If the concurrent statistics preference is set to any value other than OFF, then Resource Manager must be enabled, else the concurrent statistics must be changed in DBMS_STATS.SET_GLOBAL_PREFS().
For further information see My Oracle Support Note 2049013.1. CHECK.CONC_RES_MGR.BROKEN_RULE=The CONCURRENT statistics preference is enabled, DBMS_STATS.SET_GLOBAL_PREFS() is set to {1}. However, Resource Manager is disabled, which is an invalid configuration for gathering statistics concurrently. CHECK.CONC_RES_MGR.ACTION=Disable concurrent statistics gathering by setting the CONCURRENT statistics preference to OFF or enable Resource Manager.
To disable the CONCURRENT statistics preference using:

execute {2}; CHECK.CONC_RES_MGR.SEVERITY=RECOMMEND CHECK.CONC_RES_MGR.FIXUP_STAGE=VALIDATION CHECK.CONC_RES_MGR.AUTO_FIXUP_AVAILABLE=TRUE CHECK.CONC_RES_MGR.MIN_VERSION=NONE CHECK.CONC_RES_MGR.MAX_VERSION=NONE # # DICTIONARY_STATS CHECK # CHECK.DICTIONARY_STATS.RULE=Dictionary statistics help the Oracle optimizer find efficient SQL execution plans and are essential for proper upgrade timing. Oracle recommends gathering dictionary statistics in the last 24 hours before database upgrade.

For information on managing optimizer statistics, refer to the {1}. CHECK.DICTIONARY_STATS.BROKEN_RULE=Dictionary statistics do not exist or are stale (not up-to-date). CHECK.DICTIONARY_STATS.ACTION=Gather stale data dictionary statistics prior to database upgrade in off-peak time using:

EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS; CHECK.DICTIONARY_STATS.SEVERITY=RECOMMEND CHECK.DICTIONARY_STATS.FIXUP_STAGE=VALIDATION CHECK.DICTIONARY_STATS.AUTO_FIXUP_AVAILABLE=TRUE CHECK.DICTIONARY_STATS.MIN_VERSION=NONE CHECK.DICTIONARY_STATS.MAX_VERSION=NONE # # TRGOWNER_NO_ADMNDBTRG CHECK # CHECK.TRGOWNER_NO_ADMNDBTRG.RULE=The creation of database triggers must be done by users granted with ADMINISTER DATABASE TRIGGER privilege. Privilege must have been granted directly. CHECK.TRGOWNER_NO_ADMNDBTRG.BROKEN_RULE=There is one or more database triggers whose owner does not have the right privilege on the database. CHECK.TRGOWNER_NO_ADMNDBTRG.ACTION=Directly grant ADMINISTER DATABASE TRIGGER privilege to the owner of the trigger or drop and re-create the trigger with a user that was granted directly with such. You can list those triggers using "SELECT OWNER, TRIGGER_NAME FROM DBA_TRIGGERS WHERE BASE_OBJECT_TYPE=''DATABASE'' AND OWNER NOT IN (SELECT GRANTEE FROM DBA_SYS_PRIVS WHERE PRIVILEGE=''ADMINISTER DATABASE TRIGGER'')" CHECK.TRGOWNER_NO_ADMNDBTRG.SEVERITY=RECOMMEND CHECK.TRGOWNER_NO_ADMNDBTRG.FIXUP_STAGE=PRE CHECK.TRGOWNER_NO_ADMNDBTRG.AUTO_FIXUP_AVAILABLE=FALSE CHECK.TRGOWNER_NO_ADMNDBTRG.MIN_VERSION=NONE CHECK.TRGOWNER_NO_ADMNDBTRG.MAX_VERSION=NONE # # MV_REFRESH CHECK # CHECK.MV_REFRESH.RULE=Oracle recommends that all materialized views (MV's) are refreshed before upgrading the database because this will clear the MV logs and the sumdelta$ table, and make the UPGRADE process faster. If you choose to not refresh some MVs, the change data for those MV's will be carried through the UPGRADE process. After UPGRADE, you can refresh the MV's and MV incremental refresh should work in normal cases. CHECK.MV_REFRESH.BROKEN_RULE=There is one or more non-fresh MV in the database or sumdelta$ is not empty. CHECK.MV_REFRESH.ACTION=Please make sure that all the MVs are refreshed and sys.sumdelta$ becomes empty before doing upgrade, unless you have strong business reasons not to do so. You can use dbms_mview.refresh() to refresh the MVs except those stale ones to be kept due to business need. If there are any stale MVs depending on changes in sys.sumdelta$, do not truncate it, because doing so will cause wrong results after refresh. CHECK.MV_REFRESH.SEVERITY=RECOMMEND CHECK.MV_REFRESH.FIXUP_STAGE=PRE CHECK.MV_REFRESH.AUTO_FIXUP_AVAILABLE=FALSE CHECK.MV_REFRESH.MIN_VERSION=NONE CHECK.MV_REFRESH.MAX_VERSION=NONE # # ##NEW_CHECK## - add message attributes like messages above for a new CHECK right # above here if the new check has SEVERITY=5=RECOMMEND and FIXUP_STAGE=PRE or VALIDATION # Note that the order in which CHECKs are run is dictated by the order in this file. # # #----------------SEVERITY = 3------------------- # INFORMATIONAL level messages # to resolve BEFORE upgrade (FIXUP_STAGE=PRE or VALIDATION) # # # SYNC_STANDBY_DB CHECK # CHECK.SYNC_STANDBY_DB.RULE=To keep data in the source primary database synchronized with its associated standby databases, all standby databases must be synchronized before database upgrade. See My Oracle Support Note 2064281.1 for details. CHECK.SYNC_STANDBY_DB.BROKEN_RULE=The standby database is not currently synchronized with its associated primary database. CHECK.SYNC_STANDBY_DB.ACTION=Synchronize your standby databases before database upgrade. CHECK.SYNC_STANDBY_DB.SEVERITY=INFO CHECK.SYNC_STANDBY_DB.FIXUP_STAGE=PRE CHECK.SYNC_STANDBY_DB.AUTO_FIXUP_AVAILABLE=FALSE CHECK.SYNC_STANDBY_DB.MIN_VERSION=NONE CHECK.SYNC_STANDBY_DB.MAX_VERSION=NONE # # ORDIMAGEINDEX CHECK # CHECK.ORDIMAGEINDEX.RULE=The Oracle Multimedia image domain index, ORDSYS.OrdImageIndex, is no longer supported starting in Oracle Database 11g Release 2 (11.2) and will be removed during database upgrade to version {1}. This step can be manually performed before the upgrade to reduce downtime. CHECK.ORDIMAGEINDEX.BROKEN_RULE=ORDSYS.OrdImageIndex is in use. CHECK.ORDIMAGEINDEX.ACTION=Remove Oracle Multimedia image domain index ORDSYS.OrdImageIndex. CHECK.ORDIMAGEINDEX.SEVERITY=INFO CHECK.ORDIMAGEINDEX.FIXUP_STAGE=PRE CHECK.ORDIMAGEINDEX.AUTO_FIXUP_AVAILABLE=FALSE CHECK.ORDIMAGEINDEX.MIN_VERSION=NONE CHECK.ORDIMAGEINDEX.MAX_VERSION=NONE # # EXF_RUL_EXISTS CHECK # CHECK.EXF_RUL_EXISTS.RULE=Starting with Oracle Database release 12.1, the Expression Filter (EXF) and Database Rules Manager (RUL) features are desupported, and are removed during the upgrade process. This step can be manually performed before the upgrade to reduce downtime. CHECK.EXF_RUL_EXISTS.BROKEN_RULE=Expression Filter (EXF) or Rules Manager (RUL) exist in the database. CHECK.EXF_RUL_EXISTS.ACTION=Run $ORACLE_HOME/rdbms/admin/catnoexf.sql located in the new Oracle Database Oracle home to remove both EXF and RUL. CHECK.EXF_RUL_EXISTS.SEVERITY=INFO CHECK.EXF_RUL_EXISTS.FIXUP_STAGE=PRE CHECK.EXF_RUL_EXISTS.AUTO_FIXUP_AVAILABLE=FALSE CHECK.EXF_RUL_EXISTS.MIN_VERSION=NONE CHECK.EXF_RUL_EXISTS.MAX_VERSION=NONE # # APEX_UPGRADE_MSG CHECK # CHECK.APEX_UPGRADE_MSG.RULE=To reduce database upgrade time, you can upgrade APEX manually before the database upgrade. Refer to My Oracle Support Note 1088970.1 for information on APEX installation upgrades. CHECK.APEX_UPGRADE_MSG.BROKEN_RULE=The database contains APEX version {1} and will need to be upgraded to at least version {2}. CHECK.APEX_UPGRADE_MSG.ACTION=Consider upgrading APEX manually, before the database upgrade. CHECK.APEX_UPGRADE_MSG.SEVERITY=INFO CHECK.APEX_UPGRADE_MSG.FIXUP_STAGE=VALIDATION CHECK.APEX_UPGRADE_MSG.AUTO_FIXUP_AVAILABLE=FALSE CHECK.APEX_UPGRADE_MSG.MIN_VERSION=NONE CHECK.APEX_UPGRADE_MSG.MAX_VERSION=NONE # # DATA_MINING_UPGRADE_MSG CHECK # CHECK.DATA_MINING_OBJECT.RULE=If the -T parameter is specified during the upgrade process, then user tablespaces containing Data Mining objects will not be set to READ ONLY mode as they may require upgrade actions. CHECK.DATA_MINING_OBJECT.BROKEN_RULE=The database contains Data Mining objects stored in customer tablespaces. CHECK.DATA_MINING_OBJECT.ACTION=No action required. CHECK.DATA_MINING_OBJECT.SEVERITY=INFO CHECK.DATA_MINING_OBJECT.FIXUP_STAGE=VALIDATION CHECK.DATA_MINING_OBJECT.AUTO_FIXUP_AVAILABLE=FALSE CHECK.DATA_MINING_OBJECT.MIN_VERSION=NONE CHECK.DATA_MINING_OBJECT.MAX_VERSION=NONE # # MIN_ARCHIVE_DEST_SIZE CHECK # CHECK.MIN_ARCHIVE_DEST_SIZE.RULE=The database has archiving enabled and LOG_ARCHIVE_DEST_ set. The upgrade process will need free disk space in the archive log destination(s) to generate archived logs to. CHECK.MIN_ARCHIVE_DEST_SIZE.BROKEN_RULE=Archiving cannot proceed if the archive log destination is full during upgrade.

Archive Log Destination:
Parameter : {2}
Destination : {1} CHECK.MIN_ARCHIVE_DEST_SIZE.ACTION=Ensure there is additional disk space in {2} for at least {3} of archived logs. Check alert log during the upgrade that there is no write error to the destination due to lack of disk space. Execute 'archive log list' and query v$archive_dest for more LOG_ARCHIVE_DEST_ destinations to check. CHECK.MIN_ARCHIVE_DEST_SIZE.SEVERITY=INFO CHECK.MIN_ARCHIVE_DEST_SIZE.FIXUP_STAGE=PRE CHECK.MIN_ARCHIVE_DEST_SIZE.AUTO_FIXUP_AVAILABLE=FALSE CHECK.MIN_ARCHIVE_DEST_SIZE.MIN_VERSION=NONE CHECK.MIN_ARCHIVE_DEST_SIZE.MAX_VERSION=NONE # # ##NEW_CHECK## - add message attributes like messages above for a new CHECK right # above here if the new check has SEVERITY=3=INFORMATIONAL and FIXUP_STAGE=PRE or VALIDATION # Note that the order in which CHECKs are run is dictated by the order in this file. # #----------------------------------------------------------------------------------------- # Checks that if they fail, will need to be resolved POST upgrade #----------------------------------------------------------------------------------------- # #----------------SEVERITY = 4------------------- # ERROR level messages # to resolve AFTER upgrade (FIXUP_STAGE=POST) # # # # ##NEW_CHECK## - add message attributes like messages above for a new CHECK right # above here if the new check has SEVERITY=4=ERROR and FIXUP_STAGE=POST # Note that the order in which CHECKs are run is dictated by the order in this file. # # #----------------SEVERITY = 2------------------- # WARNING level messages # to resolve AFTER upgrade (FIXUP_STAGE=POST) # # # # DEPEND_USR_TABLES CHECK # CHECK.DEPEND_USR_TABLES.RULE=If the -T option is used to set user tablespaces to READ ONLY during the upgrade, user tables in those tablespaces, that are dependent on Oracle-Maintained types, will not be automatically upgraded. If a type is evolved during the upgrade, any dependent tables need to be re-validated and upgraded to the latest type version AFTER the database upgrade completes. CHECK.DEPEND_USR_TABLES.BROKEN_RULE=There are user tables dependent on Oracle-Maintained object types. CHECK.DEPEND_USR_TABLES.ACTION=If you use the -T option for the database upgrade, then run $ORACLE_HOME/rdbms/admin/utluptabdata.sql after the upgrade is complete, to VALIDATE and UPGRADE any user tables affected by changes to Oracle-Maintained types. CHECK.DEPEND_USR_TABLES.SEVERITY=WARNING CHECK.DEPEND_USR_TABLES.FIXUP_STAGE=POST CHECK.DEPEND_USR_TABLES.AUTO_FIXUP_AVAILABLE=TRUE CHECK.DEPEND_USR_TABLES.MIN_VERSION=NONE CHECK.DEPEND_USR_TABLES.MAX_VERSION=NONE # # AWR_DBIDS_PRESENT CHECK # CHECK.AWR_DBIDS_PRESENT.RULE=Inactve AWR DBIDs should be updated after the upgrade completes. CHECK.AWR_DBIDS_PRESENT.BROKEN_RULE=Inactive DBIDs were found in your Automatic Workload Repository (AWR). CHECK.AWR_DBIDS_PRESENT.ACTION=To update the inactive DBIDs in AWR, run the script awrupd12.sql as SYSDBA. CHECK.AWR_DBIDS_PRESENT.SEVERITY=WARNING CHECK.AWR_DBIDS_PRESENT.FIXUP_STAGE=POST CHECK.AWR_DBIDS_PRESENT.AUTO_FIXUP_AVAILABLE=FALSE CHECK.AWR_DBIDS_PRESENT.MIN_VERSION=10.2 CHECK.AWR_DBIDS_PRESENT.MAX_VERSION=11.2 # # OLD_TIME_ZONES_EXIST CHECK # CHECK.OLD_TIME_ZONES_EXIST.RULE=Oracle recommends using the most recent timezone data. For further information, refer to My Oracle Support Note 1585343.1. CHECK.OLD_TIME_ZONES_EXIST.BROKEN_RULE=The database is using timezone datafile version {2} and the target {3} database ships with timezone datafile version {4}. CHECK.OLD_TIME_ZONES_EXIST.ACTION=Upgrade the database time zone version using the DBMS_DST package. CHECK.OLD_TIME_ZONES_EXIST.SEVERITY=WARNING CHECK.OLD_TIME_ZONES_EXIST.FIXUP_STAGE=POST CHECK.OLD_TIME_ZONES_EXIST.AUTO_FIXUP_AVAILABLE=FALSE CHECK.OLD_TIME_ZONES_EXIST.MIN_VERSION=NONE CHECK.OLD_TIME_ZONES_EXIST.MAX_VERSION=NONE # # APEX_PATCH CHECK # CHECK.APEX_PATCH.RULE=The APEX patching process is not performed by the {1} Oracle database upgrade. The APEX version upgrade only ensures that the APEX version is upgraded to version {3} and does not guarantee the version is brought all the way to the patched level {2}. If a PDB from this CDB is unplugged and plugged into another ROOT, the plugin process may require the PDB to be at the patched level {2}. That patching process, if desired, must be performed manually. See My Oracle Support Note 1088970.1 for more details. CHECK.APEX_PATCH.BROKEN_RULE=Your existing version of APEX ({4}) does not require upgrade, but may still need manual APEX patching. CHECK.APEX_PATCH.ACTION=Patch your APEX software from version {4} to at least version {2}. CHECK.APEX_PATCH.SEVERITY=WARNING CHECK.APEX_PATCH.FIXUP_STAGE=POST CHECK.APEX_PATCH.AUTO_FIXUP_AVAILABLE=FALSE CHECK.APEX_PATCH.MIN_VERSION=NONE CHECK.APEX_PATCH.MAX_VERSION=NONE # # ##NEW_CHECK## - add message attributes like messages above for a new CHECK right # above here if the new check has SEVERITY=2=WARNING and FIXUP_STAGE=POST # Note that the order in which CHECKs are run is dictated by the order in this file. # # #----------------SEVERITY = 5------------------- # RECOMMEND level messages # to resolve AFTER upgrade (FIXUP_STAGE=POST) # # # # POST_DICTIONARY_CHECK # CHECK.POST_DICTIONARY.RULE=Dictionary statistics provide essential information to the Oracle optimizer to help it find efficient SQL execution plans. After a database upgrade, statistics need to be re-gathered as there can now be tables that have significantly changed during the upgrade or new tables that do not have statistics gathered yet. CHECK.POST_DICTIONARY.BROKEN_RULE=Oracle recommends gathering dictionary statistics after upgrade. CHECK.POST_DICTIONARY.ACTION=Gather dictionary statistics after the upgrade using the command:

EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS; CHECK.POST_DICTIONARY.SEVERITY=RECOMMEND CHECK.POST_DICTIONARY.FIXUP_STAGE=POST CHECK.POST_DICTIONARY.AUTO_FIXUP_AVAILABLE=TRUE CHECK.POST_DICTIONARY.MIN_VERSION=NONE CHECK.POST_DICTIONARY.MAX_VERSION=NONE # # FIXED_OBJECTS CHECK # CHECK.FIXED_OBJECTS.RULE=Fixed object statistics provide essential information to the Oracle optimizer to help it find efficient SQL execution plans. Those statistics are specific to the Oracle Database release that generates them, and can be stale upon database upgrade. CHECK.FIXED_OBJECTS.BROKEN_RULE=This recommendation is given for all preupgrade runs. CHECK.FIXED_OBJECTS.ACTION=Gather statistics on fixed objects two weeks after the upgrade using the command:

EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; CHECK.FIXED_OBJECTS.SEVERITY=RECOMMEND CHECK.FIXED_OBJECTS.FIXUP_STAGE=POST CHECK.FIXED_OBJECTS.AUTO_FIXUP_AVAILABLE=FALSE CHECK.FIXED_OBJECTS.MIN_VERSION=NONE CHECK.FIXED_OBJECTS.MAX_VERSION=12.1.0.1 # # ##NEW_CHECK## - add message attributes like messages above for a new CHECK right # above here if the new check has SEVERITY=5=RECOMMEND and FIXUP_STAGE=POST # Note that the order in which CHECKs are run is dictated by the order in this file. # # #----------------SEVERITY = 3------------------- # INFORMATIONAL level messages # to resolve AFTER upgrade (FIXUP_STAGE=POST) # # # # UPG_BY_STD_UPGRD CHECK # CHECK.UPG_BY_STD_UPGRD.RULE=The Oracle database upgrade script upgrades most, but not all Oracle Database components that may be installed. Some components that are not upgraded may have their own upgrade scripts, or they may be deprecated or obsolete. CHECK.UPG_BY_STD_UPGRD.BROKEN_RULE=The database upgrade script will not upgrade the following Oracle components: {1} CHECK.UPG_BY_STD_UPGRD.ACTION=Check the Oracle documentation for the identified components for their specific upgrade procedure. CHECK.UPG_BY_STD_UPGRD.SEVERITY=INFO CHECK.UPG_BY_STD_UPGRD.FIXUP_STAGE=POST CHECK.UPG_BY_STD_UPGRD.AUTO_FIXUP_AVAILABLE=FALSE CHECK.UPG_BY_STD_UPGRD.MIN_VERSION=NONE CHECK.UPG_BY_STD_UPGRD.MAX_VERSION=NONE # # POST_JVM_MITIGAT_PATCH CHECK # CHECK.POST_JVM_MITIGAT_PATCH.RULE=Oracle JavaVM Component Database PSU is released as part of the Critical Patch Update program from October 2014 onwards. Oracle recommends applying the latest OJVM PSU patch to ALL databases that have Oracle JavaVM present in the database, regardless of whether you are explicitly using it or not. Even if Oracle JavaVM is not present in the database it is best practice to install the OJVM PSU in case a new database is created in the ORACLE_HOME. CHECK.POST_JVM_MITIGAT_PATCH.BROKEN_RULE=The temporary OJVM Mitigation patch is currently installed and active in the database, securing it against the known threat but disabling Java development until you can install the latest OJVM BP or PSU. CHECK.POST_JVM_MITIGAT_PATCH.ACTION=Apply latest Oracle JavaVM (OJVM) Bundle Patch (BP) or Patch Set Update (PSU) if it was not applied before database upgrade on {1} ORACLE_HOME. Please refer to MOS note 1929745.1 for more details. CHECK.POST_JVM_MITIGAT_PATCH.SEVERITY=INFO CHECK.POST_JVM_MITIGAT_PATCH.FIXUP_STAGE=POST CHECK.POST_JVM_MITIGAT_PATCH.AUTO_FIXUP_AVAILABLE=FALSE CHECK.POST_JVM_MITIGAT_PATCH.MIN_VERSION=NONE CHECK.POST_JVM_MITIGAT_PATCH.MAX_VERSION=NONE # # ##NEW_CHECK## - add message attributes like messages above for a new CHECK right # above here if the new check has SEVERITY=3=INFORMATIONAL and FIXUP_STAGE=POST # Note that the order in which CHECKs are run is dictated by the order in this file. # # #----------------------------------------------- # End of CHECK.* properties #----------------------------------------------- # # # The next bunch of properties are miscellaneous values # not directly related to the formal preupgrade CHECKs. # # c_check_level_success CONSTANT NUMBER := 1; # c_check_level_info CONSTANT NUMBER := 3; # c_check_level_warning CONSTANT NUMBER := 2; # c_check_level_error CONSTANT NUMBER := 4; # c_check_level_recommend CONSTANT NUMBER := 5; # # # The next messages are for unexpected results. # INTERNAL_ERROR=INTERNAL ERROR: An internal preupgrade error occurred that prevents further execution. This is unexpected and usually caused by some sort of internal inconsistency. You may want to contact Oracle Support. The internal error message is: INVALID_XML=An internal error occurred. The generated XML is unexpectedly invalid. MESSAGE_NOT_FOUND=An internal error occurred. The preupgrade tool could not find an intended message in preupgrade_messages.properties.