1 Introduction to Upgrading Oracle Database

Oracle provides upgrade options and strategies that are designed for your database environment, and an array of tools that automate the Oracle Database upgrade process.

This chapter contains the following topics:

1.1 Overview of Oracle Database Upgrade Tools and Processes

Upgrading transforms an existing Oracle Database environment (including installed components and associated applications) into an Oracle Database 12c environment. The data dictionary for the database is upgraded to the new release. Upgrading does not directly affect user data; no data is touched, changed, or moved during an upgrade.

Migrating data refers to moving data from one Oracle Database into another database previously created for migrating or moving the data. You migrate data when you need to move your database environment to a new hardware or operating system platform, or to a new character set. Migrating does not include upgrading to the latest release. The upgrade process is handled separately after you migrate the data.

The upgrade steps in Oracle Database Upgrade Guide apply to all operating systems, except where operating system-specific details might be needed. In this case you are instructed to refer to the Oracle Database Installation Guide for your operating system.

See Also:

"Migrating Data With Data Pump When Upgrading Oracle Database" for information about migrating your data when upgrading

This section contains these topics:

1.1.1 Upgrade and Data Migration Methods and Processes

Oracle provides features and products to automate the upgrade process and ensure the most efficient use of time. Oracle Database supports the following methods for upgrading a database to the new release:

  • Database Upgrade Assistant (DBUA)

    Provides a graphical user interface that guides you through the upgrade of a database. DBUA can be launched during installation with the Oracle Universal Installer, or you can launch DBUA as a standalone tool at any time in the future.

    Note:

    DBUA is the recommended method for performing a major release upgrade or patch release upgrade.
  • Manual upgrade using SQL scripts and utilities

    Enables upgrades to be performed at the command line with SQL scripts and utilities.

  • Oracle Data Pump

    Provides export and import utilities. Oracle Data Pump can perform a full or partial export from your database, followed by a full or partial import into the new release of Oracle Database. Export/Import in Oracle Data Pump can copy a subset of the data, leaving the database unchanged.

  • CREATE TABLE AS SQL statement

    Copies data from a database into a new Oracle Database 12c database. Data copying can copy a subset of the data, leaving the database unchanged.

See Also:

"Choose an Upgrade Method for Oracle Database" for more details about the upgrade tools and methods

1.1.2 Scripts for Upgrading Oracle Database

For the upgrade process, Oracle provides a set of tools and scripts that you run before, during, and after upgrading. Table 1-1, "Upgrade, Post-Upgrade, and Downgrade Scripts" lists the various scripts and tools with a description for each. Some of these scripts cannot be run in UPGRADE mode.

See Also:

"About Log File Location and DIAGNOSTIC_DEST" for information about where log files are saved

Table 1-1 Upgrade, Post-Upgrade, and Downgrade Scripts

Script Description

catcon.pl

Must be run in UPGRADE mode. This script is used when upgrading a CDB.

catctl.pl

Must be run in UPGRADE mode. In Oracle Database 12c, the catupgrd.sql Upgrade Utility has been replaced with the catctl.pl Parallel Upgrade Utility. Upgrade scripts and processes can be run in parallel, taking full advantage of CPU capacity and shortening the upgrade time. DBUA uses this tool. See "About the Parallel Upgrade Utility for Oracle Database".

catdwgrd.sql

This is the downgrade script, which is used in the procedure to downgrade to the earlier release from which you upgraded. See "Downgrading a CDB or Non-CDB Oracle Database."

catnoamd.sql

Do not run in UPGRADE mode. Run this script only after upgrading. The catnoamd.sql script drops the OLAP catalog component, also referred to as AMD. See "Desupport of OLAP Catalog (AMD)."

catnoexf.sql

The upgrade process runs this script for you; however, you can run the catnoexf.sql script before the upgrade. Do not run this script in UPGRADE mode. The catnoexf.sql script removes the Expression Filter (EXF) and Database Rules Manager (RUL) components, which are desupported in this release. See "Desupport of Database Rules Manager (RUL) and Expression Filter (EXF)."

catuppst.sql

Do not run in UPGRADE mode. Run catuppst.sql, located in the ORACLE_HOME/rdbms/admin directory, to perform remaining upgrade actions that do not require the database to be in UPGRADE mode. If an Oracle patch set update (PSU) has been installed in the Oracle Home, then this script will automatically apply that PSU to the database. DBUA automatically runs catuppst.sq, and therefore, you only must run this script separately for manual upgrades as described in "Manually Upgrading a Multitenant Container Oracle Database (CDB)". See "About the catuppst.sql Script."

