Showing posts with label upgrade. Show all posts
Showing posts with label upgrade. Show all posts

Wednesday, August 24, 2022

Oracle E-Business Suite Release 12 Upgrade Sizing and Best Practices (Doc ID 399362.1)

 This document looks at several key aspects of upgrading Oracle E-Business Suite Release 12.

The core of this document is the set of six attachments that contain information on the following topics: tablespace sizing, schema sizing, post-upgrade historical Financials documents (optional), best practices to manage the upgrade of Release 12, required post-upgrade concurrent jobs, and sample upgrade timings.

The database upgrade statistics are from the upgrade of a 6.5 TB Oracle E-Business Suite Release 11.5.10 CU2 database.

There is a change log at the end of this document.

Attachments To This Document

Click on one of the following links to open or download an attachment:

These attachments are also listed at the bottom of this document.

Database Upgrade Statistics

Years of Data MigratedDatabase Size (GB) Before Upgrade
Database Size (GB) After Upgrade
Delta (GB)
% Growth
36609.976808.44198.473
126609.977161.61551.648.3

The first column, "Years of Data Migrated" refers to the number of financial periods (in units of years) selected to be migrated during the actual upgrade phase. For example, three years of Financials data refers to upgrading Financials documents such as Payables, Receivables, Costing, Projects, and Fixed Assets for the periods from 2004 through to 2006.

Note: During upgrade of the admin tier, batchsize was 10,000 and number of workers used was 30.

Wednesday, November 17, 2021

Oracle E-Business Suite Release 12.2 with Database 19c Documentation References:

 

  • Document 2567105.1, FAQ: Oracle E-Business Suite and the Oracle Multitenant Architecture
  • Document 2552181.1, Interoperability Notes: Oracle E-Business Suite Release 12.2 with Oracle Database 19c
  • Document 2530665.1, Using Oracle 19c RAC Multitenant (Single PDB) with Oracle E-Business Suite Release 12.2
  • Document 2665458.1, Oracle E-Business Suite Release 12.2: Upgrading to Oracle Database 19c with Existing Physical Standby
  • Document 2608028.1, Oracle E-Business Suite Release 12.2: Adding or Deleting 19c Oracle RAC Nodes
  • Document 2615883.1, Using Oracle E-Business Suite Release 12.2 with a Database Tier Only Platform on Oracle 19c
  • Document 396009.1, Database Initialization Parameters for Oracle E-Business Suite Release 12
  • Document 2525754.1, Using UTL_FILE_DIR or Database Directories for PL/SQL File I/O in Oracle E-Business Suite Releases 12.1 and 12.2
  • Document 1594274.1, Oracle E-Business Suite Release 12.2: Consolidated List of Patches and Technology Bug Fixes
  • Document 1392527.1, Database Patches Required by Oracle E-Business Suite on Oracle Engineered Systems: Exadata Database Machines and SuperClusters
  • Document 2683670.1, Previous Oracle Database 19c Release Update Database Patch Lists for Oracle E-Business Suite
  • Document 2559570.1, Using Fast Online Conversion to Enable Transparent Data Encryption (TDE) for Oracle E-Business Suite
  • Document 2554156.1, Export/Import Process for Oracle E-Business Suite Release 12.2 Database Instances Using Oracle Database 19c
  • Document 2674405.1, Using Transportable Tablespaces to Migrate Oracle E-Business Suite Release 12.2 using Oracle Database 19c Enterprise Edition on a Multitenant Environment
  • Document 2617787.1, Business Continuity for Oracle E-Business Suite Release 12.2 on Oracle Database 19c Using Physical Host Name
  • Document 2617788.1, Business Continuity for Oracle E-Business Suite Release 12.2 on Oracle Database 19c Using Logical Host Names
  • Document 2608030.1, Using Active Data Guard Reporting with Oracle E-Business Suite Release 12.2 and Database 19c
  • Document 2692032.1Deploying Oracle GoldenGate 19c to Achieve Operational Reporting for Oracle E-Business Suite Release 12 with Oracle Database 19c
  • Document 2617770.1, Integrating Oracle E-Business Suite Release 12.2 with Oracle Database Vault 19c
  • Document 2552208.1, Cloning Oracle E-Business Suite Release 12.2 with Multitenant Database using Rapid Clone
  • Document 2670270.1Using Oracle E-Business Suite Release 12.2 Data Masking Template with Oracle Database 19c with Oracle Enterprise Manager Cloud Control 13c
  • Document 2676355.1, Getting Started with Oracle Application Management Pack (AMP) for Oracle E-Business Suite, Release 13.4.1.0.0
  • Document 2045552.1Getting Started with Oracle Application Management Pack (AMP) for Oracle E-Business Suite, Release 13.1.1.1.0

Troubleshooting:

  • Document 2684666.1, 12.2 E-Business Technology Stack Autoconfig Performance Issue After Upgrade to 19c Database
  • Document 2685022.1, R12 E-Business Suite Technology Stack Post 19c Upgrade, Running Autoconfig Script txkCfgUtlfileDir.pl Fails With Fatal Error In FUNCTION: main::getUtlFileDirParam ERRORMSG: Unable to read UTL_FILE_DIR parameter
  • Document 2662860.1, 19c Database with Oracle E-Business Suite R12 Known Issues & Solutions

EBS Analyzers:

  • E-Business Suite 19c Database Upgrade Analyzer (Doc ID 2704990.1)
  • EBS Installation Configuration Management (ICM) Application DBA Online Patching (ADOP) Analyzer (Doc ID 2379656.1)
  • E-Business Suite Upgrade Analyzer - 12.X to 12.2.X (Doc ID 2634237.1)

Additional Documentation:

NOTE:2662860.1 - 19c Database with Oracle E-Business Suite R12 Known Issues & Solutions
Information Center: Oracle Database 19c with Oracle E-Business Suite 12.2 and 12.1 (Doc ID 2655839.2)

Sunday, July 11, 2021

Database Preupgrade tool check list. (Doc ID 2380601.1)

 

APPLIES TO:

Oracle Database Exadata Express Cloud Service - Version N/A and later
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Information in this document applies to any platform.

PURPOSE

To list out the checks run by the preupgrade tool. To see which checks will be raised for your database, run the preupgrade tool and check the preupgrade logs.

SCOPE

Database Upgrade

DETAILS

 

Preupgrade Tool Check list

Name of Check

Description

Fixup Action

Severity

Fixup Stage

Min Version (inclusive) Check applies

Max Version (exclusive) Check applies

Manual fix up or automatic

AMD_EXISTS

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. This step can be manually performed before the upgrade to reduce downtime.

Remove OLAP Catalog by running the {1} SQL script $ORACLE_HOME/olap/admin/catnoamd.sql script.

WARNING

PRE

NONE

NONE

MANUAL

APEX_MANUAL_UPGRADE

Starting with Oracle Database Release 18, APEX is not upgraded automatically as part of the database upgrade. Refer to My Oracle Support Note 1088970.1 for information about APEX installation and upgrades.

Upgrade Oracle Application Express (APEX) manually before the database upgrade.

WARNING

PRE

NONE

NONE

MANUAL

APPL_PRINCIPAL

Starting with Oracle Database 19, application principals are no longer supported.

It is strongly advised to remove any application principals. Delete user names and roles using procedure delete_application_principal from package xdb.dbms_xdbz.

WARNING

PRE

NONE

19.1

MANUAL

AUDIT_RECORDS

A large number of Audit Records can slow down database upgrade because these records will be updated during the upgrade.

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.

RECOMMEND

PRE

10.1.0.0

11.2.0.0

MANUAL

AUDTAB_ENC_TS

Oracle Encryption Wallet must be opened during database upgrade if there are audit tables stored in encrypted tablespaces.

Open the Oracle Encryption Wallet after the database has been opened in the upgrade mode in the target Oracle home.

WARNING

PRE

NONE

NONE

MANUAL

AWR_DBIDS_PRESENT

Inactve AWR DBIDs should be updated after the upgrade completes.

To update the inactive DBIDs in AWR, run the script awrupd12.sql as SYSDBA.

WARNING

POST

10.2.0.0

12.1.0.1

MANUAL

CASE_INSENSITIVE_AUTH

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.

Remove the SEC_CASE_SENSITIVE_LOGON instance initialization parameter setting, to configure your system to use case sensitive password authentication by default.

WARNING

PRE

NONE

NONE

MANUAL

CDB_ONLY_SUPPORT

Starting with Oracle Database Release 21c, non-container databases (non-CDBs) are not supported for direct upgrades.

Refer to Database Upgrade Guide documentation for options on how to handle non-CDB upgrades to Oracle Database Release 21c or to a later release.

ERROR

PRE

NONE

20.0

MANUAL

COMPATIBLE_NOT_SET

COMPATIBLE initialization parameter must be explicitly set in the pfile/spfile.

Set a value for the compatible parameter in pfile/spfile.

ERROR

PRE

NONE

NONE

MANUAL

COMPATIBLE_PARAMETER

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.

Change the COMPATIBLE initialization parameter to at least {2} before database upgrade.

ERROR

PRE

NONE

NONE

MANUAL

CONC_RES_MGR

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.

Disable concurrent statistics gathering by setting the CONCURRENT statistics preference to OFF or enable Resource Manager.