IMPORTANT: Running this script is MANDATORY.

Note: If upgrading manually, failure to run the catuppst.sql procedure causes performance degradation in your database over time.

emdwgrd

Do not run this script in UPGRADE mode. The emdwgrd utility saves Oracle Enterprise Manager Database Control (DB Control) configuration files and data for your release 11g database. Run emdwgrd before you upgrade in order to be able to restore DB Control if you need to downgrade Oracle Database 12c.

See Also: Oracle Support document ID 1484775.1 at http://support.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1484775.1.

See Also: "Saving Oracle Enterprise Manager Database Control Configuration and Data."

emremove.sql

The emremove.sql script drops the Oracle Enterprise Manager-related schemas and objects. Use this script to manually remove DB Control. Running emremove.sql before starting the upgrade process minimizes downtime. This is an optional pre-upgrade step because the Parallel Upgrade Utility and DBUA automatically run this script. See "Manually Removing DB Control with emremove.sql."

IMPORTANT: If you need to preserve the DB Control configuration and data in order to have the option of downgrading and restoring DB Control, then you must first follow the procedure for using emdwgrd in "Saving Oracle Enterprise Manager Database Control Configuration and Data."

olspreupgrade.sql

Do not run this script in UPGRADE mode. The olspreupgrade.sql script is a preprocessing script required for upgrading a database earlier than Oracle Database release 12.1 that uses Oracle Label Security (OLS) and Oracle Database Vault. See "Requirements for Upgrading Databases That Use Oracle Label Security and Oracle Database Vault".

postupgrade_fixups.sql

The postupgrade_fixups.sql script is supplied with Oracle Database. Run postupgrade_fixups.sql after upgrading. DBUA runs this script automatically; however, you can run it any time after upgrading. See "Run the postupgrade_fixups.sql Script."

preupgrd.sql

The preupgrd.sql Pre-Upgrade Information Tool is supplied with Oracle Database. Run preupgrd.sql any time before upgrading to analyze your database. The Pre-Upgrade Information Tool provides a preview of the items that DBUA checks and generates "fix-up" scripts that you can run to resolve issues that are flagged in the source database. (This script replaces the utlu121i.sql script.) See "About the Pre-Upgrade Information Tool for Oracle Database".

utlrp.sql

Use utlrp.sql to recompile stored PL/SQL and Java code. DBUA runs this script automatically. When you upgrade manually, you must run this script as described in "Manually Upgrading a Multitenant Container Oracle Database (CDB)."

utlu121s.sql

The utlu121s.sql Post-Upgrade Status Tool is supplied with Oracle Database and displays the version and elapsed upgrade time for each component in DBA_REGISTRY. The Post-Upgrade Status Tool can be run any time after upgrading the database. See "After the Upgrade."

utluiobj.sql

Use utluiobj.sql to display only those objects which are newly invalid because of the upgrade process. See "Identify Invalid Objects in Oracle Database with the utluiobj Script."


1.1.3 About Log File Location and DIAGNOSTIC_DEST

The location of diagnostic log files created by the upgrade scripts can vary depending on your environment variables and parameter settings. The DIAGNOSTIC_DEST initialization parameter sets the location of the Automatic Diagnostic Repository (ADR), which is a directory structure that is stored outside of the database.

If the DIAGNOSTIC_DEST initialization parameter is omitted or left null, then the database uses the following default settings:

  • If environment variable ORACLE_BASE is set, then DIAGNOSTIC_DEST defaults to the directory designated by ORACLE_BASE. Therefore, the generated scripts and log files are created under Oracle_Base/cfgtoollogs/tool_name/SID/upgraden, where n represents the consecutive number for the upgrade that you performed on this system.

    For example, during the upgrade, logs created by DBUA on a system with ORACLE_BASE defined appear under:

    ORACLE_BASE/cfgtoollogs/dbua/SID/upgraden
    

    Before running the actual upgrade, DBUA logs are saved under Oracle_Base/cfgtoollogs/dbua/logs.

  • If ORACLE_BASE is not defined, then the generated scripts and log files are created under ORACLE_HOME/cfgtoollogs/tool_name/SID/upgraden, where n represents the consecutive number for the upgrade that you performed on this system.

  • Beginning with Oracle Database 11g, because all diagnostic data, including the alert log, are stored in the ADR, the initialization parameters BACKGROUND_DUMP_DEST and USER_DUMP_DEST are deprecated. They are replaced by the initialization parameter DIAGNOSTIC_DEST, which identifies the location of the ADR.