To disable the CONCURRENT statistics preference use:

 

EXECUTE {2};

WARNING

PRE

NONE

NONE

AUTO

CYCLE_NUMBER

The number of PDBs upgraded in parallel and the number of parallel processes per PDB can be adjusted as described in Database Upgrade Guide.

No action needed.

INFO

PRE

12.1.0.1

NONE

MANUAL

DATA_MINING_OBJECT

If the -T option will be used to set user tablespaces to READ ONLY 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.

No action required.

INFO

VALIDATION

NONE

NONE

MANUAL

DBMS_STATS_METHOD_OPT

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.

Please set the dbms_stats preference of method_opt to a valid value. To set the global preference to the 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 decides the columns that need histograms 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');

ERROR

PRE

NONE

NONE

MANUAL

DEFAULT_RESOURCE_LIMIT

The RESOURCE_LIMIT initialization parameter default value changed from FALSE to TRUE in 12.1.0.2 onwards. Without an explicit setting, the upgrade may introduce unintented RESOURCE_LIMIT enforcement.

Explicitly set RESOURCE_LIMIT to FALSE in the pfile/spfile to retain the previous behavior.

WARNING

VALIDATION

10.2.0.0

12.1.0.2

MANUAL

DEPEND_USR_TABLES

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.

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.

WARNING

POST

NONE

NONE

AUTO

DESUPPORT_RAC_ON_SE

Oracle Real Application Clusters is not supported in Oracle Database Standard Edition 19c and later releases. Refer to My Oracle Support note 2504078.1 for more details.

If you plan to continue using Oracle Real Application Clusters on 19c or later releases, install Oracle Database Enterprise Edition to upgrade your database. If you plan to continue using Oracle Database Standard Edition without Oracle Real Application Clusters enabled, convert your database to a single instance Oracle Database before upgrading.

WARNING

PRE

NONE

19.1

MANUAL

DICTIONARY_STATS

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}.

Gather stale data dictionary statistics prior to database upgrade in off-peak time using:

 

EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;

RECOMMEND

VALIDATION

NONE

NONE

AUTO

DIR_SYMLINKS

Starting in Release 18c, symbolic links are not allowed in directory object path names used with BFILE data types, the UTL_FILE package, or external tables.

To identify directory objects with symbolic links in the path name, run $ORACLE_HOME/rdbms/admin/utldirsymlink.sql AS SYSDBA after upgrade. Recreate any directory objects listed, using path names that contain no symbolic links.

WARNING

POST

NONE

NONE

MANUAL

DIR_SYMLINKS_EXIST

Starting in Release 18c, symbolic links are not allowed in directory object path names used with BFILE data types, the UTL_FILE package, or external tables.

Recreate any directory objects listed, using path names that contain no symbolic links.

WARNING

PRE

NONE

NONE

MANUAL

DV_NO_OLS

Oracle Label Security must be installed if Oracle Database Vault is installed. Install

Oracle Label Security in the database prior to Database Upgrade. Refer to the {1} Oracle Label Security Administrator's Guide for further details.

ERROR

PRE

NONE

NONE

MANUAL

DV_ROLE_GRANTS

Starting in release 21c, Database Vault roles - DV_PUBLIC, DV_REALM_OWNER, DV_REALM_RESOURCE - are desupported and dropped during database upgrades with no replacement. Refer to 21c Database Upgrade Guide for more information.

You must revoke the following to-be-desupported Database Vault roles from any users or roles: {1}. If needed, create new roles to replace these roles and grant the new roles to appropriate users or roles.

ERROR

PRE

NONE

22.1

MANUAL

DV_SIMULATION

Database Vault simulation log records are specific to the Oracle Database release that generates them, and are unusable upon database upgrade.

Review and remove the existing DV simulation log records. Delete the contents of the DVSYS.OLD_SIMULATION_LOG$ table as user with DV_ADMIN/DV_OWNER role.

INFO

POST

12.2.0.1

NONE

MANUAL

EDS_EXISTS

Starting with Oracle Database 19, dbms_logstdby extended datatype support (EDS) is no longer supported. It is strongly advised to remove any EDS TABLE rules.

Execute dbms_logstdby.eds_remove_table for any EDS enabled table.

WARNING

POST

NONE

19.1

MANUAL

EM_PRESENT

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.

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.

WARNING

PRE

NONE

12.1.0.1

MANUAL

ENABLED_INDEXES_TBL

Table sys.enabled$indexes should not exist in the source database prior to upgrade.

Drop table sys.enabled$indexes.

WARNING

PRE

NONE

NONE

AUTO

EXCLUSIVE_MODE_AUTH

Starting with Oracle Database release 12.2.0.1, Exclusive Mode is the new default password-based authentication mode. All Exclusive Mode login/authentication attempts will fail for preexisting user accounts which only have the 10G password version and neither the 11G or 12C password version (see DBA_USERS.PASSWORD_VERSIONS.) For more information, refer to "Understanding Password Case Sensitivity and Upgrades" in the Oracle Database Upgrade Guide.

Perform one of the following:

1) Expire user accounts that use only the old 10G password version and follow the procedure recommended in Oracle Database Upgrade Guide under the section entitled, "Checking for Accounts Using Case-Insensitive Password Version".

2) Explicitly set SQLNET.ALLOWED_LOGON_VERSION_SERVER in the {1} SQLNET.ORA to a non-Exclusive Mode value, such as "11". (This is a short term approach and is not recommended because it will retain known security risks associated with the 10G password version.)

WARNING

PRE

NONE

12.2.0.1

MANUAL

EXF_RUL_EXISTS

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.

Run $ORACLE_HOME/rdbms/admin/catnoexf.sql located in the new Oracle Database Oracle home to remove both EXF and RUL.

INFO

PRE

NONE

12.1.0.1

MANUAL

FILES_BACKUP_MODE

No files should be in backup mode prior to database upgrade.

Ensure that no files are in backup mode before database upgrade.

ERROR

PRE

10.2.0.0

12.1.0.1

MANUAL

FILES_NEED_RECOVERY

There cannot be any files that need media recovery in the database.

Recover files listed in v$recover_file.

ERROR

PRE

NONE

NONE

MANUAL

FIXED_TABLES_DEPENDENCY

Oracle does not guarantee that dictionary fixed tables structure remain unchanged between releases. Therefore, users should not create objects that depends on these fixed tables. Any customer-created objects dependent on fixed tables may become invalid during upgrades. Refer to My Oracle Support Note 361757.1 for details.

Drop the non-Oracle-Maintained objects which have a dependency on dictionary fixed tables.

WARNING

PRE

NONE

NONE

MANUAL

HIDDEN_PARAMS

Remove hidden parameters before database upgrade unless your application vendors and/or Oracle Support state differently. Changes will need to be made in the pfile/spfile.

Review and remove any unnecessary HIDDEN/UNDERSCORE parameters.

RECOMMEND

PRE

NONE

NONE

MANUAL

INVALID_LAF

The LOG_ARCHIVE_FORMAT initialization parameter must contain the format strings %s, %t, and %r.

Update the value of LOG_ARCHIVE_FORMAT initialization parameter.

ERROR

PRE

NONE

NONE

MANUAL

INVALID_OBJECTS_EXIST

There should be no INVALID objects in SYS/SYSTEM or user schemas before database upgrade.

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;

WARNING

PRE

NONE

NONE

MANUAL

INVALID_SYS_TABLEDATA

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.

You must upgrade Oracle-Maintained tables using prior versions of evolved types. Use ALTER TABLE ... UPGRADE INCLUDING DATA.

ERROR

VALIDATION

NONE

NONE

AUTO

INVALID_USR_TABLEDATA

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.

You must upgrade user table data to the latest versions of Oracle-Maintained object types. Use ALTER TABLE ... UPGRADE INCLUDING DATA.

ERROR

VALIDATION

NONE

NONE

AUTO

JAVAVM_JIT_MEMORY

The JAVAVM JIT uses POSIX or file based shared memory on UNIX/LINUX platforms to store compiled methods. This memory is NOT managed as part of the SGA. A minimum of 1.25M bytes of space is required to upgrade a non-CDB database or for each PDB database in a CDB. A minimum of 16M bytes is required for applications or triggers in a non-CDB database or for each PDB database in a CDB.

Check JAVA JIT shared memory size and adjust the size as needed. At the minimum, the size should be enough for the database upgrade. Consult the Oracle Database Java Developers Guide, the platform specific Database Installation Guide, and the O/S documentation for details on how to check or modify the size of this shared memory.

RECOMMEND

PRE

18.0.0.0

NONE

MANUAL

JAVAVM_STATUS

JAVAVM component must be functioning properly before database upgrade.

Contact Oracle Support for instructions on how to resolve this error.

ERROR: ORA{1} {2}

ERROR

PRE

NONE

NONE

MANUAL

JOB_QUEUE_PROCESS_0

Starting with Oracle Database 11.2, setting JOB_QUEUE_PROCESSES=0 will disable job execution via DBMS_JOBS and DBMS_SCHEDULER.

Set the value of JOB_QUEUE_PROCESSES to a non-zero value, or remove the setting entirely and accept the Oracle default.

ERROR

PRE

NONE

NONE

MANUAL

JOB_TABLE_INTEGRITY