See Also:

Oracle Database Administrator's Guide for more information about using the DIAGNOSTIC_DEST initialization parameter and the ADR

1.2 Where to Find the Latest Information About Upgrading Oracle Database

Through its support website, Oracle provides late-breaking updates, discussions, and best practices about pre-upgrade requirements, upgrade processes, post-upgrade, compatibility, and interoperability.

To find the latest information about Oracle Database releases, go to My Oracle Support at http://support.oracle.com. You can search on note IDs or key words like "Database Upgrade." Help for using My Oracle Support is provided at http://docs.oracle.com/cd/E25290_01/index.htm.

Table 1-2 Information about Upgrading Oracle Database on My Oracle Support

For information about... Go to or see...

The complete knowledge base and information about upgrading to Oracle Database 12c

http://support.oracle.com and enter your search criteria.

http://docs.oracle.com/cd/E25290_01/index.htm for information about how to use My Oracle Support (MOS) and support notes.

Performing an interim upgrade to Oracle Database 11g Release 2 (11.2)

Oracle Upgrade Companion ID 1462240.1 at My Oracle Support at http://support.oracle.com">>http://support.oracle.com. Other upgrade companions are also available for upgrading to earlier releases.

Downloading and running the Pre-Upgrade Information Tool

Oracle Database Pre-Upgrade Utility ID 884522.1 at My Oracle Support at http://support.oracle.com.


1.3 Oracle Database Releases That Support Direct Upgrade

You may perform a direct upgrade to Oracle Database 12c if your current Oracle Database is release 10.2.0.5, 11.1.0.7, or release 11.2.0.2 or later. If your current Oracle Database is earlier than release 10.2.0.5, or is release 11.2.0.1, then directly upgrading to Oracle Database 12c is not supported. In this case, you are required to upgrade to an intermediate release before upgrading to the new Oracle Database 12c release, or you must choose an alternative upgrade method such as export/import.

See Also:

"Determine the Upgrade Path for Oracle Database" for information on direct and intermediate upgrade paths

1.4 Major Steps in the Upgrade Process for Oracle Database

Detailed instructions for upgrading an existing Oracle database to the new Oracle Database 12c release are provided in the chapters in Oracle Database Upgrade Guide.

The following steps summarize the major procedures performed during the upgrade process:

Figure 1-1 illustrates the major steps in the upgrade process.

Figure 1-1 Upgrade Steps Workflow for Oracle Database

Description of Figure 1-1 follows
Description of "Figure 1-1 Upgrade Steps Workflow for Oracle Database"

Step 1: Prepare to Upgrade Oracle Database

  • Become familiar with the features of the new release of Oracle Database.

  • Determine the upgrade path to the new release.

  • Choose an upgrade method.

  • Choose an Oracle home directory for the new release.

  • Develop a testing plan.

  • Prepare a backup strategy.

    Note:

    During the upgrade, consider running multiple releases of the database software so you can use the existing release as your production environment while you test the new release. See "About Running Multiple Oracle Releases".

Step 2: Test the Upgrade Process for Oracle Database

  • Perform a test upgrade using a test database. The test upgrade should be conducted in an environment created for testing and should not interfere with the actual production database.

Step 3: Test the Upgraded Test Oracle Database

  • Perform the tests that you planned in Step 1 on the test database that you upgraded to the new release of Oracle Database.

  • Review the results, noting anomalies in the tests.

  • Investigate ways to correct any anomalies that you find and then implement the corrections.

  • Repeat Step 1, Step 2, and the first parts of Step 3, as necessary, until the test upgrade is successful and works with any required applications.

Chapter 2, "Preparing to Upgrade Oracle Database" provides more information about Steps 1 through 3.

Step 4: Prepare and Preserve the Production Oracle Database

  • Prepare the current production database as appropriate to ensure that the upgrade to the new release of Oracle Database is successful.

  • Schedule the downtime required for backing up and upgrading the production database.

  • Back up the current production database. Perform a full or an incremental backup, as necessary, to ensure your database is protected against data loss.