Starting with Oracle Database 19c, jobs created and managed through DBMS_JOB package in previous database versions will be re-created using Oracle Scheduler architecture. Jobs not successfully re-created may not function properly after upgrade.

Fix the metadata for the DBMS_JOB jobs listed below before upgrading the database to ensure these jobs can be properly re-created, or drop them if no longer needed. For reference, check the section "Summary of DBMS_JOB Subprograms" in the Oracle Database PL/SQL Packages and Types Reference documentation.

 

{1}

WARNING

PRE

NONE

19.1

MANUAL

JVM_MITIGATION_PATCH

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.

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. The execution of the fixup provided by this check in the preupgrade_fixups.sql script will enable Java development. Extreme caution is advised.

WARNING

PRE

NONE

NONE

AUTO

MIN_ARCHIVE_DEST_SIZE

The database has archiving enabled. The upgrade process will need free disk space in the archive log destination(s) to generate archived logs to.

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.

INFO

PRE

NONE

NONE

MANUAL

MIN_RECOVERY_AREA_SIZE

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 that can cause the upgrade to not proceed.

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.

ERROR

PRE

NONE

NONE

MANUAL

MV_REFRESH

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.

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.

RECOMMEND

PRE

NONE

NONE

MANUAL

NETWORK_ACL_PRIV

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.

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.

WARNING

PRE

NONE

12.1.0.1

MANUAL

NEW_TIME_ZONES_EXIST

The time zone file version used in your database must exist in the new Oracle home before upgrading the database.

Patch the new {3} $ORACLE_HOME/oracore/zoneinfo/ with the version {2} time zone data file from the {1} $ORACLE_HOME/oracore/zoneinfo/.

WARNING

PRE

NONE

NONE

MANUAL

OBJERROR

Objerror$ should have rows only for objects with errors.

Sys.objerror$ must be clean before upgrading. To remove rows that do not belong in this table, run AutoUpgrade in fixups mode.

WARNING

PRE

NONE

NONE

AUTO

OLAP_PAGE_POOL_SIZE

The OLAP_PAGE_POOL_SIZE initialization parameter controls the size of of the OLAP page pool. Without an explicit setting or with it set to 0, OLAP will dynamically resize the pool as needed. Setting it to a non-zero value will cause OLAP to allocate that amount of memory as a fixed-size pool, and never resize the pool. Oracle recommends removing the parameter from the pfile/spfile.

Set OLAP_PAGE_POOL_SIZE in the pfile/spfile to 0 before the upgrade, or remove the setting entirely and accept the Oracle default.

WARNING

PRE

NONE

NONE

MANUAL

OLD_TIME_ZONES_EXIST

Oracle recommends upgrading to the desired (latest) version of the time zone file. For more information, refer to "Upgrading the Time Zone File and Timestamp with Time Zone Data" in the {3} Oracle Database Globalization Support Guide.

Upgrade the database time zone file using the DBMS_DST package.

WARNING

POST

NONE

NONE

MANUAL

OLS_SYS_MOVE

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.

Logged in AS SYSDBA, run $ORACLE_HOME/rdbms/admin/olspreupgrade.sql from the new Oracle Database {2} home.

ERROR

PRE

10.2.0.0

12.1.0.1

MANUAL

OLS_VERSION

Label Security must either be at the same version as the database or at a version supported for direct database upgrades.

Uninstall Label Security. Refer to My Oracle Support Note 2046002.1 for more details.

WARNING

PRE

NONE

NONE

MANUAL

ORACLE_RESERVED_USERS

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.

You must drop the following USERs or ROLEs from the database: {1}

ERROR

PRE

NONE

NONE

MANUAL

ORDIMAGEINDEX

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.

Remove Oracle Multimedia image domain index ORDSYS.OrdImageIndex.

INFO

PRE

11.2.0.0

NONE

MANUAL

ORDIM_DESUPPORT

Starting in release 19c, Oracle Multimedia is desupported. Object types still exist, but methods and procedures will raise an exception. Refer to {1} Oracle Database Upgrade Guide or the Oracle Multimedia README.txt file in <{1} ORACLE_HOME>/ord/im/admin/README.txt for more information.

After upgrade, move data stored in Oracle Multimedia object types to SecureFiles LOBs.

INFO

PRE

NONE

NONE

MANUAL

ORDIM_INFO_DESUPPORT

Starting in release 19c, Oracle Multimedia is desupported. Object types still exist, but methods and procedures will raise an exception. Refer to {1} Oracle Database Upgrade Guide, the Oracle Multimedia README.txt file in <{1} ORACLE_HOME>/ord/im/admin/README.txt, or MOS note 2555923.1 for more information.

Follow the instructions in the Oracle Multimedia README.txt file in <{1} ORACLE_HOME>/ord/im/admin/README.txt, or MOS note 2555923.1 to determine if Oracle Multimedia is being used. If Oracle Multimedia is being used, refer to MOS note 2347372.1 for suggestions on replacing Oracle Multimedia.

INFO

PRE

NONE

NONE

MANUAL

OVERLAP_NETWORK_ACL

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.

Unassign network ACLs. The overlapping ACLs can be found by executing the query:

 

SELECT n1.acl, n1.host, n1.lower_port, n1.upper_port

FROM dba_network_acls n1 WHERE EXISTS

(SELECT * FROM dba_network_acls n2

WHERE n1.host = n2.host AND NOT

(n1.lower_port = n2.lower_port AND n2.upper_port = n1.upper_port) AND

((n1.lower_port <= n2.lower_port AND n2.lower_port <= n1.upper_port) OR

(n1.lower_port <= n2.upper_port AND n2.upper_port <= n1.upper_port) OR

(n2.lower_port <= n1.lower_port AND n1.lower_port <= n2.upper_port) OR

(n2.lower_port <= n1.upper_port AND n1.upper_port <= n2.upper_port)));

ERROR

PRE

11.1.0.7

12.1.0.1

MANUAL

PARAMETER_DEPRECATED

These deprecated parameters probably will be obsolete in a future release.

Consider removing the following deprecated initialization parameters.

INFO

PRE

NONE

NONE

MANUAL

PARAMETER_MIN_VAL

The database upgrade process requires certain initialization parameters to meet minimum values. The Oracle upgrade process itself has minimum values which may be higher and are marked with an asterisk. After upgrading, those asterisked parameter values may be reset if needed.

Update NUMERIC INITIALIZATION PARAMETERS to meet estimated minimums. This action may be done now or when starting the database in upgrade mode using the {1} ORACLE HOME.

WARNING

PRE

NONE

NONE

MANUAL

PARAMETER_NEW_NAME_VAL

Oracle has renamed some of the initialization parameter values since the earlier release. See Oracle documentation for details.

Rename the following initialization parameters and their values when starting the database in upgrade mode using the {1} ORACLE HOME.

WARNING

PRE

NONE

NONE

MANUAL

PARAMETER_OBSOLETE

If parameters that are obsolete or removed from the target release are present in the pfile/spfile, the Oracle database may not start, or it may start with an ORA- error.

Remove initialization parameters that Oracle has obsoleted or removed. This action may be done now or when starting the database in upgrade mode using the target ORACLE HOME.

WARNING

PRE

NONE

NONE

MANUAL

PARAMETER_RENAME

Oracle has renamed some of the initialization parameters since the earlier release. See Oracle documentation for details.

Rename the following initialization parameters when starting the database in upgrade mode using the {2} ORACLE HOME.

WARNING

PRE

NONE

NONE

MANUAL

PA_PROFILE

Privilege Analysis profiles should be disabled and generated results before an upgrade to version {1}.

Disable and generate results for profiles or drop profiles.

WARNING

PRE

12.1

NONE

MANUAL

PENDING_DST_SESSION

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.

Complete any pending DST update operation before starting the database upgrade.

ERROR

PRE

NONE

NONE

MANUAL

PGA_AGGREGATE_LIMIT

PGA_AGGREGATE_LIMIT has to meet a minimum size for database startup in {1} Oracle home.

Set PGA_AGGREGATE_LIMIT in the pfile/spfile to at least {3} before upgrade or remove the setting entirely to accept the Oracle default.

ERROR

PRE

12.1.0.1

NONE

MANUAL

POST_DICTIONARY

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.

Gather dictionary statistics after the upgrade using the command:

 

EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;

RECOMMEND

POST

NONE

NONE

AUTO

POST_DISABLE_BCT_UPG

If Block Change Tracking was disabled for the database upgrade, then re-enable it after upgrade. (CAUTION: Before disabling Block Change Tracking, take into account the time to do a level 0 backup after upgrade.)

Enable Block Change Tracking and perform a level 0 backup before resuming incremental backups for the database. Refer to Oracle Backup and Recovery User's Guide for more details on how to perform and manage Oracle Database Backups.

WARNING

POST

NONE

NONE

MANUAL

POST_FIXED_OBJECTS

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.

 

For information on managing optimizer statistics, refer to the {1}.

Gather statistics on fixed objects after the upgrade and when there is a representative workload on the system using the command:

 

EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;

RECOMMEND

POST

NONE

NONE

MANUAL

POST_JVM_MITIGAT_PATCH

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.

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. The execution of the fixup provided by this check in the postupgrade_fixups.sql script will disable Java development.

INFO

POST

NONE

NONE

AUTO