Chapter 2, "Preparing to Upgrade Oracle Database" provides more information about Step 4.

Step 5: Upgrade the Production Oracle Database

Step 6: Tune and Adjust the New Production Oracle Database

  • Tune the new production database for Oracle Database 12c. The new production database should perform to the same standards, or better, than the database before the upgrade.

    Chapter 4, "Post-Upgrade Tasks for Oracle Database" describes these adjustments.

  • Determine which features of Oracle Database 12c to use, and update your applications accordingly.

  • Develop new database administration procedures as needed.

  • Do not upgrade production users to the new release until all applications have been tested and operate properly.

Chapter 5, "Upgrading Applications After Upgrading Oracle Database" provides information for updating applications.

1.5 About Oracle Database Release Numbers

Oracle Database Upgrade Guide describes moving between different releases of Oracle Database. The first segment in the release number indicates a major release number. Maintenance releases of Oracle Database are denoted by a change to the second segment of a release number. Patch releases are denoted by a change to the fourth segment.

Figure 1-2 illustrates each part of a release number and what it represents.

Figure 1-2 Example of an Oracle Release Number

Description of Figure 1-2 follows
Description of "Figure 1-2 Example of an Oracle Release Number"

1.5.1 Convention for Referring to Release Numbers in Oracle Database Upgrade Guide

When a statement is made in Oracle Database Upgrade Guide about a major database release number, the statement applies to all releases within that major database release.

Similarly, when a statement is made in Oracle Database Upgrade Guide about a maintenance release, the statement applies to all component-specific and platform-specific releases within that maintenance release. A statement about Oracle Database 12c applies to all component-specific and platform-specific releases within this release. A statement about Oracle Database 11g Release 2 (11.2) applies to release 11.2.0.2, release 11.2.0.3, and all other platform-specific releases within Oracle Database 11g Release 2 (11.2).

1.6 About Running Multiple Oracle Releases

You can run different releases of Oracle Database on the same computer at the same time. However, you must observe the following conditions when simultaneously using multiple releases:

  • An Oracle Database release must be installed in a new Oracle home that is separate from earlier releases of Oracle.

    There cannot be multiple releases for each Oracle home. Oracle recommends that you adopt an Optimal Flexible Architecture (OFA) when creating multiple Oracle homes. See "Optimal Flexible Architecture (OFA) and Oracle Database Installations."

  • In order to run in production, the database server must be consistent with the major, maintenance, and patch release number. Being consistent with the major release number is not enough.

  • A later release of Oracle Database server can access an earlier database, but only for upgrade purposes. For example, Oracle Database 12c database server can access an Oracle Database 10g Release 2 (10.2.0.5) database, provided that it is started up in upgrade mode.

See Also:

Oracle Database Installation Guide for your operating system for more information about running multiple releases of Oracle Database on your operating system and any restrictions that may apply

The following topics provide general information about running multiple releases of Oracle Database:

1.6.1 Databases in Multiple Oracle Homes on the Same Computer

You may not be able to install earlier releases of Oracle Database on the same computer that is running Oracle Database 12c and have clients connect to the databases of the earlier releases. For example, you cannot have Oracle Database 10g, Oracle Database 11g, and Oracle Database 12c databases in multiple (or separate) Oracle homes on the same computer and have Oracle Database 10g, Oracle Database 11g, and Oracle Database 12c clients connecting to any or all of the databases on this computer. You may be able to have a combination of some releases on one system. However, be sure to obtain the latest information on compatibility and supported configurations from My Oracle Support at http://support.oracle.com.

See Also:

Note 207303.1 "Client / Server / Interoperability Support Between Different Oracle Versions" on My Oracle Support at http://support.oracle.com

1.6.2 Databases in Multiple Oracle Homes on Separate Computers

You can install Oracle Database 12c and Oracle Database 11g databases in Oracle homes on separate computers and Oracle Database 12c with Oracle Database 11g clients connecting to any or all of the databases. However, you must install the latest release first and install earlier releases subsequently in descending chronological order. This ensures that each installation recognizes the Oracle inventory.

1.7 Compatibility and Interoperability between Oracle Database Releases

Compatibility and interoperability issues may arise because of differences between Oracle Database releases. These differences might affect general database administration and existing applications.