PRE_DISABLE_BCT_UPG

Performing database upgrade process while Block Change Tracking feature is enabled may lead to memory overhead.

CAUTION: Before disabling Block Change Tracking, take into account the time to do a level 0 backup after upgrade.
If you decide to disable Block Change Tracking, here is the command
ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
in the lower version Oracle home before upgrading.
Note: After upgrade, re-enable Block Change Tracking and perform a level 0 backup before resuming incremental backups for the database. Refer to Oracle Backup and Recovery User's Guide for more details on how to perform and manage Oracle Database Backups.

INFO

PRE

NONE

NONE

MANUAL

PRE_FIXED_OBJECTS

Gathering statistics on fixed objects, if none have been gathered yet, is recommended prior to upgrading.

 

For information on managing optimizer statistics, refer to the {1}.

Gather statistics on fixed objects prior the upgrade.

RECOMMEND

PRE

NONE

NONE

AUTO

PURGE_RECYCLEBIN

The recycle bin must be completely empty before database upgrade.

Empty the RECYCLEBIN immediately before database upgrade.

ERROR

VALIDATION

NONE

NONE

AUTO

PWD_VFN_FUNC

The password verification routines VERIFY_FUNCTION and VERIFY_FUNCTION_11G will be dropped during database upgrade, PROFILES making use of them will become unusable. Such routines are part of PASSWORD_VERIFY_FUNCTION to enforce password complexity.

Alter profiles using VERIFY_FUNCTION and VERIFY_FUNCTION_11G routines as PASSWORD_VERIFY_FUNCTION to use a different password verify function.

ERROR

PRE

18.1

NONE

MANUAL

PWFILE_LOCAL_ADMIN

Oracle Password File needs to be present in target ORACLE_HOME during upgrade when altering
PDB local administrative users to NO AUTHENTICATION.

If upgrading a CDB, migrate/copy the Oracle Password File to its respective location in target ORACLE_HOME before upgrade.

WARNING

PRE

12.1.0.1

NONE

MANUAL

REMOTE_REDO

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.

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.

ERROR

PRE

10.2.0.0

11.2.0.1

MANUAL

REPCAT_SETUP

Advanced Replication is not supported beyond 12.2. All related objects will be removed during the upgrade process. It is advised to remove all Master sites first (if any), for more information and steps to remove a Master site look at section 7-31 of the Oracle Database Advanced Replication Management API Reference. It is advised to remove all MV sites (if any), for more information and steps to remove a MV site look at sections 8-1 to 8-10 of the Oracle Database Advanced Replication Management API Reference.

Remove the Advanced Replication feature.

WARNING

PRE

NONE

12.2.0.1

MANUAL

RLP_PARAM

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.

Set REMOTE_LOGIN_PASSWORDFILE initialization parameter to EXCLUSIVE prior to upgrading.

WARNING

PRE

11.2.0.0

12.2.0.1

MANUAL

RMAN_RECOVERY_VERSION

It is good practice to have the catalog schema the same or higher version than the RMAN client version you are using.

Check the Oracle Backup and Recovery User's Guide for information on how to manage an RMAN recovery catalog schema.

INFO

PRE

NONE

NONE

MANUAL

ROLLBACK_SEGMENTS

Rollback Segments must be sized for the upgrade process.

Use a large (minimum 70M) public rollback segment for the upgrade and take smaller public rollback segments OFFLINE.

WARNING

PRE

NONE

NONE

MANUAL

STREAMS_SETUP

Starting with Oracle Database 19, Oracle Streams is desupported. It is strongly advised to remove any streams configuration manually.

Remove Streams setup. For detailed steps, refer to the section "Removing an Oracle Streams Configuration" in the Oracle Streams Concepts and Administration Guide specific for the Oracle release from which you are removing. For versions pre-12.1.0.2, the procedure dbms_streams_adm.remove_streams_configuration must not be used as may lead to unwanted results. Instead, use the other procedures (dbms_capture_adm.drop_capture, dbms_apply_adm.drop_apply, dbms_streams_adm.remove_queue, etc). For 12.1.0.2 and higher, procedure dbms_streams_adm.remove_streams_configuration can be safely used.

WARNING

PRE

NONE

19.1

MANUAL

SYNC_STANDBY_DB

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.

Synchronize your standby databases before database upgrade.

INFO

PRE

NONE

NONE

MANUAL

SYS_DEFAULT_TABLESPACE

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.

Ensure that the default tablespace for both the SYS and SYSTEM users is set to SYSTEM.

WARNING

PRE

NONE

NONE

AUTO

TABLESPACES

Tablespaces that are not AUTOEXTEND must have sufficient space for the upgrade process. Minimum sizes are estimates.

If an AUTOEXTEND tablespace is listed above, it is because datafile maximum size is limited and has to be increased to meet upgrade process requirements.

Ensure there is adequate tablespace for the upgrade.

WARNING

PRE

NONE

NONE

MANUAL

TABLESPACES_INFO

Minimum tablespace sizes for upgrade are estimates.

To help you keep track of your tablespace allocations, the following AUTOEXTEND tablespaces are expected to successfully EXTEND during the upgrade process.

INFO

PRE

NONE

NONE

MANUAL

TDE_IN_USE

If Oracle Transparent Data Encryption (TDE) is in use, the database system must have access to its Oracle Transparent Data Encryption Master Encryption Key during database upgrade. For more information on configuring Transparent Data Encryption, refer to the {1}.

If an auto-login Oracle Transparent Data Encryption (TDE) Keystore is correctly set up, no action needs to be taken. Otherwise, before starting up the database in upgrade mode in the new Oracle Database Oracle Home, either open the TDE Keystore, or ensure that an auto-login TDE Keystore is configured for the system. If errors are seen while the database upgrade is running because the TDE Keystore is closed, then open the TDE Keystore and resume the upgrade (see "catctl.pl -R"). It may be necessary to open the TDE Keystore as the upgrade progresses in a non-CDB or CDB (e.g., in CDB$ROOT and PDB) if no auto-login TDE Keystore has been configured, as the upgrade process can shutdown and startup the database.

WARNING

PRE

11.2.0.4

NONE

MANUAL

TEMPTS_ALLOFFLINE

The default temporary tablespace or tablespace group must include at least one temp file that is online.

Bring at least one temp file online in the default temporary tablespace or tablespace group.

ERROR

PRE

NONE

NONE

MANUAL

TEMPTS_NOTEMPFILE

The default temporary tablespace must have at least one temp file associated.

Add at least one temp file to the listed temporary tablespace.

ERROR

PRE

NONE

NONE

MANUAL

TRGOWNER_NO_ADMNDBTRG

The creation of database triggers must be done by users granted with ADMINISTER DATABASE TRIGGER privilege. Privilege must have been granted directly.

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 TRIM(BASE_OBJECT_TYPE)='DATABASE' AND OWNER NOT IN (SELECT GRANTEE FROM DBA_SYS_PRIVS WHERE PRIVILEGE='ADMINISTER DATABASE TRIGGER').

RECOMMEND

PRE

NONE

NONE

AUTO

TS_FORUPG_STATUS

All default tablespaces storing Oracle-maintained dictionary objects must allow write operations during database upgrade.

Modify the tablespace(s) below with ALTER TABLESPACE command to allow write operations before starting database upgrade. Not doing so can lead to failures during upgrade.

 

{1}

ERROR

PRE

NONE

NONE

MANUAL

TWO_PC_TXN_EXIST

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;

Resolve all outstanding distributed transactions prior to database upgrade.

ERROR

PRE

NONE

NONE

MANUAL

ULTRASEARCH_DATA

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.

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.

ERROR

PRE

NONE

12.2.0.1

MANUAL

UNDERSCORE_EVENTS

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 pfile/spfile.

Review and remove any unnecessary EVENTS.

RECOMMEND

PRE

NONE

NONE

MANUAL

UNIAUD_RECORDS_IN_FILE

Oracle Unified Audit records present in the OS spillover audit files must be loaded to the database audit table before database upgrade to ensure they can be read after upgrade. For more information, refer to "LOAD_UNIFIED_AUDIT_FILES Procedure" in Database PL/SQL Packages and Types Reference.

Load the Unified Audit records from OS spillover audit files to database audit table using DBMS_AUDIT_MGMT.LOAD_UNIFIED_AUDIT_FILES api before upgrade.

WARNING

PRE

12.2.0.1

NONE

AUTO

UNIAUD_TAB

"AUDSYS.AUD$UNIFIED" is going to be Oracle defined Unified Audit internal table.

"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.

ERROR

PRE

NONE

NONE

MANUAL

UPG_BY_STD_UPGRD

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 the Oracle documentation for the identified components for their specific upgrade procedure.

INFO

POST

NONE

NONE

MANUAL

UTLRP_RUN_SERIAL

By default, the execution of rdbms/admin/utlrp.sql to recompile invalid objects can spawn multiple DBMS_SCHEDULER jobs in parallel if the value of JOB_QUEUE_PROCESSES parameter, which limits the maximum number of concurrent jobs running at a time, is higher than 1. For more information on UTL_RECOMP package, refer to the "Oracle Database PL/SQL Packages and Types Reference" guide. For more information on JOB_QUEUE_PROCESSES initialization parameter, refer to the "Oracle Database Reference" guide.

Review and adjust the value in initialization parameter JOB_QUEUE_PROCESSES.

WARNING

PRE

NONE

NONE

MANUAL

XBRL_VERSION

The XBRL Extension to XML DB is not upgraded by the standard upgrade. Refer to My Oracle Support Note 1547380.2 for details.

The XBRL Extension to XML DB must be upgraded separately.

WARNING

PRE

11.2.0.0

NONE

MANUAL

XDB_RESOURCE_TYPE

Direct access to either TYPE XDB.XDB$RESOURCE_T or TABLE XDB.XDB$RESOURCE is restricted to Oracle internal code only.

Please contact Oracle Support to resolve the problem.

ERROR

PRE

11.1.0.0

NONE

MANUAL

 

 

MATERIALIZED VIEWS

You can query the ALL_MVIEWS catalog view to get the list of stale MV's:

select owner, mview_name from all_mviews where staleness = 'STALE';


You can also query ALL_MVIEWS catalog view to get the list of MV's which are in an invalid or unusable state:

select owner, mview_name from all_mviews where staleness not in
('FRESH', 'STALE', 'UNKNOWN') or compile_state not in ('VALID');


A MV is considered unusable when it has inconsistent data and invalid when it has a inconsistent metadata such as when a dependent object has changed.  In such cases, the root cause must be determined, addressed and the MV must be recompiled and refreshed. You can also find the MV's which are being currently refreshed with the following query:

SELECT u.name owner, o.name mview_name
FROM sys.obj$ o, sys.user$ u, sys.sum$
s WHERE o.type# = 42 AND o.owner# = u.user# and s.obj# = o.obj# and
bitand(s.mflags, 8) = 8;


In such cases, you must wait for the refresh to complete before proceeding with Upgrade.

DB Upgrade to 19c | preupgrade_fixups.sql fails with error

 Issue : 

SQL> @/u02/app/oracle/cfgtoollogs/XXXX/preupgrade/2021-07-07205429/naerppch_stby/preupgrade_fixups.sql

DECLARE

*

ERROR at line 1:

ORA-29284: file read error

ORA-06512: at "SYS.UTL_FILE", line 106

ORA-06512: at "SYS.UTL_FILE", line 746

ORA-06512: at "SYS.DBMS_PREUP", line 3352

ORA-06512: at "SYS.DBMS_PREUP", line 10503

ORA-06512: at line 13



Fix :

$echo $ORA_NLS10 

$  unset ORA_NLS10 and run the script again.

$ echo $ORA_NLS10 

Thursday, July 8, 2021

12.2 - 19c Upgrade

Upgrade Oracle database manually from 12c to 19c

Manually Upgrade database from 12c to 19c

Description

In this article I will demonstrate an overview on manually upgrading Oracle database from 12.2.0.1 to 19.3.0.0 on Oracle Linux 7 64bit platform. As the source database version is 12.2.0.1, we can go for a direct upgrade to 19c.

Below Oracle versions can be directly upgraded to 19c. Refer this document

  • 11.2.0.4
  • 12.1.0.2
  • 12.2.0.1
  • 18c

Below is the high level steps:

  1. Installing Oracle 19.3.0.0 binaries
  2. Executing the preupgrade jar tool
  3. Performing the preupgrade actions
  4. Backing up the database / Create a guaranteed restore point
  5. Upgrade the database
  6. Perform the postupgrade actions

Environment Details:

Source 		Hostname:		new12c
		Database version:	12.2.0.1
		Database Name:		dev12c
		ORACLE_HOME:		/u01/app/oracle/product/12.2.0/db_1


Target 		Hostname:		new12c 
		Databaes Version:	19.3.0.0
		Database name:		dev12c
		ORACLE_HOME:		/u01/app/oracle/product/19.3.0/dbhome_1

1. Installing Oracle 19c binaries.

I have already completed the installation of 19c, Refer here for step by step installation of Oracle 19.3.0.0 on Linux 7 64bit.

2. Executing the pre-upgrade jar tool

Pre-upgrade information tool is used to determine the instance readiness before upgrading the database. The pre-upgrade script will generate the fix for many issues before you upgrade to new Oracle home.

The Pre-upgrade Information Tool is available in the new release Oracle home, in path ORACLE_HOME/rdbms/admin/preupgrade.jar

Run the pre-upgrade tool
$ORACLE_BASE/product/19.3.0/dbhome_1/rdbms/admin/preupgrade.jar

Make sure to run the tool from source ORACLE_HOME.

$ORACLE_BASE/product/12.2.0/db_1/jdk/bin/java -jar $ORACLE_BASE/product/19.3.0/dbhome_1/rdbms/admin/preupgrade.jar DIR /u01/preupgrade

Output:

export ORACLE_SID=db12c
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1

[oracle@new12c db12c]$ $ORACLE_BASE/product/12.2.0/db_1/jdk/bin/java -jar $ORACLE_BASE/product/19.3.0/dbhome_1/rdbms/admin/preupgrade.jar DIR /u01/preupgrade/
==================
PREUPGRADE SUMMARY
==================
  /u01/preupgrade/preupgrade.log
  /u01/preupgrade/preupgrade_fixups.sql
  /u01/preupgrade/postupgrade_fixups.sql

Execute fixup scripts as indicated below:

Before upgrade:

Log into the database and execute the preupgrade fixups
@/u01/preupgrade/preupgrade_fixups.sql

After the upgrade:

Log into the database and execute the postupgrade fixups
@/u01/preupgrade/postupgrade_fixups.sql

Preupgrade complete: 2020-11-17T02:21:12
[oracle@new12c db12c]$

Detailed output is generated in DIR path, in my case /u01/preupgrade/preupgrade.log

[oracle@new12c preupgrade]$ cat preupgrade.log
Report generated by Oracle Database Pre-Upgrade Information Tool Version
19.0.0.0.0 Build: 1 on 2020-11-17T02:21:12

Upgrade-To version: 19.0.0.0.0

=======================================
Status of the database prior to upgrade
=======================================
      Database Name:  DB12C
     Container Name:  db12c
       Container ID:  0
            Version:  12.2.0.1.0
     DB Patch Level:  No Patch Bundle applied
         Compatible:  12.2.0
          Blocksize:  8192
           Platform:  Linux x86 64-bit
      Timezone File:  26
  Database log mode:  ARCHIVELOG
           Readonly:  FALSE
            Edition:  EE

  Oracle Component                       Upgrade Action    Current Status
  ----------------                       --------------    --------------
  Oracle Server                          [to be upgraded]  VALID
  JServer JAVA Virtual Machine           [to be upgraded]  VALID
  Oracle XDK for Java                    [to be upgraded]  VALID
  Real Application Clusters              [to be upgraded]  OPTION OFF
  Oracle Workspace Manager               [to be upgraded]  VALID
  OLAP Analytic Workspace                [to be upgraded]  VALID
  Oracle Label Security                  [to be upgraded]  VALID
  Oracle Database Vault                  [to be upgraded]  VALID
  Oracle Text                            [to be upgraded]  VALID
  Oracle XML Database                    [to be upgraded]  VALID
  Oracle Java Packages                   [to be upgraded]  VALID
  Oracle Multimedia                      [to be upgraded]  VALID
  Oracle Spatial                         [to be upgraded]  VALID
  Oracle OLAP API                        [to be upgraded]  VALID

==============
BEFORE UPGRADE
==============

  REQUIRED ACTIONS
  ================
  1.  Set DB_RECOVERY_FILE_DEST_SIZE initialization parameter to at least 4625
      MB.  Check alert log during the upgrade to ensure there is remaining free
      space available in the recovery area.

      DB_RECOVERY_FILE_DEST_SIZE is set at 4096 MB.  There is currently 4089 MB
      of free space remaining, which may not be adequate for the upgrade.

      Currently:
       Fast recovery area :  /u01/app/oracle/fast_recovery_area/db12c
       Limit              :  4096 MB
       Used               :  7169 KB
       Available          :  4089 MB

      The database has archivelog mode enabled, and the upgrade process will
      need free space to generate archived logs 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 that
      can cause the upgrade to not proceed.

  RECOMMENDED ACTIONS
  ===================
  2.  (AUTOFIXUP) Gather stale data dictionary statistics prior to database
      upgrade in off-peak time using:

        EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;

      Dictionary statistics do not exist or are stale (not up-to-date).

      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 12.2.0.1
      Oracle Database SQL Tuning Guide.

  3.  (AUTOFIXUP) Gather statistics on fixed objects prior the upgrade.

      None of the fixed object tables have had stats collected.

      Gathering statistics on fixed objects, if none have been gathered yet, is
      recommended prior to upgrading.

      For information on managing optimizer statistics, refer to the 12.2.0.1
      Oracle Database SQL Tuning Guide.

  INFORMATION ONLY
  ================
  4.  To help you keep track of your tablespace allocations, the following
      AUTOEXTEND tablespaces are expected to successfully EXTEND during the
      upgrade process.

                                                 Min Size
      Tablespace                        Size     For Upgrade
      ----------                     ----------  -----------
      SYSAUX                             470 MB       500 MB
      SYSTEM                             800 MB       912 MB
      TEMP                                32 MB       150 MB
      UNDOTBS1                            70 MB       439 MB

      Minimum tablespace sizes for upgrade are estimates.

  5.  Check the Oracle Backup and Recovery User's Guide for information on how
      to manage an RMAN recovery catalog schema.

      If you are using a version of the recovery catalog schema that is older
      than that required by the RMAN client version, then you must upgrade the
      catalog schema.

      It is good practice to have the catalog schema the same or higher version
      than the RMAN client version you are using.

  ORACLE GENERATED FIXUP SCRIPT
  =============================
  All of the issues in database DB12C
  which are identified above as BEFORE UPGRADE "(AUTOFIXUP)" can be resolved by
  executing the following

    SQL>@/u01/preupgrade/preupgrade_fixups.sql