The following topics discuss compatibility and interoperability:

1.7.1 What Is Oracle Database Compatibility?

Databases from different releases of Oracle Database software are compatible if they support the same features and those features perform the same way. When you upgrade to a new release of Oracle Database, certain new features might make your database incompatible with your earlier release.

Your upgraded database becomes incompatible with your earlier release under the following conditions:

  • A new feature stores any data on disk (including data dictionary changes) that cannot be processed with your earlier release.

  • An existing feature behaves differently in the new environment as compared to the old environment.

The following topics contain more information about compatibility:

1.7.1.1 The COMPATIBLE Initialization Parameter in Oracle Database

Oracle Database enables you to control the compatibility of your database with the COMPATIBLE initialization parameter. By default, when the COMPATIBLE initialization parameter is not set in your parameter file, it defaults to 12.0.0 for Oracle Database 12c. You cannot use the new Oracle Database 12c features, which would make your upgraded database incompatible, unless the COMPATIBLE initialization parameter is set to this value.

Note:

  • Before upgrading to Oracle Database 12c, the COMPATIBLE initialization parameter must be set to at least 11.0.0, which is the minimum setting for Oracle Database 12c.

  • Oracle recommends increasing the COMPATIBLE parameter only after you have thoroughly tested the upgraded database.

  • After you increase the COMPATIBLE parameter, you cannot downgrade the database.

See Also:

Oracle Database Administrator's Guide for information about managing initialization parameters

1.7.1.2 Values for the COMPATIBLE Initialization Parameter in Oracle Database

Table 1-3 lists the default, minimum, and maximum values of the COMPATIBLE initialization parameter in Oracle Database 12c and in each release supported for upgrading to Oracle Database 12c.

Table 1-3 The COMPATIBLE Initialization Parameter

Oracle Database Release Default Value Minimum Value Maximum Value

Oracle Database 12c

12.0.0

11.0.0

12.1.0

Oracle Database 11g Release 2 (11.2)

11.2.0

10.0.0

11.2.0

Oracle Database 11g Release 1 (11.1)

11.0.0

10.0.0

11.1.0

Oracle Database 10g Release 2 (10.2)

10.2.0

9.2.0.

10.2.0


1.7.1.3 Compatibility and Oracle Database File System (DBFS)

Starting with Oracle Database 12c, you can access Oracle Database File System (DBFS) files and folders from Oracle XML DB Repository, under the repository path /dbfs. This feature provides you with FTP and HTTP(S)/WebDAV access to DBFS files and folders. DBFS file systems can be edited and managed collaboratively over the web, extending file system-like access to DBFS file systems on Windows platforms. By setting the COMPATIBLE initialization parameter to 12.0.0, access to the latest enhancements to DBFS are made available.

See Also:

Oracle Database SecureFiles and Large Objects Developer's Guide for information about using DBFS

1.7.1.4 About Downgrading and Compatibility for Upgrading Oracle Database

Before upgrading to Oracle Database 12c, the COMPATIBLE initialization parameter must be set to at least 11.0.0. Only a subset of Oracle Database 12c features are available while the COMPATIBLE initialization parameter is set to this value.

After upgrading to Oracle Database 12c, you can set the COMPATIBLE initialization parameter to match the release number of the new release. Doing so enables you to use all features of the new release, but prevents you from downgrading to your earlier release.

Important:

After you increase the COMPATIBLE parameter, the database cannot be downgraded.

See Also:

Chapter 6, "Downgrading Oracle Database to an Earlier Release" for more information about downgrading

1.7.1.5 How the COMPATIBLE Initialization Parameter Operates in Oracle Database

The COMPATIBLE initialization parameter controls the behavior of your Oracle database. The COMPATIBLE initialization parameter operates in the following way:

  • If you run an Oracle Database 12c database with the COMPATIBLE initialization parameter set to 11.0.0, then it generates database structures on disk that are compatible with Oracle Database 11g. Therefore, the COMPATIBLE initialization parameter enables or disables the use of features. If you try to use any new features that make the database incompatible with the COMPATIBLE initialization parameter, then an error occurs. However, any new features that do not make incompatible changes on disk are enabled.

  • If the database becomes incompatible with the COMPATIBLE initialization parameter setting, then the database does not start and terminates with an error. If this happens, then you must set the COMPATIBLE initialization parameter to an appropriate value for the database.