=============
AFTER UPGRADE
=============

  REQUIRED ACTIONS
  ================
  None

  RECOMMENDED ACTIONS
  ===================
  6.  Upgrade the database time zone file using the DBMS_DST package.

      The database is using time zone file version 26 and the target 19 release
      ships with time zone file version 32.

      Oracle recommends upgrading to the desired (latest) version of the time
      zone file.  For more information, refer to "Upgrading the Time Zone File
      and Timestamp with Time Zone Data" in the 19 Oracle Database
      Globalization Support Guide.

  7.  To identify directory objects with symbolic links in the path name, run
      $ORACLE_HOME/rdbms/admin/utldirsymlink.sql AS SYSDBA after upgrade.
      Recreate any directory objects listed, using path names that contain no
      symbolic links.

      Some directory object path names may currently contain symbolic links.

      Starting in Release 18c, symbolic links are not allowed in directory
      object path names used with BFILE data types, the UTL_FILE package, or
      external tables.

  8.  (AUTOFIXUP) Gather dictionary statistics after the upgrade using the
      command:

        EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;

      Oracle recommends gathering dictionary statistics after upgrade.

      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.

  9.  Gather statistics on fixed objects after the upgrade and when there is a
      representative workload on the system using the command:

        EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;

      This recommendation is given for all preupgrade runs.

      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.

      For information on managing optimizer statistics, refer to the 12.2.0.1
      Oracle Database SQL Tuning Guide.

  ORACLE GENERATED FIXUP SCRIPT
  =============================
  All of the issues in database DB12C
  which are identified above as AFTER UPGRADE "(AUTOFIXUP)" can be resolved by
  executing the following

    SQL>@/u01/preupgrade/postupgrade_fixups.sql


[oracle@new12c preupgrade]$

3. Performing the pre-upgrade actions

Run the preupgrade_fixups.sql

SQL> @/u01/preupgrade/preupgrade_fixups.sql

Executing Oracle PRE-Upgrade Fixup Script

Auto-Generated by:       Oracle Preupgrade Script
                         Version: 19.0.0.0.0 Build: 1
Generated on:            2020-11-17 02:21:02

For Source Database:     DB12C
Source Database Version: 12.2.0.1.0
For Upgrade to Version:  19.0.0.0.0

Preup                             Preupgrade
Action                            Issue Is
Number  Preupgrade Check Name     Remedied    Further DBA Action
------  ------------------------  ----------  --------------------------------
    1.  min_recovery_area_size    NO          Manual fixup required.
    2.  dictionary_stats          YES         None.
    3.  pre_fixed_objects         YES         None.
    4.  tablespaces_info          NO          Informational only.
                                              Further action is optional.
    5.  rman_recovery_version     NO          Informational only.
                                              Further action is optional.

The fixup scripts have been run and resolved what they can. However,
there are still issues originally identified by the preupgrade that
have not been remedied and are still present in the database.
Depending on the severity of the specific issue, and the nature of
the issue itself, that could mean that your database is not ready
for upgrade.  To resolve the outstanding issues, start by reviewing
the preupgrade_fixups.sql and searching it for the name of
the failed CHECK NAME or Preupgrade Action Number listed above.
There you will find the original corresponding diagnostic message
from the preupgrade which explains in more detail what still needs
to be done.

PL/SQL procedure successfully completed.

SQL> SQL>

The preupgrade_fixups.sql output lists multiple recommendations which has to be fix manually. We will fix the below recommendations manually and re-run the preupgrade_fixups.sql

    1.  min_recovery_area_size    NO          Manual fixup required.
    2.  dictionary_stats          YES         None.
    3.  pre_fixed_objects         YES         None.
    4.  tablespaces_info          NO          Informational only.
                                              Further action is optional.
    5.  rman_recovery_version     NO          Informational only.
                                              Further action is optional.

Recommendations 1 and 4 has to be fixed manually.

Here I am ignoring point No: 5 rman_recovery_verison as there is no recovery catalog configured in my environment.

Recommendation 1: min_recovery_area_size

    1.  Set DB_RECOVERY_FILE_DEST_SIZE initialization parameter to at least 4625
      MB.  Check alert log during the upgrade to ensure there is remaining free
      space available in the recovery area.

      DB_RECOVERY_FILE_DEST_SIZE is set at 4096 MB.  There is currently 4089 MB
      of free space remaining, which may not be adequate for the upgrade.

      Currently:
       Fast recovery area :  /u01/app/oracle/fast_recovery_area/db12c
       Limit              :  4096 MB
       Used               :  7169 KB
       Available          :  4089 MB

      The database has archivelog mode enabled, and the upgrade process will
      need free space to generate archived logs 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 that
      can cause the upgrade to not proceed.

Action: Increase the DB_RECOVERY_FILE_DEST_SIZE parameter

sqlplus "/as sysdba"
alter system set db_recovery_file_dest_size=6000M scope=both;

Recommendation 4: tablespaces_info

  4.  To help you keep track of your tablespace allocations, the following
      AUTOEXTEND tablespaces are expected to successfully EXTEND during the
      upgrade process.

                                                 Min Size
      Tablespace                        Size     For Upgrade
      ----------                     ----------  -----------
      SYSAUX                             470 MB       500 MB
      SYSTEM                             800 MB       912 MB
      TEMP                                32 MB       150 MB
      UNDOTBS1                            70 MB       439 MB

Action: increase the datafile size

alter database datafile '/u01/app/oracle/oradata/db12c/system01.dbf' resize 912M;
alter database datafile '/u01/app/oracle/oradata/db12c/sysaux01.dbf' resize 500M;
alter database datafile '/u01/app/oracle/oradata/db12c/undotbs01.dbf' resize 440M;
alter database tempfile '/u01/app/oracle/oradata/db12c/temp01.dbf' resize 200M;

Now re-run the preupgrade_fixups.sql

SQL> @/u01/preupgrade/preupgrade_fixups.sql
Executing Oracle PRE-Upgrade Fixup Script

Auto-Generated by:       Oracle Preupgrade Script
                         Version: 19.0.0.0.0 Build: 1
Generated on:            2020-11-17 02:21:02

For Source Database:     DB12C
Source Database Version: 12.2.0.1.0
For Upgrade to Version:  19.0.0.0.0

Preup                             Preupgrade
Action                            Issue Is
Number  Preupgrade Check Name     Remedied    Further DBA Action
------  ------------------------  ----------  --------------------------------
    1.  dictionary_stats          YES         None.
    2.  pre_fixed_objects         YES         None.
    3.  tablespaces_info          NO          Informational only.
                                              Further action is optional.
    4.  rman_recovery_version     NO          Informational only.
                                              Further action is optional.

The fixup scripts have been run and resolved what they can. However,
there are still issues originally identified by the preupgrade that
have not been remedied and are still present in the database.
Depending on the severity of the specific issue, and the nature of
the issue itself, that could mean that your database is not ready
for upgrade.  To resolve the outstanding issues, start by reviewing
the preupgrade_fixups.sql and searching it for the name of
the failed CHECK NAME or Preupgrade Action Number listed above.
There you will find the original corresponding diagnostic message
from the preupgrade which explains in more detail what still needs
to be done.

PL/SQL procedure successfully completed.

SQL> exit

4. Backing up the database / Create a guaranteed restore point

It is recommended to take a backup of database using RMAN or create a guaranteed restore point. Ensure proper failback plan in place.

Creating a guranteed restore point:

create restore point before_upgrade_19c guarantee flashback database;

SQL> select NAME,GUARANTEE_FLASHBACK_DATABASE,TIME from V$restore_point;

NAME                 GUARANTEE TIME
-------------------- --------- --------------------------------
BEFORE_UPGRADE_19C   YES        17-NOV-20 04.07.59.000000000 AM

4. Upgrading the database

Once the pre-upgrade actions are completed, shutdown the database to start the upgrade process

sqlplus /as sysdba
shutdown immediate;
exit

Copy the spfile, password file and listener file from old ORACLE_HOME to new 19c ORACLE_HOME

[oracle@new12c preupgrade]$ cp $ORACLE_HOME/dbs/orapwdb12c /u01/app/oracle/product/19.3.0/dbhome_1/dbs/
[oracle@new12c preupgrade]$ cp $ORACLE_HOME/dbs/spfiledb12c.ora /u01/app/oracle/product/19.3.0/dbhome_1/dbs/

[oracle@new12c preupgrade]$ cp $ORACLE_HOME/network/admin/listener.ora /u01/app/oracle/product/19.3.0/dbhome_1/network/admin

[oracle@new12c preupgrade-2]$ cd /u01/app/oracle/product/19.3.0/dbhome_1/dbs/
[oracle@new12c dbs]$ ls -l *db12c*
-rw-r-----. 1 oracle oinstall 3584 Nov 17 04:47 orapwdb12c
-rw-r-----. 1 oracle oinstall 3584 Nov 17 04:47 spfiledb12c.ora

Stop listener running on 11g home and start it from 19c home

[oracle@ol7-dev ~]$ lsnrctl stop

[oracle@ol7-dev ~]$ export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
[oracle@ol7-dev ~]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@ol7-dev ~]$ lsnrctl start

Start the database from 19c ORACLE_HOME and start the upgrade.

export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
sqlplus /as sysdba
startup upgrade;
select name,open_mode,status from v$database, v$instance;

--output--
[oracle@ol7-dev ~]$ export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
[oracle@ol7-dev ~]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@ol7-dev ~]$
[oracle@ol7-dev ~]$ sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production on Sun Nov 8 04:48:01 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Enter user-name: /as sysdba
Connected to an idle instance.

SQL>
SQL> startup upgrade;
ORACLE instance started.

Total System Global Area 1258290752 bytes
Fixed Size                  8896064 bytes
Variable Size             805306368 bytes
Database Buffers          436207616 bytes
Redo Buffers                7880704 bytes
Database mounted.
Database opened.
SQL>
SQL>
SQL> select name,open_mode,status from v$database, v$instance;

NAME      OPEN_MODE            STATUS
--------- -------------------- ------------
DB12C     READ WRITE           OPEN MIGRATE
SQL> exit

Run the DB Upgrade utility

$ORACLE_HOME/bin/dbupgrade

Output:

[oracle@new12c db12c]$ $ORACLE_HOME/bin/dbupgrade

Argument list for [/u01/app/oracle/product/19.3.0/dbhome_1/rdbms/admin/catctl.pl]
For Oracle internal use only A = 0
Run in                       c = 0
.
.
.
<output truncated>
.
.
.
------------------------------------------------------
Phases [0-107]         End Time:[2020_11_17 11:56:33]
------------------------------------------------------

Grand Total Time: 3781s

 LOG FILES: (/u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/db12c/upgrade20201117105328/catupgrd*.log)

Upgrade Summary Report Located in:
/u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/db12c/upgrade20201117105328/upg_summary.log

Grand Total Upgrade Time:    [0d:1h:3m:1s]
[oracle@new12c db12c]$

Check the upgrade summary log,

[oracle@new12c db12c]$ cat /u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/db12c/upgrade20201117105328/upg_summary.log

Oracle Database Release 19 Post-Upgrade Status Tool    11-17-2020 11:56:0
Database Name: DB12C

Component                               Current         Full     Elapsed Time
Name                                    Status          Version  HH:MM:SS

Oracle Server                          UPGRADED      19.3.0.0.0  00:25:05
JServer JAVA Virtual Machine           UPGRADED      19.3.0.0.0  00:02:26
Oracle XDK                             UPGRADED      19.3.0.0.0  00:02:20
Oracle Database Java Packages          UPGRADED      19.3.0.0.0  00:00:29
OLAP Analytic Workspace                UPGRADED      19.3.0.0.0  00:00:22
Oracle Label Security                  UPGRADED      19.3.0.0.0  00:00:12
Oracle Database Vault                  UPGRADED      19.3.0.0.0  00:00:38
Oracle Text                            UPGRADED      19.3.0.0.0  00:01:20
Oracle Workspace Manager               UPGRADED      19.3.0.0.0  00:01:16
Oracle Real Application Clusters       UPGRADED      19.3.0.0.0  00:00:00
Oracle XML Database                    UPGRADED      19.3.0.0.0  00:03:11
Oracle Multimedia                      UPGRADED      19.3.0.0.0  00:01:34
Spatial                                UPGRADED      19.3.0.0.0  00:12:38
Oracle OLAP API                        UPGRADED      19.3.0.0.0  00:00:27
Datapatch                                                        00:07:25
Final Actions                                                    00:07:35
Post Upgrade                                                     00:00:25

Total Upgrade Time: 01:00:39

Database time zone version is 26. It is older than current release time
zone version 32. Time zone upgrade is needed using the DBMS_DST package.

Grand Total Upgrade Time:    [0d:1h:3m:1s]
[oracle@new12c db12c]$

DB is in shutdown state after the dbupgrade process. Start the database. Check the database component status.

export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
sqlplus / as sysdba
startup
SELECT name, open_mode, status, version from v$database, v$instance;

Output:

output:
[oracle@new12c flashback]$ export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
[oracle@new12c flashback]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@new12c flashback]$ sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 17 23:50:53 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Enter user-name: /as sysdba
Connected to an idle instance.

SQL>
SQL> startup
ORACLE instance started.

Total System Global Area 1157627168 bytes
Fixed Size                  8895776 bytes
Variable Size            1040187392 bytes
Database Buffers          100663296 bytes
Redo Buffers                7880704 bytes
Database mounted.
Database opened.
SQL>


SQL> SELECT name, open_mode, status, version from v$database, v$instance;

NAME      OPEN_MODE            STATUS       VERSION
--------- -------------------- ------------ -----------------
DB12C     READ WRITE           OPEN         19.0.0.0.0

Execute Post-Upgrade Status Tool, utlusts.sql

@$ORACLE_HOME/rdbms/admin/utlusts.sql TEXT

SQL> @$ORACLE_HOME/rdbms/admin/utlusts.sql TEXT

Oracle Database Release 19 Post-Upgrade Status Tool    11-18-2020 00:15:2
Database Name: DB12C

Component                               Current         Full     Elapsed Time
Name                                    Status          Version  HH:MM:SS

Oracle Server                          UPGRADED      19.3.0.0.0  00:25:05
JServer JAVA Virtual Machine           UPGRADED      19.3.0.0.0  00:02:26
Oracle XDK                             UPGRADED      19.3.0.0.0  00:02:20
Oracle Database Java Packages          UPGRADED      19.3.0.0.0  00:00:29
OLAP Analytic Workspace                UPGRADED      19.3.0.0.0  00:00:22
Oracle Label Security                  UPGRADED      19.3.0.0.0  00:00:12
Oracle Database Vault                  UPGRADED      19.3.0.0.0  00:00:38
Oracle Text                            UPGRADED      19.3.0.0.0  00:01:20
Oracle Workspace Manager               UPGRADED      19.3.0.0.0  00:01:16
Oracle Real Application Clusters       UPGRADED      19.3.0.0.0  00:00:00
Oracle XML Database                    UPGRADED      19.3.0.0.0  00:03:11
Oracle Multimedia                      UPGRADED      19.3.0.0.0  00:01:34
Spatial                                UPGRADED      19.3.0.0.0  00:12:38
Oracle OLAP API                        UPGRADED      19.3.0.0.0  00:00:27
Datapatch                                                        00:07:25
Final Actions                                                    00:07:35
Post Upgrade                                                     00:00:25

Total Upgrade Time: 01:00:39

Database time zone version is 32. It meets current release needs.

SQL>

Recompile the INVALID Objects using utlrp.sql

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

5. Performing the post-upgrade actions

Connect to sqlplus and run the postupgrade_fixups.sql script

sqlplus / as sysdba
@/u01/preupgrade/postupgrade_fixups.sql


--output--SQL> @/u01/preupgrade/postupgrade_fixups.sql

Session altered.

PL/SQL procedure successfully completed.

PL/SQL procedure successfully completed.

PL/SQL procedure successfully completed.

Package created.

No errors.

Package body created.

PL/SQL procedure successfully completed.

No errors.

Package created.

No errors.

Package body created.

No errors.
Executing Oracle POST-Upgrade Fixup Script

Auto-Generated by:       Oracle Preupgrade Script
                         Version: 19.0.0.0.0 Build: 1
Generated on:            2020-11-17 02:21:12

For Source Database:     DB12C
Source Database Version: 12.2.0.1.0
For Upgrade to Version:  19.0.0.0.0

Preup                             Preupgrade
Action                            Issue Is
Number  Preupgrade Check Name     Remedied    Further DBA Action
------  ------------------------  ----------  --------------------------------
    6.  old_time_zones_exist      NO          Manual fixup recommended.
    7.  dir_symlinks              YES         None.
    8.  post_dictionary           YES         None.
    9.  post_fixed_objects        NO          Informational only.
                                              Further action is optional.

The fixup scripts have been run and resolved what they can. However,
there are still issues originally identified by the preupgrade that
have not been remedied and are still present in the database.
Depending on the severity of the specific issue, and the nature of
the issue itself, that could mean that your database upgrade is not
fully complete.  To resolve the outstanding issues, start by reviewing
the postupgrade_fixups.sql and searching it for the name of
the failed CHECK NAME or Preupgrade Action Number listed above.
There you will find the original corresponding diagnostic message
from the preupgrade which explains in more detail what still needs
to be done.

PL/SQL procedure successfully completed.


Session altered.
SQL>

Output from postupgrade_fixups.sql recommends the below,

  • Upgrade the timezone file version
  • Gather statistics on Fixed objects.

Upgrade the database timezone file

Scripts to upgrade Timezone file versions is available under ORACLE_HOME/rdbms/admin directory from Oracle 18c onwards.