See Also:

Oracle Database Concepts for more information about database structures

1.7.1.6 Checking the Compatibility Level of Oracle Database

The compatibility level of your database corresponds to the value of the COMPATIBLE initialization parameter.

To check the current value of the COMPATIBLE initialization parameter 

  • Enter the following SQL statement:

    SQL> SELECT name, value FROM v$parameter
             WHERE name = 'compatible';
    

1.7.1.7 When to Set the COMPATIBLE Initialization Parameter in Oracle Database

Oracle recommends increasing the COMPATIBLE parameter only after complete testing of the upgraded database has been performed. After the upgrade is complete, you can increase the setting of the COMPATIBLE initialization parameter to the maximum level for Oracle Database 12c. However, after you increase the COMPATIBLE parameter, you cannot subsequently downgrade the database.

1.7.2 What Is Interoperability for Oracle Database Upgrades?

In the context of upgrading Oracle Database, interoperability is the ability of different releases of Oracle Database to communicate and work in a distributed environment. A distributed database system can comprise different releases of Oracle Database, and all supported releases of Oracle Database can participate in the distributed database system. However, the applications that work with a distributed database must also be able to interoperate with the features and functions that are available at each node in the system.

Interoperability across disparate operating systems and operating system versions might be a problem (especially during rolling upgrades) because the minimum requirements for the new Oracle Database 12c might require you to upgrade the operating systems on some or all of your hosts. Therefore, you must check for compatibilities between drivers, network, and storage for all the interim states of the system during the rolling upgrade.

Note:

Because Oracle Database Upgrade Guide discusses upgrading and downgrading between different releases of Oracle Database, the definition of interoperability is for Oracle Database releases. Other Oracle documentation might use a broader definition of the term interoperability. For example interoperability might in some cases describe communication between different hardware platforms and operating systems.

See Also:

Note ID 207303.1 "Client / Server / Interoperability Support Between Different Oracle Versions" on My Oracle Support at http://support.oracle.com

1.8 Optimal Flexible Architecture (OFA) and Oracle Database Installations

Oracle recommends the Optimal Flexible Architecture (OFA) standard for Oracle Database installations. The OFA standard is a set of configuration guidelines for efficient and reliable Oracle databases, which results in more streamlined maintenance.

OFA provides the following benefits:

  • Organizes large amounts of complicated software and data on disk to avoid device bottlenecks and poor performance

  • Facilitates routine administrative tasks, such as software and data backup functions, which are often vulnerable to data corruption

  • Alleviates switching among multiple Oracle databases

  • Adequately manages and administers database growth

  • Helps eliminate fragmentation of free space in the data dictionary, isolates other fragmentation, and minimizes resource contention

If you are not currently using the OFA standard, then switching to the OFA standard involves modifying your directory structure and relocating your database files.

See Also:

1.9 Converting 32-bit Oracle Database to 64-bit Oracle Database

If you are installing 64-bit Oracle Database software but were previously using a 32-bit Oracle Database installation, the database is automatically converted to 64-bit during the upgrade to Oracle Database 12c.

1.10 About Rolling Upgrades for Oracle ASM and Oracle RAC Databases

Rolling upgrades work for Oracle Clusterware and Oracle Automatic Storage Management (Oracle ASM) (collectively known as Oracle Grid Infrastructure), but not for the Oracle Database software. You cannot upgrade to a new major release, maintenance release, or patch release of Oracle Database using the rolling upgrade process in an Oracle Real Application Clusters (Oracle RAC) environment. You can, however, apply most database patches (sometimes referred to as one-off patches) and all database patch set updates and critical patch updates (PSUs and CPUs) using a rolling patch install in an Oracle RAC environment.

1.10.1 Summary of Methods for Performing Rolling Upgrades for Oracle Database

Table 1-4 summarizes the various methods for performing rolling upgrades and provides references to the appropriate documentation.

Table 1-4 Methods for Performing Rolling Upgrades

Method Description Reference

Oracle Enterprise Manager Cloud Control

Starting with Oracle Database 12c, Oracle provides Cloud Control support for performing a database rolling upgrade.

Online help in Oracle Enterprise Manager Cloud Control

Oracle Data Guard SQL Apply

Use SQL Apply and logical standby databases to upgrade Oracle Database software and patchsets.

"Requirement for Upgrading Oracle Databases That Use Oracle Database Vault"