To get how much TIMESTAMP WITH TIME ZONE date is there in database using stats info.
$ORACLE_HOME/rdbms/admin/utltz_countstats.sql

Get the approximate TIMESTAMP WITH TIME ZONE data there is in a database using a COUNT(*) for each table that has a TSTZ column
$ORACLE_HOME/rdbms/admin/utltz_countstar.sql

Timezone upgrade check script
$ORACLE_HOME/rdbms/admin/utltz_upg_check.sql
   
Timezone aply script.
 $ORACLE_HOME/rdbms/admin/utltz_upg_apply.sql

Upgrade steps:

sqlplus / as sysdba
SELECT version FROM v$timezone_file;
@$ORACLE_HOME/rdbms/admin/utltz_countstats.sql;
$ORACLE_HOME/rdbms/admin/utltz_countstar.sql;
$ORACLE_HOME/rdbms/admin/utltz_upg_check.sql;
$ORACLE_HOME/rdbms/admin/utltz_upg_apply.sql;

--Output:
SQL> SELECT version FROM v$timezone_file;

   VERSION
----------
        26

SQL> @$ORACLE_HOME/rdbms/admin/utltz_countstats.sql

Session altered.
 .
 Amount of TSTZ data using num_rows stats info in DBA_TABLES.
 .
 For SYS tables first ...
 Note: empty tables are not listed.
 Stat date  - Owner.TableName.ColumnName - num_rows
.
.
<output truncated>
.
.
17/11/2020 - WMSYS.WM$WORKSPACES_TABLE$.LAST_CHANGE - 1
 Total numrows of non-SYS TSTZ columns is : 8
 There are in total 20 non-SYS TSTZ columns.
 Total Minutes elapsed : 0

Session altered.

SQL>

SQL> @$ORACLE_HOME/rdbms/admin/utltz_countstar.sql
Session altered.

 .
 Estimating amount of TSTZ data using COUNT(*).
 This might take some time ...
.
.
<output truncated>
.
.
WMSYS.WM$WORKSPACES_TABLE$.LAST_CHANGE - 1
 Total count * of non-SYS TSTZ columns is :  8
 There are in total 20 non-SYS TSTZ columns.
 Total Minutes elapsed : 0

Session altered.

SQL>

SQL> @$ORACLE_HOME/rdbms/admin/utltz_upg_check.sql

Session altered.

INFO: Starting with RDBMS DST update preparation.
INFO: NO actual RDBMS DST update will be done by this script.
INFO: If an ERROR occurs the script will EXIT sqlplus.
INFO: Doing checks for known issues ...
INFO: Database version is 19.0.0.0 .
INFO: Database RDBMS DST version is DSTv26 .
INFO: No known issues detected.
INFO: Now detecting new RDBMS DST version.
A prepare window has been successfully started.
INFO: Newest RDBMS DST version detected is DSTv32 .
INFO: Next step is checking all TSTZ data.
INFO: It might take a while before any further output is seen ...
A prepare window has been successfully ended.
INFO: A newer RDBMS DST version than the one currently used is found.
INFO: Note that NO DST update was yet done.
INFO: Now run utltz_upg_apply.sql to do the actual RDBMS DST update.
INFO: Note that the utltz_upg_apply.sql script will
INFO: restart the database 2 times WITHOUT any confirmation or prompt.

Session altered.

SQL>
SQL> @?/rdbms/admin/utltz_upg_apply.sql

Session altered.

INFO: If an ERROR occurs, the script will EXIT SQL*Plus.
INFO: The database RDBMS DST version will be updated to DSTv32 .
WARNING: This script will restart the database 2 times
WARNING: WITHOUT asking ANY confirmation.
WARNING: Hit control-c NOW if this is not intended.
INFO: Restarting the database in UPGRADE mode to start the DST upgrade.
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.

Total System Global Area 1157627168 bytes
Fixed Size                  8895776 bytes
Variable Size            1006632960 bytes
Database Buffers          134217728 bytes
Redo Buffers                7880704 bytes
Database mounted.
Database opened.
INFO: Starting the RDBMS DST upgrade.
INFO: Upgrading all SYS owned TSTZ data.
INFO: It might take time before any further output is seen ...
An upgrade window has been successfully started.
INFO: Restarting the database in NORMAL mode to upgrade non-SYS TSTZ data.
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.

Total System Global Area 1157627168 bytes
Fixed Size                  8895776 bytes
Variable Size            1006632960 bytes
Database Buffers          134217728 bytes
Redo Buffers                7880704 bytes
Database mounted.
Database opened.
INFO: Upgrading all non-SYS TSTZ data.
INFO: It might take time before any further output is seen ...
INFO: Do NOT start any application yet that uses TSTZ data!
INFO: Next is a list of all upgraded tables:
Table list: "GSMADMIN_INTERNAL"."AQ$_CHANGE_LOG_QUEUE_TABLE_S"
Number of failures: 0
Table list: "GSMADMIN_INTERNAL"."AQ$_CHANGE_LOG_QUEUE_TABLE_L"
Number of failures: 0
Table list: "MDSYS"."SDO_DIAG_MESSAGES_TABLE"
Number of failures: 0
Table list: "DVSYS"."AUDIT_TRAIL$"
Number of failures: 0
Table list: "DVSYS"."SIMULATION_LOG$"
Number of failures: 0
INFO: Total failures during update of TSTZ data: 0 .
An upgrade window has been successfully ended.
INFO: Your new Server RDBMS DST version is DSTv32 .
INFO: The RDBMS DST update is successfully finished.
INFO: Make sure to exit this SQL*Plus session.
INFO: Do not use it for timezone related selects.

Session altered.
SQL>

Check the updated timezone version

SQL> SELECT version FROM v$timezone_file;

   VERSION
----------
        32

1 row selected.

Gather statistics on fixed objects

Connect to sqlplus as sys user and execute DBMS_STATS.GATHER_FIXED_OBJECTS_STATS

sqlplus / as sysdba
DBMS_STATS.GATHER_FIXED_OBJECTS_STATS
exit

--output
SQL> EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;

PL/SQL procedure successfully completed.

SQL>

Now re-run the postupgrade_fixups.sql

sqlplus / as sysdba
 @/u01/preupgrade/postupgrade_fixups.sql
exit

--output
SQL> @/u01/preupgrade/postupgrade_fixups.sql
No errors.
No errors.
No errors.
No errors.
Executing Oracle POST-Upgrade Fixup Script

Auto-Generated by:       Oracle Preupgrade Script
                         Version: 19.0.0.0.0 Build: 1
Generated on:            2020-11-17 02:21:12

For Source Database:     DB12C
Source Database Version: 12.2.0.1.0
For Upgrade to Version:  19.0.0.0.0

Preup                             Preupgrade
Action                            Issue Is
Number  Preupgrade Check Name     Remedied    Further DBA Action
------  ------------------------  ----------  --------------------------------
    6.  old_time_zones_exist      YES         None.
    7.  dir_symlinks              YES         None.
    8.  post_dictionary           YES         None.
    9.  post_fixed_objects        NO          Informational only.
                                              Further action is optional.

The fixup scripts have been run and resolved what they can. However,
there are still issues originally identified by the preupgrade that
have not been remedied and are still present in the database.
Depending on the severity of the specific issue, and the nature of
the issue itself, that could mean that your database upgrade is not
fully complete.  To resolve the outstanding issues, start by reviewing
the postupgrade_fixups.sql and searching it for the name of
the failed CHECK NAME or Preupgrade Action Number listed above.
There you will find the original corresponding diagnostic message
from the preupgrade which explains in more detail what still needs
to be done.
SQL>

Drop the restore point

Once the upgrade is successfull, drop the restore point otherwise at some point you will run out of space.

select name from v$restore_point;
drop restore point BEFORE_UPGRADE_19C;

--output
SQL> select name from v$restore_point;

NAME
-------------------
BEFORE_UPGRADE_19C

SQL> drop restore point BEFORE_UPGRADE_19C;

Restore point dropped.

Update the compatible parameter

Note: After the upgrade, database has to be tested properly before updating the compatible parameter. Once the parameter is updated database cannot be downgraded.

alter system set compatible='19.0.0' scope=spfile;
shutdown immediate;
startup;
show parameter compatible;


--output:
SQL> ALTER SYSTEM SET COMPATIBLE = '19.0.0' SCOPE=SPFILE;

System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> startup
ORACLE instance started.

Total System Global Area 1157627168 bytes
Fixed Size                  8895776 bytes
Variable Size             973078528 bytes
Database Buffers          167772160 bytes
Redo Buffers                7880704 bytes
Database mounted.
Database opened.
SQL>
SQL> show parameter compatible;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      19.0.0

Database has been successfully upgraded to 19c.

[oracle@ol7-dev ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Nov 13 20:07:34 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> select name, open_mode, version from v$database, v$instance;

NAME      OPEN_MODE            VERSION
--------- -------------------- -----------------
ORADEV    READ WRITE           19.0.0.0.0

SQL> 

Hope this helps…


 https://oracle-blog.com/upgrade-oracle-database-manually-from-12c-to-19c/

Database Options/Management Packs Usage Reporting for Oracle Databases 11.2 and later (Doc ID 1317265.1)

  Database Options/Management Packs Usage Report You can determine whether an option is currently in use in a database by running options_pa...