Oracle Data Guard Physical Standby Database

Use an existing physical standby database to perform a database rolling upgrade by temporarily converting it to a logical standby database.

"About Upgrading Using Standby Databases"

Oracle Clusterware and Oracle Universal Installer (OUI)

Use OUI and Oracle Clusterware to perform a rolling upgrade to apply patchset releases of Oracle Clusterware.This method enables some instances of Oracle RAC to remain available during the patchset upgrades. Only the node that is currently being patched must be stopped; the other instances remain available. OUI enables you to apply the patchset successively to the different instances of the cluster.

Oracle Grid Infrastructure Installation Guide for your operating system and your operating system-specific Oracle Clusterware installation guide

Oracle Automatic Storage Management (Oracle ASM)

Use Oracle ASM to independently upgrade or patch clustered Oracle ASM instances. This method enables all of the features of a clustered Oracle ASM environment to continue to function even while one or more Oracle ASM instances run different software releases.

Oracle Grid Infrastructure Installation Guide for your operating system

"Using Oracle ASM Rolling Upgrade" in Oracle Automatic Storage Management Administrator's Guide


1.11 Moving From Standard Edition to Enterprise Edition of Oracle Database

If you have a Standard Edition database at a release earlier than the new release of Oracle Database, you must first upgrade as described in Chapter 3, "Upgrading Oracle Database.". Then you can move to an Oracle Enterprise Edition database by installing Oracle Enterprise Edition software. To move from one edition to another, you must use the same release of Oracle Database for both Enterprise Edition and Standard Edition. For example, both releases must be release 12.1 (or another release level), but must be the same for both editions in order to perform the change.

Caution:

Performing this procedure deinstalls the Oracle Standard Edition software and results in deleting database files that exist under the Oracle home. Therefore, back up database files under the current Oracle home.

To change your existing Standard Edition database to an Enterprise Edition database:

  1. Ensure that the release number of your Oracle Standard Edition server software is the same release as your Oracle Enterprise Edition server software.

  2. Shut down your database.

  3. If your operating system is Windows, then stop all Oracle services, including the OracleServiceSID Oracle service, where SID is the instance name. See Oracle Database Platform Guide for Microsoft Windows for information about stopping Oracle Database services.

  4. Back up all database files under the current Oracle home that you must keep. See Oracle Database Backup and Recovery User's Guide for information about backing up the database.

  5. Deinstall the Standard Edition server software. (This step deletes all existing database files that reside under the Oracle home.)

    Run the deinstallation tool from the Oracle home. The deinstallation tool is available as a separate command (deinstall) under the Oracle home directory after installation. It is located under ORACLE_HOME\deinstall.

    To deinstall an Oracle home on Windows, use the following syntax:

    setup.exe –deinstall –home path_of_Oracle_home_to_be_deinstalled
    

    To deinstall an Oracle home on Linux and UNIX, use the following syntax:

    $ ./runInstaller –deinstall –home path_of_Oracle_home_to_be_deinstalled
    

    Note:

    Starting with Oracle Database 12c, the deinstallation tool is integrated with the database installation media. You can run the deinstallation tool using runInstaller on Linux and UNIX or setup.exe on Windows with the -deinstall and -home options from the base directory of the Oracle Database, Oracle Database Client, or Oracle Grid Infrastructure installation media. See Oracle Database Installation Guide for your operating system.
  6. Install Oracle Enterprise Edition server software using Oracle Universal Installer (OUI).

    Select the same Oracle home that was used for the Standard Edition that you uninstalled, or select a new Oracle home. During the installation, be sure to select Enterprise Edition. When prompted, choose Software Only from the Database Configuration screen.

  7. If you have an existing database, then point your ORACLE_SID to this pre-existing database.

    If your existing database is on Windows, then you must re-create the DB service using ORADIM.

    See Also:

    Oracle Database Platform Guide for Microsoft Windows for information about Oracle servcies on Windows
  8. Start up your database.

  9. Run the catalog.sql and catproc.sql scripts to ensure that all Enterprise Edition objects are created.

Your database is now converted to Oracle Database Enterprise Edition. You are ready to upgrade the database to Oracle Database 12c. Proceed to Chapter 2, "Preparing to Upgrade Oracle Database," to continue with the upgrade process.

See Also:

Note ID 117048.1, "How to Convert Oracle Database from Standard to Enterprise Edition" on My Oracle Support at http://support.oracle.com

1.12 Moving from Enterprise Edition to Standard Edition of Oracle Database

To properly convert from an Enterprise Edition database to a Standard Edition database you must perform an Export/Import operation. Oracle recommends using the Standard Edition Export utility to export the data. If you only install Standard Edition software, then some data dictionary objects become invalid and create problems when maintaining the database.

Enterprise Edition contains data dictionary objects that are not available in Standard Edition. The Export/Import operation does not introduce data dictionary objects specific to the Enterprise Edition, because the SYS schema objects are not exported. After the Import in the Standard Edition database, you are only required to drop user schemas related to Enterprise Edition features.

1.13 Moving from Oracle Database Express Edition (Oracle Database XE) to Oracle Database

Oracle Database Express Edition (Oracle Database XE) is an entry-level edition of Oracle Database that is quick to download, simple to install and manage. Oracle provides Oracle Database XE free, with certain licensing restrictions, for you to develop, deploy, and distribute. Oracle Database XE makes it easy to upgrade to the other editions of Oracle without costly and complex migrations. Oracle Database XE can be installed on any size computer with any number of CPUs, with one database per computer. Support is provided through a free Oracle online forum monitored by Oracle employees and community experts.

To upgrade Oracle Database 11g Express Edition (Oracle Database XE) to Oracle Database 12c, you must install the new Oracle Database software on the same system as Oracle Database XE and use DBUA to perform the upgrade.

  1. Install release 11202 Oracle Database XE with root user.

    /u01/app/oracle/product/11.2.0/xe 
    
  2. Start SQL Plus and perform the following steps to avoid prerequisite checks warnings and to ensure successful database upgrade during DBUA interactive phase.

    Set ORACLE_HOME
    Set ORACLE_SID 
    SQL> alter system set job_queue_processes=64; 
    SQL> alter database datafile '/u01/app/oracle/oradata/XE/system.dbf'
     autoextend on next 640k maxsize unlimited; 
    
  3. As root user, in the release 11.2.0.2 Oracle Database XE home, give 777 permissions to the following directories, subdirectories, and files before upgrade.

    cd /u01/app/oracle
    $ls
    admin diag fast_recovery_area oradata product 
    

    For the admin directory give 777 permissions to the following directories and files.

    chmod 777 admin
    cd admin
    chmod 777 XE
    chmod 777 *
    $ls
    adump  dbs  dpdump  pfile 
    
    cd dpdump
    chmod 777 dp.log 
    
    cd ..
    cd adump
    chmod 777 * ( Change permissions of *.aud) 
    

    For the diag directory give 777 permissions as follows. Run this from the Oracle home; then change to diag.

    cd diag
    chmod -R 777 * 
    

    For fast_recovery_area directory give 777 permissions to the following directories and files. The fast_recovery_area folder is under Oracle home. Change back to the Oracle home first, then run the following commands.

    chmod 777 fast_recovery_area
    cd fast_recovery_area
    chmod 777 XE
    cd XE
    chmod 777 onlinelog 
    

    For oradata give 777 permissions to the following directory. The oradata folder is under Oracle home. Change back to the Oracle home first, then run the following command.

    chmod -R 777 oradata 
    

    For the Oracle product directory give 777 permissions to the following directories and files.

    chmod 777 11.2.0
    cd 11.2.0
    chmod 777 xe
    cd xe
    chmod 777 dbs
    cd dbs
    chmod 777 * ( changes permissions of these files hc_XE.dat  init.ora  lkXE  
    @ orapwXE  spfileXE.ora)
    
  4. Under the directory where you installed Oracle Database 12c, create the log directory (for example: /scratch/logdir , and give 777 permissions to logdir ) where the log files will be written during database upgrade.

    Also create the backup folder (for example: /scratch/backup, and give 777 permissions to the backup folder ) where backup files will be stored.

  5. Start DBUA with following parameter. See "Upgrading with Oracle Database Upgrade Assistant (DBUA)" for more information about running DBUA.

    ./dbua -logDir /scratch/logdir -backupLocation /scratch/backup 
    

    When prompted, create the new listener with a new name and port because the upgrade cannot use the existing listener since it was created by root user.

  6. Provide the required inputs during the DBUA interactive phase and click Finish when complete.

See Also: