0% found this document useful (0 votes)
177 views20 pages

Complete Checklist For Manual Upgrade To Oracle Database 11gR2 (11.2) (Doc ID 837570.1)

Uploaded by

mohamed basyouny
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
177 views20 pages

Complete Checklist For Manual Upgrade To Oracle Database 11gR2 (11.2) (Doc ID 837570.1)

Uploaded by

mohamed basyouny
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

PowerView is Off Last Login: February 27, 2021 5:22 PM EET Ehab (Available) (0) Contact Us Help

Dashboard Knowledge Service Requests Patches & Updates 837570.1


Patches & Updates >
Give Feedback... You have been directed to this document based on an ID match. Alternatively, click here to search on this phrase. Hide

Copyright (c) 2021, Oracle. All rights reserved. Oracle Confidential.

Complete Checklist for Manual Upgrade to Oracle Database 11gR2 (11.2) (Doc ID 837570.1) To Bottom

In this Document Was this document helpful?

Purpose Yes
No
Ask Questions, Get Help, And Share Your Experiences With This Article
Scope
Document Details
Details
References
Type:
BULLETIN
Status:
PUBLISHED
Last Major
APPLIES TO: Update: Feb 6, 2019
Last Apr 18, 2019
Oracle Cloud Infrastructure - Database Service - Version N/A and later Update: English
Oracle Database Cloud Exadata Service - Version N/A and later Language:
Oracle Database Backup Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Cloud Service - Version N/A and later Related Products
Information in this document applies to any platform. Oracle Database - Standard
Edition
Oracle Database - Enterprise
PURPOSE Edition
Oracle Database Cloud Schema
Service
Gen 1 Exadata Cloud at
Customer (Oracle Exadata
Database Cloud Machine)
This document is created for use as a guideline and checklist when manually upgrading from Oracle 9iR2 (9.2), Oracle 10gR1 Oracle Cloud Infrastructure -
Database Service
(10.1), Oracle 10gR2 (10.2) or Oracle 11gR1 (11.1) to Oracle 11gR2 (11.2). Show More

Ask Questions, Get Help, And Share Your Experiences With This Article
Information Centers
19c Database Self-Guided
Would you like to explore this topic further with other Oracle Customers, Oracle Employees, and Industry Upgrade with Best Practices
Experts? [1919.2]

Best Practices for Oracle


Click here to join the discussion where you can ask questions, get help from others, and share your experiences with this Database Upgrade to 19c
specific article. [2690728.2]
Discover discussions about other articles and helpful subjects by clicking here to access the main My Oracle Support
Community page for Database Install/Upgrade.
:
Enterprise Manager
[1946305.2]
SCOPE
Information Center: Overview
Database Server/Client
Database Administrators, Support Installation and
Upgrade/Migration [1351022.2]

DETAILS Index of Oracle Database


Information Centers
[1568043.2]
Recommendations for Source database
Show More
1) Ensure that all database components/objects provided by Oracle are VALID in the source database prior to starting the
upgrade. Document References

2) Ensure that you do not have duplicate objects in the SYS and SYSTEM schema. While Upgrading From
10.2.0.4.0 To 11.2.0.2.0
The following objects are permissible duplicate objects: Catupgrd.sql=ORA-31061
ORA-19202 LSX-23
[1305561.1]
OBJECT_NAME OBJECT_TYPE
How To Stop A Running Job
------------------------------ ------------------- Using DBMS_JOB [1335741.1]
AQ$_SCHEDULES TABLE
Things to Consider to Avoid
AQ$_SCHEDULES_PRIMARY INDEX
Poor Performance or Wrong
DBMS_REPCAT_AUTH PACKAGE
Results on 11.2.0.2
DBMS_REPCAT_AUTH PACKAGE BODY
[1320966.1]

11g Install : Understanding


Note: All these checks are done when you execute step 3 (dbupgdiag.sql) Oracle Base, Oracle Home and
Oracle Central/Global Inventory
locations [454442.1]
3) Disable the custom triggers that would fire before/after DDL and enable them after the upgrade is complete.
Actions For DST Updates When
Upgrading To 11.2.0.1 Base
4) Prior to Upgrading a database with XML Database(XDB) installed or installing XDB, be sure to run the code Release [815679.1]
mentioned in Note 1573175.1 "Upgrading or Installing XDB could result in data loss if
Show More
XDB_INSTALLATION_TRIGGER exists " to determine if any objects need to be dropped. Please note, failure to follow the
steps listed below could result in data loss of user objects like tables, indexes
Recently Viewed

Requirements and recommendations for target database Complete Checklist for


Manual Upgrade to Oracle

1 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

Check the certification of Oracle 11gR2 with your Platform/Operating system before downloading and installing Oracle Database 11gR2 (11.2)
11gR2. Please check the certification information on My Oracle Support. [837570.1]
Download and Install Oracle 11g Release 2 in a new Oracle Home and make sure there are no relinking errors. Database Initialization
Install the latest available Patchset from Metalink (if available). Parameters for Oracle
E-Business Suite Release 12
Install the latest PSU (Patch Set Update) patch. you can refer below document to download the latest PSU patch for 11g [396009.1]
R2 release.
Interoperability Notes EBS
12.0 and 12.1 with Database
Doc ID 1454618.1 - Quick Reference to Patch Numbers for Database PSU, SPU(CPU), Bundle Patches and Patchsets 11gR2 [1058763.1]

e.g., if you are upgrading to 11.2.0.4 version then it is recommended to apply the latest PSU patch released for Diagnostic Framework
Overview for Subledger
11.2.0.4 version. Accounting [414094.1]

Install the latest opatch available for your platform and database version (if available). OBIEE 11g: Error: "NQSError
37005 :Transactional Update
Install the latest available Critical Patch Update (if available). Failed" when Saving a
Either take a Cold or Hot backup of your source database (advisable to have cold backup). Repository in Online Mode
If you have XDB installed then please install the PSE for 10368698 to the 11.2.0.2 Home before doing the [1589595.1]
upgrade . If there is not an existing one-off patch for your platform please open an SR to request the one-off patch. This Show More
defect can cause certain databases that are XDB enabled to take a great deal of time to upgrade. The bug 10368698 is
fixed in 11.2.0.3 .
If you have XDB installed then the install the fix for Bug 10419629 in the 11.2.0.2.0 home prior to upgrade . Please refer
Note 1305561.1 While Upgrading From 10.2.0.4.0 To 11.2.0.2.0 Catupgrd.sql=ORA-31061 ORA-19202 LSX-23
If the XML database (XDB) component is installed, you must set SHARED_POOL_SIZE = 250M and JAVA_POOL_SIZE =
250M or higher before upgrading otherwise you may run into the issue described in the following article
Note 1127179.1 ORA-07445 [qmkmgetConfig()+52] During Catupgrd.sql (11.2.0.1).

If ASMM is configured on the database, set both parameters as indicated above to guarantee a minimum value for those
pools.

For an awareness of performance-related issues in 11.2.0.2 . Please refer Note 1320966.1 "Things to Consider Before
Upgrade to 11.2.0.2 in Relation to Database Performance"
For an awareness of SQL profile related known issue , please refer BUG 13646689- SQL PROFILES LOST AFTER UPGRADE
ORA-00001 (SYS.I_SQLOBJ$AUXDATA_PKEY) . Currently development is working on this bug . SQL PROFILES will be lost
when upgrading from 10.2 releases if following SQL statement return rows .
select sp.signature, sp.category, count(*) from sqlprof$ sp,sqlprof$desc sd,sql$ s
where sp.signature = sd.signature(+) and sp.signature = s.signature
group by sp.signature, sp.category having count(*) > 1;

For an awareness of Oracle Text related issues in 11.2.0.4 if using Text , then please refer Oracle Text Release 11.2.0.4.0
Mandatory Patches (Doc ID 1608029.1)
If Mitigation Patch 19721304 is applied at source database, then Oracle JVM component has been disabled. You might get
the following error while upgrading the database.

ORA-02290 - check constraint (SYS.JAVA_DEV_DISABLED) violated.

Enable Oralce JVM java component at the source database before start upgrading the database .

Connect to the database as a SYSDBA user


SQL> exec dbms_java_dev.enable;

Refer:Database Upgrade failed with Errors “ORA-02290: check constraint (SYS.JAVA_DEV_DISABLED) violated” &
“ORA-04045: SYS.DBMS_ISCHED” (Doc ID 1985725.1)

NOTE : This step is ONLY applicable if you have applied Mitigation Patch on the source database

Compatibility Matrix

Minimum version of the database that can be directly upgraded to Oracle 11g Release 2 (11.2)

Source Database Target Database


9.2.0.8 or higher 11.2.x
10.1.0.5 or higher 11.2.x
10.2.0.2 or higher 11.2.x
11.1.0.6 or higher 11.2.x

The following database versions will require an indirect upgrade path:

Source Upgrade Path


Database for Target Target
Database Database
7.3.3 (or lower) ----> 7.3.4 -> 9.2.0.8 ----> 11.2.x
8.0.5 (or lower) ----> 8.0.6 -> 9.2.0.8 ----> 11.2.x
8.1.7 (or lower) ----> 8.1.7.4 -> ----> 11.2.x
10.2.0.2(or any
higher 10GR2
version)
9.0.1.3 (or lower) ----> 9.0.1.4 -> ----> 11.2.x
10.2.0.2 (or any
higher 10GR2

2 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

version)
9.2.0.7(or lower) ----> 9.2.0.8 ----> 11.2.x

For example:

If source database is 8.1.7.0.0, the upgrade path to be followed is as below:


8.1.7.0.0 --> 8.1.7.4 --> 10.2.0.2(or any higher 10GR2 version)--> 11.2.x.

Reminder :

9.2.0.8 patchset : Patch:4547809


10.1.0.5 patchset : Patch:4505133
10.2.0.2 patchset : Patch:4547817

To get quickly id of a patchset :


Note 438049.1 : How To Find RDBMS patchsets on My Oracle Support
Note 753736.1 : Quick Reference to Patchset Patch Numbers

Pre-Upgrade Steps

In this section all the steps need to be performed after having set the environment of the previous version of the Oracle
Database. Note that the database must be running in normal mode in the old release.

To download and use the latest Pre-Upgrade Information Tool see the following:
How to Download and Run Oracle's Database Pre-Upgrade Utility Note 884522.1

or

Run the Pre-Upgrade Information Tool for Collecting Pre-Upgrade Information

Step1

Log into the system as the owner of the Oracle Database 11g Release 2 (11.2) Oracle Home directory.
Copy the Pre-Upgrade Information Tool (utlu112i.sql) from the Oracle Database 11g Release 2 (11.2)
ORACLE_HOME/rdbms/admin directory to a directory outside of the Oracle Home, such as the temporary directory on your
system.

$ORACLE_HOME/rdbms/admin/utlu112i.sql

Failure to run the pre-upgrade tool (utlu112i.sql) will result in the following error while running the catupgrd.sql script :

SQL> SELECT TO_NUMBER('MUST_BE_SAME_TIMEZONE_FILE_VERSION')


2 FROM registry$database
3 WHERE tz_version != (SELECT version from v$timezone_file);
SELECT TO_NUMBER('MUST_BE_SAME_TIMEZONE_FILE_VERSION')
*
ERROR at line 1:
ORA-01722: invalid number

It is required to restore the database back to previous version in order to run the preupgrade tool (utlu112i.sql ) .

Step 2

Change to the directory where utlu112i.sql had been copied in the previous step.

Start SQL*Plus and connect to the database instance as a user with SYSDBA privileges. Then run and spool the
utlu112i.sql file. Please note that the database should be started using the source Oracle Home .

$ sqlplus '/ as sysdba'


SQL> spool upgrade_info.log
SQL> @utlu112i.sql
SQL> spool off
SQL>

Check the spool file and examine the output of the Upgrade Information Tool.
The sections which follow describe the output of the Upgrade Information Tool.
For sample output, Click here

Database
This section displays global database information about the current database, such as the database name, release number and
compatibility level. A warning is displayed if you must adjust the COMPATIBLE initialization parameter before the database is
upgraded.

Logfiles
This section displays a list of redo log files in the current database whose size is less than 4 MB. For each log file, the file name,
group number and recommended size is displayed.
In a manual upgrade using SQL scripts and utilities, new files of at least 4 MB (preferably 10 MB) must be created in the current

3 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

database, and any redo log files less than 4 MB must be dropped before the database is upgraded. These tasks are performed
automatically by the Database Upgrade Assistant.

Tablespaces
This section displays a list of tablespaces in the current database. For each tablespace, the tablespace name and minimum
required size is displayed. In addition, a message is displayed if the tablespace is adequate for the upgrade.In a manual upgrade
using SQL scripts and utilities, space must be added to tablespaces that do not have enough free space in the current database.
These tablespace adjustments must be made before the database is upgraded. This task is performed automatically by the
Database Upgrade Assistant.

Update Parameters
This section displays a list of initialization parameters in the parameter file of the current database that must be adjusted before
the database is upgraded. The adjustments must be made to the parameter file after it is copied to the new Oracle Database 11g
release.

Deprecated Parameters
This section displays a list of initialization parameters in the parameter file of the current database that are deprecated in the new
Oracle Database 11g release.Obsolete Parameters This section displays a list of initialization parameters in the parameter file of
the current database that are obsolete in the new Oracle Database 11g release2 (11.2). Obsolete initialization parameters must
be removed from the parameter file before the database is upgraded.

Appendix A: "Deprecated Initialization Parameters" for a list of initialization parameters that are deprecated in Oracle Database
11g release 2 (11.2).

Obsolete Parameters:
This section displays a list of initialization parameters in the parameter file of the current database that are obsolete in the new
Oracle Database 11g release 2 (11.2). Obsolete parameters need to be removed from the parameter file before the database is
upgraded. Obsolete parameters' means parameters which are no longer valid (or) in use.
Appendix B: "Obsolete Initialization Parameters" for a list of initialization parameters that are obsolete in Oracle Database 11g
release 2 (11.2)

Components
This section displays a list of database components in the new Oracle Database 11g release 2 (11.2) that are upgraded or
installed when the current database is upgraded.

Miscellaneous Warnings
This section provides warnings about specific situations that might require attention before or after the upgrade.

SYSAUX Tablespace
This section displays the minimum required size for the SYSAUX tablespace which is required in the new Oracle Database 11g
release 2 (11.2). The SYSAUX tablespace must be created if it does not exist (in Oracle 9i ) after the new release is started and
before the upgrade scripts are invoked.

Note : If SYSAUX was created in 9i then it must be dropped and re-created after starting in the new release. If created in 10g or
later then it can be left there and used.

Preparing Database for Upgrade

Step3

Check for the integrity of the source database.

Check for the integrity of the source database prior to starting the upgrade by downloading and running the dbupgdiag.sql script
from the My Oracle Support article below:

Note 556610.1 Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)

If the dbupgdiag.sql script reports any invalid objects, run $ORACLE_HOME/rdbms/admin/utlrp.sql (multiple times) to validate the
invalid objects in the database until there is no change in the number of invalid objects.

$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus "/ as sysdba"
SQL> @utlrp.sql

After validating the invalid objects, re-run dbupgdiag.sql in the database once again and make sure that everything is fine.
It is advisable to do a Health Check using "hcheck.sql" script .Please refer following article to download the script .

Note 136697.1 hcheck.sql" script to check for known problems in Oracle8i, Oracle9i, Oracle10g and Oracle 11g

Step 4

Deprecated CONNECT Role

After upgrading to Oracle Database 11g Release 2 (11.2) from Oracle Database9i Release 2 (9.2) or Oracle Database 10g Release
1 (10.1), the CONNECT role has only the CREATE SESSION privilege; the other privileges granted to the CONNECT role in earlier
releases are revoked during the upgrade. To identify which users and roles in your database are granted the CONNECT role, use
the following query:

SELECT grantee FROM dba_role_privs


WHERE granted_role = 'CONNECT' and
grantee NOT IN (
'SYS', 'OUTLN', 'SYSTEM', 'CTXSYS', 'DBSNMP',

4 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

'LOGSTDBY_ADMINISTRATOR', 'ORDSYS',
'ORDPLUGINS', 'OEM_MONITOR', 'WKSYS', 'WKPROXY',
'WK_TEST', 'WKUSER', 'MDSYS', 'LBACSYS', 'DMSYS',
'WMSYS', 'EXFSYS', 'SYSMAN', 'MDDATA',
'SI_INFORMTN_SCHEMA', 'XDB', 'ODM');

If users or roles require privileges other than CREATE SESSION, then grant the specific required privileges prior to upgrade.
The upgrade scripts adjust the privileges for the Oracle-supplied users.

In Oracle 9.2.x and 10.1.x CONNECT role includes the following privileges:

SELECT GRANTEE,PRIVILEGE
FROM DBA_SYS_PRIVS
WHERE GRANTEE ='CONNECT'

GRANTEE PRIVILEGE
------- ----------------------
CONNECT CREATE VIEW
CONNECT CREATE TABLE
CONNECT ALTER SESSION
CONNECT CREATE CLUSTER
CONNECT CREATE SESSION
CONNECT CREATE SYNONYM
CONNECT CREATE SEQUENCE
CONNECT CREATE DATABASE LINK

From Oracle 10.2, 'CONNECT' role only includes 'CREATE SESSION' privilege.

Step 5

Create script for DBLINK (in case the database has to be downgraded again).

During the upgrade to Oracle Database 11g Release 2 (11.2) from Oracle Database 9i Release 2 (9.2) or Oracle Database 10g
Release 1 (10.1), any passwords in database links are encrypted. To downgrade to the original release, all of the database links
with encrypted passwords must be dropped prior to the downgrade. Consequently, the database links do not exist in the
downgraded database. If you anticipate a requirement to be able to downgrade to your original release, then save the
information about affected database links from the SYS.LINK$ table, so that you can re-create the database links after the
downgrade.

SELECT 'CREATE '||DECODE(U.NAME,'PUBLIC','public ')||'DATABASE LINK '||CHR(10)


||DECODE(U.NAME,'PUBLIC',Null, 'SYS','',U.NAME||'.')|| L.NAME||chr(10)
||'CONNECT TO ' || L.USERID || ' IDENTIFIED BY "'||L.PASSWORD||'" USING
'''||L.HOST||''''
||chr(10)||';' TEXT
FROM SYS.LINK$ L, SYS.USER$ U
WHERE L.OWNER# = U.USER#;

Step 6

Check for TIMESTAMP WITH TIMEZONE Datatype

The RDBMS DST patching has been greatly improved in 11gR2.


Unlike upgrading for older versions (upgrading 10.2.0.4 to 11.1.0.7 for example) there is no need anymore to
apply "dst patches" on the old version *before* the upgrade.

If you upgrade from an older RDBMS version to 11gR2 the DST version in 11gR2 after the upgrade will be
simply the same as the DST version that was used in the older RDBMS version.

There are however a few situations where some extra steps are needed,
so please do check below notes before upgrading to 11gR2., depending on to what 11gR2 version you upgrade to

Note 1579838.1 : Actions For DST Updates When Upgrading To Or Applying The 11.2.0.4 Patchset
Note 1358166.1 : Actions For DST Updates When Upgrading To Or Applying The 11.2.0.3 Patchset
Note 1201253.1 : Actions For DST Updates When Upgrading To Or Applying The 11.2.0.2 Patchset
Note 815679.1 : Actions For DST Updates When Upgrading To 11.2.0.1 Base Release

Simply follow above note ( depending on to what 11gR2 version you upgrade to ) in most cases there will be no action to
take before the upgrade, but better be safe than sorry.

If the note say's to apply a RDBMS DST patch to the new 11gR2 home before the upgrade then please do so before going further
in this note.

Make sure that

SQL> conn / as sysdba


SQL> select TZ_VERSION from registry$database;

returns the RDBMS DST version of your old Oracle RDBMS version.
This is the value found in the "check your current DST version on 9i, 10g or 11.1.0.x" step of the above notes.

If this select gives an error or a different value then re-run the utlu112i.sql (Pre-Upgrade Information Tool) script and check
again.

Step 7

5 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

Check that the National Characterset (NLS_NCHAR_CHARACTERSET) is UTF8 or AL16UTF16.

select value from NLS_DATABASE_PARAMETERS where parameter = 'NLS_NCHAR_CHARACTERSET';

If this is UTF8 or AL16UTF16 then no action is needed.


If is not UTF8 or AL16UTF16 then refer to the following article:

Note 225912.1 : Changing Or Choosing the Database Character Set ( NLS_CHARACTERSET )

Step 8

Optimizer Statistics

When upgrading to Oracle Database 11g Release 2 (11.2), optimizer statistics are collected for dictionary tables that lack
statistics. This statistics collection can be time consuming for databases with a large number of dictionary tables, but statistics
gathering only occurs for those tables that lack statistics or are significantly changed during the upgrade.

To determine the schemas which lack statistics, either review the output of the utlu112i.sql script or download and run the script
from the below article:

Note 560336.1 Script to Check Schemas with Stale Statistics

To decrease the amount of downtime incurred when collecting statistics, you can collect statistics prior to performing the actual
database upgrade. As of Oracle Database 10g Release 1 (10.1), Oracle recommends that you use the
DBMS_STATS.GATHER_DICTIONARY_STATS procedure to gather these statistics. For example, you can enter the following:

$ sqlplus "/as sysdba"

SQL> EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;

If you are using Oracle Database 9i Release 2 (9.2), then you should use the DBMS_STATS.GATHER_SCHEMA_STATS procedure
to gather statistics. To do this, you can run the scripts provided in Appendix B.

Appendix B has a sample script, which creates the table dictstattab and exports the statistics for the RDBMS component schema
into it. The statistics collection might give errors if a particular component schema does not exist in the database or if a
component is not installed or is invalid.

This script is useful when you want to import the statistics back into the database

For example, the following PL/SQL subprograms import the statistics for the SYS schema after deleting the existing statistics:

SQL> EXEC DBMS_STATS.DELETE_SCHEMA_STATS('SYS');


SQL> EXEC DBMS_STATS.IMPORT_SCHEMA_STATS('SYS','dictstattab');

Step 9

Disable Oracle Database Vault

When upgrading from Oracle Database release 10.2, if you have enabled the Oracle Database Vault option in your current Oracle
Home, then you must disable Oracle Database Vault in the target Oracle Home where the new release 11.2 software is installed
before upgrading the database, and enable it again when the upgrade is finished. If Database Vault is enabled, then DBUA will
return an error asking you to disable Database Vault prior to upgrade.

You must do this before upgrading the database. Enable Oracle Database Vault again once the upgrade is completed.

Please refer to the following Documentation/Articles for complete information to Disable/Enable Oracle Database Vault.

Disabling and Enabling Oracle Database Vault

OR

You can also refer to the following documents for Disabling Oracle Database Vault before the upgrade and enabling it after the
upgrade.

Note 453903.1 - Enabling and Disabling Oracle Database Vault in UNIX


Note 453902.1 - Enabling and Disabling Oracle Database Vault in WINDOWS

Step 10

Backing up Enterprise Manager Database Control Data. This can be skipped if EM Database Control Console is not being used or
not configured.

After upgrading to Oracle Database 11g release 2 (11.2), if you want to downgrade Oracle Enterprise Manager Database Control
you must save your Database Control files and data before upgrading your database. The emdwgrd utility can be used to keep a
copy of your database control files and data before upgrading your database. The emdwgrd utility resides in the
ORACLE_HOME/bin directory in the Oracle Database 11g release 2 (11.2) home.

1. Set ORACLE_HOME to your old Oracle Home

6 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

2. Set ORACLE_SID to the SID of the database being upgraded.


3. Set PATH, LD_LIBRARY_PATH and SHLIB_PATH to point to the Oracle home from which the database is being upgraded.

Example : export SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH


export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
4. Change directory to Oracle Database 11g release 2 (11.2) home.
5. Run the emdwgrd command.
a. Run the following command for single instance database:

$ emdwgrd -save -sid old_SID -path save_directory

where old_SID is the SID of the database being upgraded and save_directory is the path to the storage place you have chosen
for your Database Control files and data.

@Note 870877.1 How To Save Oracle Enterprise Manager Database Control Data Before Upgrading The Single Instance
Database To Other Release ?

b. For RAC database, remote copy is required across the cluster nodes. Define an environment variable to indicate which remote
copy is configured. For example: setenv EM_REMCP /usr/bin/scp

$ emdwgrd -save -cluster -sid old_SID -path save_directory

Note: If 10g Oracle Home is on a shared device, add -shared to the previous command line.

The above command(s) may core dump on the HP-UX Itanium platform, which is a known issue. For more information, refer to
following article:

Note 562980.1 - emdwgrd core dumps : emdwgrd[228]: 10366 Memory fault(coredump)

6. Enter the SYS password for the database to be upgraded.


Note: On RAC databases you will be prompted to run '/tmp/racdwgrd_dbctl.sh' on each of the nodes.

Step 11

Configuring Network ACL's

Oracle Database 11g Release 2 (11.2) includes fine-grained access control to the UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP, or
UTL_INADDR packages using Oracle XMLDB. If you have applications that use one of these packages, you must install OracleXML
DB if it is not already installed. You must also configure network access control lists (ACLs) in the database before these
packages can work as they did in prior releases. Actions are discussed in Post Upgrade tasks (Step 35), as the
DBMS_NETWORK_ACL_ADMIN package is introduced after upgrading the database and not available in prior releases.

Step 12

This optional check is introduced to spot any logical corruption in underlying objects and their dependencies.
This proactive check is introduced to avoid any failure in database upgrade at a later stage due to such corruption. If there is
corruption the upgrade will most likely fail.

To check for corruption in the dictionary, use the following commands in SQL*Plus (connected as sys):

Set verify off


Set space 0
Set line 120
Set heading off
Set feedback off
Set pages 1000
Spool analyze.sql

SELECT 'Analyze cluster "'||cluster_name||'" validate structure cascade ;'


FROM dba_clusters
WHERE owner='SYS'
UNION
SELECT 'Analyze table "'||table_name||'" validate structure cascade ;'
FROM dba_tables
WHERE owner='SYS'
AND partitioned='NO'
AND (iot_type='IOT' OR iot_type is NULL)
UNION
SELECT 'Analyze table "'||table_name||'" validate structure cascade into invalid_rows;'
FROM dba_tables
WHERE owner='SYS'
AND partitioned='YES';

spool off

This creates a script called analyze.sql.


Now execute the following steps:

$ sqlplus "/ as sysdba"


SQL> @$ORACLE_HOME/rdbms/admin/utlvalid.sql
SQL> @analyze.sql

7 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

This script (analyze.sql) should not return any errors.

Note:
1. ORA-30657 might occur if there is any external table validated, which can be safely ignored as per Note 209355.1 ORA-30657:
Using ANALYZE TABLE for an External Table

2. Errors shown below when executing analyze.sql can be ignored:


SP2-0734: unknown command beginning "SQL> SELEC..." - rest of line ignored.
SP2-0042: unknown command "SQL>" - rest of line ignored.
SP2-0734: unknown command beginning "SQL> spool..." - rest of line ignored.

3. "ORA-00054: resource busy and acquire with NOWAIT specified" may be returned when analyzing AWR tables (WRH$_...)
to workaround this error AWR can be temporarily disabled :

3.a) get current value for snapshot interval :

select snap_interval,retention from dba_hist_wr_control;

3.b) set this interval to zero to temporarily disable AWR :

exec dbms_workload_repository.modify_snapshot_settings(interval=>0);

3.c) Analyze the WRH$ tables

3.d) Revert back to initial value :

exec dbms_workload_repository.modify_snapshot_settings(interval=><value in mn of snap_interval


returned at 3.a>);

Step 13

Before upgrading Oracle Database, you must wait until all materialized views have completed refreshing and check that
replication is stopped.
Run the following query to determine if there are any materialized view refreshes still in progress:

SQL> select distinct(trunc(last_refresh)) from dba_snapshot_refresh_times;

SQL> select s.obj#,o.obj#,s.containerobj#,lastrefreshdate,pflags,xpflags,o.name,o.owner#,


bitand(s.mflags, 8) from obj$ o, sum$ s
where o.obj# = s.obj# and o.type# = 42 AND bitand(s.mflags, 8) = 8;

If the second query returns any row, then use Note 1442457.1 : During 11g Upgrade, Mview refresh warning

Step 14

Ensure that no files need media recovery and that no files are in backup mode.

SELECT * FROM v$recover_file;


SELECT * FROM v$backup WHERE status != 'NOT ACTIVE';

This should return no rows.

Step 15

Password protected roles.

In version 11.2 password protected roles are no longer enabled by default,


if any of your applications relies on such roles being enabled by default and you take no measures to allow
the user to enter the password with the set role command, it is recommended to remove the password
from those roles to allow for existing privileges to remain available, for more information see :

Note 745407.1 : What Roles Can Be Set as Default for a User?


Oracle Database Security Guide 10g Release 2 (10.2) Part Number B14266-07
Oracle Database Security Guide 11g Release 1 (11.1) Part Number B28531-15
Oracle Database Security Guide 11g Release 2 (11.2) Part Number E16543-09

Step 16

Resolve outstanding distributed transactions prior to the upgrade.

SQL> select * from dba_2pc_pending;

If this returns rows you should do the following:

SQL> SELECT local_tran_id


FROM dba_2pc_pending;
SQL> EXECUTE dbms_transaction.purge_lost_db_entry('');
SQL> COMMIT;

8 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

Step 17

To check if a standby database exists, issue the following query:

SELECT SUBSTR(value,INSTR(value,'=',INSTR(UPPER(value),'SERVICE'))+1)
FROM v$parameter
WHERE name LIKE 'log_archive_dest%' AND UPPER(value) LIKE 'SERVICE%';

If this query returns a row, then sync the standby database with the primary database.
1. Make sure all the logs are transported to the standby server after a final log switch
in the primary.
2. Start the recovery of the standby database with the NODELAY option.

Step 18

Disable all batch and cron jobs.


About jobs initiated with Oracle the packages DBMS_JOB, DBMS_SCHEDULER can be used , regarding cron jobs (external jobs
controlled at the OS level), this is a task for your Unix administrator

See also :

Note 404238.1 : How to Disable an Entry from DBMS_SCHEDULER


Note 1335741.1 : How To Stop A Running Job Using DBMS_JOB
Note 67695.1 : PROCEDURE DBMS_JOB.BROKEN Specification

Step 19

Ensure the users SYS and SYSTEM have 'SYSTEM' as their default tablespace.
You must have sufficient space in the tablespace or be set to extents unlimited.

SQL> SELECT username, default_tablespace


FROM dba_users
WHERE username in ('SYS','SYSTEM');

If DEFAULT_TABLESPACE is anything other than SYSTEM tablespace, modify the default tablespace to SYSTEM by using the
below command.

SQL> ALTER user SYS default tablespace SYSTEM;


SQL> ALTER user SYSTEM default tablespace SYSTEM;

Step 20

Ensure that if the aud$ table exists that it is in the SYS schema and in the SYSTEM tablespace.

SQL> SELECT owner,tablespace_name


FROM dba_tables
WHERE table_name='AUD$';

If the AUD$ table is not in SYSTEM tablespace and not owned by the SYS user then before doing the upgrade put it back to the
SYSTEM tablespace and it should be owned by SYS .

Note: If the AUD$ table exists and is in use, upgrade performance can be effected depending on the number of records in the
table.

Step 21

Check whether database has any externally authenticated SSL users.

SQL> SELECT name FROM sys.user$


WHERE ext_username IS NOT NULL
AND password = 'GLOBAL';

If any SSL users are found then Step 33 has to be followed after the upgrade.

Step 22

Note down the location of datafiles, redo logs and control files. Also take a backup of all configuration files like listener.ora,
tnsnames.ora, etc. from $ORACLE_HOME.

SQL> SELECT name FROM v$controlfile;


SQL> SELECT file_name FROM dba_data_files;
SQL> SELECT group#, member FROM v$logfile;.

Step 23

If the you have upgraded the Grid Infrastructure then this step is not needed as it was done as part of the GI install / upgrade

9 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

a) Stop the listener for the database.

$ lsnrctl stop

Previous versions of the listener are not supported for use with an Oracle Database 11g Release 2 (11.2) database. However, it is
possible to use the new version of the listener with previous versions of Oracle Databases.
If you are upgrading from 9i or upgrading manually without using DBUA, run Oracle Net Configuration Assistant before upgrading
the Oracle RAC database.

This is a two-step option.


You must first run Oracle Net Configuration Assistant from the old Oracle Home to remove the old listener.
- Invoke the Netca
- Choose the configuration you want to do ==> Choose Listener Configuration
- Select what you want to do ==> Delete
- Select the listener you want to delete .

Then you must run Oracle Net Configuration Assistant again from the new Oracle Database 11g Release 2 (11.2) Home to create
a new listener.

- Invoke the Netca


- Choose the configuration you want to do ==> Choose Listener Configuration
- Select what you want to do ==> Add
- Provide the detail that is required to configure the listener.

You must remove the old listener before creating a new one. If you attempt to create a new listener from the new Oracle Home
first, and use the same name and port as the old listener, then Oracle Net Configuration Assistant returns an error.

Note: This is your only option if you want to upgrade your Oracle RAC database manually.

b) Stop other executable such as dbconsole, isqlplus, etc.

$ emctl stop dbconsole


$ isqlplusctl stop

Step 24

Shutdown the database.

$ sqlplus "/as sysdba"


SQL> shutdown immediate;

Back up the Database

1. Perform Cold Backup


(or)
2. Take a backup using RMAN

Connect to RMAN:

rman "target / nocatalog"

RUN
{
ALLOCATE CHANNEL chan_name TYPE DISK;
BACKUP DATABASE FORMAT '<db_backup_directory>%U' TAG before_upgrade;
BACKUP CURRENT CONTROLFILE TO '<controlfile_backup_directory>';
}

--> backup_directory >> Location of the Database backup.


--> controlfile_backup_directory >> Location of the Controlfile backup.

Step 25

- copy the initialization file from source Oracle Home to <target 11GR2 home>/dbs (<target 11GR2 home>\database on
Windows)

- then process in target 11GR2 directory (<target 11GR2 home>/dbs for unix and <target 11GR2 home>\database for Windows)
to the needed modiciations :

Comment out obsoleted parameters (Appendix A) and change all deprecated parameters (Appendix A).

It is also recommended to remove all hidden parameters set manually prior to upgrading.

* The DIAGNOSTIC_DEST initialization parameter replaces the USER_DUMP_DEST, BACKGROUND_DUMP_DEST.

According to Bug 8937877, CORE_DUMP_DEST is not deprecated.

Refer to the below article for understanding directory structure in 11g and DIAGNOSTIC_DEST.

10 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

Note 454442.1 11g Install : Understanding about Oracle Base, Oracle Home and Oracle Inventory locations

* If you are upgrading from 9.2.0.x, the COMPATIBLE initialization parameter must be set to at least 10.0.0,
which is the lowest possible setting for Oracle Database11g Release 2 (11.2) prior to the upgrade.
This value must remain throughout the upgrade and can be changed to the higher value after the upgrade has been completed
successfully.
(Please note, once you set the COMPATIBLE to 10.1 there is no way to downgrade to 9iR2 because of symptoms described in
Note 388604.1 : ORA-00201 while downgrading from 10gR2 to 10gR1 or 9iR2 ).

Oracle recommends increasing the COMPATIBLE parameter only after complete testing of the upgraded database has been
performed.

If you are upgrading from 10.1.0.x or 10.2.0.x then you can leave the COMPATIBLE parameter set to
it's current value until the upgrade has been completed successfully.
This will avoid any unnecessary ORA-942 errors from being reported in SMON trace files during the upgrade
(because the upgrade is looking for 10.2 objects that have not yet been created).

* Adjust the values of the initialization parameters to at least the minimum value indicated by the Pre-Upgrade Information Tool.
Make sure all path names in the parameter file are fully specified. You should not have relative path names in the parameter file.

* If you are upgrading a cluster database, set the parameter CLUSTER_DATABASE=FALSE during the upgrade and set it back to
true after the upgrade.

Step 26

If your operating system is Windows then complete the actions in this step, else skip to the next step.

Stop the OracleServiceSID Oracle service of the database you are upgrading, where SID is the instance name. For example, if
your SID is ORCL, then enter the following at a command prompt:

Set the environment to Source/Previous version (9.2 / 10.1 / 10.2 /11.1)

1. Stop the Oracle database service.

C:\> NET STOP OracleServiceORCL

2. Delete Oracle service using ORADIM binary from which the database is upgraded to 11.2.

C:\> ORADIM -DELETE -SID ORCL

3. Create the Oracle Database 11g Release 2 (112) service at a command prompt using the ORADIM command of the new Oracle
Database release:

C:\> ORADIM -NEW -SID SID -INTPWD PASSWORD -STARTMODE AUTO -PFILE %ORACLE_HOME%\DATABASE
\INIT<SID>.ORA

For Instance,

C:\> ORADIM -NEW -SID ORCL -INTPWD <PASSWORD> -STARTMODE AUTO -PFILE %ORACLE_HOME%\DATABASE
\INIT<SID>.ORA

Step 27

If your operating system is UNIX then complete this step, else skip to the next step.

1. Make sure the following environment variables point to the Oracle 11g Release 2 (11.2) directories:

- ORACLE_BASE
- ORACLE_HOME
- PATH, LD_LIBRARY_PATH , SHLIB_PATH and LIBPATH ( for AIX )

For example:

$ export ORACLE_HOME=<location of Oracle 11.2>


$ export PATH=$ORACLE_HOME/bin:$PATH
$ export ORACLE_BASE=<Oracle_Base set during installation>
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
$ export SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH
$ export LIBPATH=$ORACLE_HOME/lib:$LIBPATH

Note : If ORACLE_BASE is not known, after setting PATH to 11gR2 Oracle Home, execute 'orabase', which will point the location
of the base.

Note : Unset/Remove the ORA_TZFILE environment variable if it is set in your environment .

11 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

$ orabase
/uo1/app/oracle

2. Update the oratab entry to set the new ORACLE_HOME pointing to ORCL and disable automatic startup.

Sample /etc/oratab

#orcl:/opt/oracle/product/10.2/db_1:N
orcl:/opt/oracle/product/11.2/db_1:N

Note: After /etc/oratab is updated to have SID and Oracle Home (11.2), you can execute oraenv (/usr/local/bin/oraenv) and set
the environment. The input has to be the SID which is entered in /etc/oratab against the 11gR2 home.

For example:

[oracle@localhost ~]$ . oraenv


ORACLE_SID = [orcl] ? orcl
The Oracle base for ORACLE_HOME=/opt/oracle/product/11.2/db_1 is /u01/app/oracle
[oracle@localhost ~]$

Step 27a

If you are upgrading database from 10g, verify following information

SQL> select DBMS_STATS.GET_PARAM('METHOD_OPT') from dual;

DBMS_STATS.GET_PARAM('METHOD_OPT')
-------------------------------------------------------------
FOR COLUMNS ID SIZE 1

If it reports "FOR COLUMNS ID SIZE 1", it might create issues during upgrade. Hence as a workaround execute

SQL>exec DBMS_STATS.SET_PARAM('METHOD_OPT','FOR ALL COLUMNS SIZE AUTO');

Refer: Unpublished BUG 22454765 - CARRYING METHOD_OPT = "FOR COLUMNS ID SIZE 1" FROM 10G WILL BREAK UPGRADE

Upgrading Database to 11gR2

Step 28

At the operating system prompt, change to the $ORACLE_HOME/rdbms/admin directory of 11gR2 Oracle Home.

$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus "/ as sysdba"
SQL> startup UPGRADE

Note: If you are upgrading from 9.2 and the SYSAUX table already exists then drop the existing SYSAUX tablespace. The
SYSAUX tablespace needs to be created immediately after the database is started in upgrade mode using 11g binaries (with
Compatibility set to atleast 10.1 and just prior to the running of the catupgrd.sql scripts.

Create the SYSAUX tablespace only if you are upgrading from Oracle Database9i Release 2 (9.2) with the following mandatory
attributes:

ONLINE
PERMANENT
READ WRITE
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO

The Pre-Upgrade Information Tool provides an estimate of the minimum required size for the SYSAUX tablespace in the SYSAUX
Tablespace section. Refer to the output generated by the utlu112i.sql script in Step 1. The following SQL statement would create
a 500 MB SYSAUX tablespace for the database:

SQL> CREATE TABLESPACE SYSAUX


DATAFILE '<location>/sysaux01.dbf'
SIZE 500M REUSE
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
ONLINE;

Set the system to spool results to a log file for later verification after the upgrade is completed and start the upgrade script.

SQL> set echo on


SQL> SPOOL upgrade.log
SQL> @catupgrd.sql
SQL> spool off

These measures are an important final step to ensure the integrity and consistency of the newly upgraded Oracle Database

12 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

software. Also, if you encountered a message listing obsolete initialization parameters when you started the database for
upgrade, then remove the obsolete initialization parameters from the parameter file before restarting. If necessary, convert the
SPFILE to a PFILE so you can edit the file to delete parameters.

Run the Post-Upgrade Status Tool $ORACLE_HOME/rdbms/admin/utlu112s.sql which provides a summary of the upgrade at the
end of the spool log. It displays the status of the database components in the upgraded database and the time required to
complete each component upgrade. Any errors that occur during the upgrade are listed with each component and must be
addressed.

$ sqlplus "/as sysdba"


SQL> STARTUP
SQL> @utlu112s.sql

Run catuppst.sql, located in the $ORACLE_HOME/rdbms/admin directory, to perform upgrade actions that do not require the
database to be in UPGRADE mode.

SQL> @catuppst.sql

This script can be run concurrently with utlrp.sql. Run utlrp.sql to recompile any remaining stored PL/SQL and Java code in
another session.

SQL> @utlrp.sql

Check for the integrity of the upgraded database by running dbupgdiag.sql script from the below article:

Note 556610.1 Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)

If the dbupgdiag.sql script reports any invalid objects, run $ORACLE_HOME/rdbms/admin/utlrp.sql (multiple times) to validate the
invalid objects in the database, until there is no change in the number of invalid objects.

After validating the invalid objects, re-run dbupgdiag.sql in the upgraded database once again and make sure that everything is
fine.

Post Upgrade Steps

Step 29

Verify the listener.ora file.

For the upgraded instance(s) Verify the ORACLE_HOME parameter to point to the new ORACLE_HOME. Start the listener.

lsnrctl start

Step 30

Environment Variables

1. Make sure the following environment variables point to the Oracle 11g Release 2 (11.2) directories:

- ORACLE_BASE
- ORACLE_HOME
- PATH, LD_LIBRARY_PATH, SHLIB_PATH and LIBPATH ( for AIX )

Also check that your oratab file and any client scripts that set the value of ORACLE_HOME point to the Oracle Database 11g
Release 2 (11.2) Home.

Note : If you are upgrading a cluster database, then perform these checks on all nodes in which this cluster database has
instances configured.

2. Modify /etc/oratab entry to use automatic startup.

SID:ORACLE_HOME:Y

For Instance,
orcl:/opt/oracle/product/11.2/db_1:Y

Step 31

After the upgrade

note : this simply repeats the same actions as given in the "DST" notes referenced in step 6 of this note.

Check the current version of the Oracle time zone definitions in the upgraded database:

SQL> conn / as sysdba


Connected.
SQL>SELECT version FROM v$timezone_file;

13 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

VERSION
----------
4

This should be the same as the value found before the upgrade.

if this is HIGHER than 11 (for 11.2.0.1 ) or 14 (for 11.2.0.2 and 11.2.0.3) then goto step 32

if this is 11 (for 11.2.0.1 ) or 14 (for 11.2.0.2 and 11.2.0.3) then goto step 32

if this is LOWER than 11 (for 11.2.0.1 ) or 14 (for 11.2.0.2 and 11.2.0.3) then it is *recommended* to upgrade the timezone
version

*For 11.2.0.1 : update to DSTv11 (standard DST version of 11.2.0.1) by

using the scripts in Note 1585343.1 Scripts to automatically update the RDBMS DST (timezone) version in an 11gR2 or 12cR1
database .
OR
following Note 977512.1 Updating the RDBMS DST version in 11g Release 2 (11.2.0.1 and up) using DBMS_DST
(from step 3a) onwards using "11" as (<the new DST version number>) in that note.

*For 11.2.0.2 , 11.2.0.3 and 11.2.0.4 : update to DSTv14 (standard DST version of (for 11.2.0.2 , 11.2.0.3 and 11.2.0.4) by

using the scripts in Note 1585343.1 : Scripts to automatically update the RDBMS DST (timezone) version in an 11gR2 or
12cR1 database .
OR
following Note 977512.1 Updating the RDBMS DST version in 11g Release 2 (11.2.0.1 and up) using DBMS_DST
(from step 3a) onwards using "14" as (<the new DST version number>) in that note.)

note that :

* it is supported to use a lower DST version in 11gR2, but there is no technical reason to use a lower DST version,
hence we *strongly* recommend to update to the highest DST version included in the 11gR2 version you upgraded

* Optionally you can update to the lastest dst version available.


The latest available DST patch is found in
Note 412160.1 : Updated DST transitions and new Time Zones in Oracle Time Zone File patch

Step 32

Upgrade Statistics Tables Created by the DBMS_STATS Package.

If you created statistics tables using the DBMS_STATS.CREATE_STAT_TABLE procedure, then upgrade these tables by executing
the following procedure:

EXECUTE DBMS_STATS.UPGRADE_STAT_TABLE('SYS','dictstattab');

In the example, 'SYS' is the owner of the statistics table and 'dictstattab' is the name of the statistics table. Execute this
procedure for each statistics table.

Step 33

Upgrade Externally Authenticated SSL Users.

If you have upgraded from Oracle 9.2.0.x or 10.1.0.x, and you are using externally authenticated SSL users, then you must run
the following command to upgrade those users:

ORACLE_HOME/rdbms/bin/extusrupgrade --dbconnectstring
<hostname:port_no:sid> --dbuser <db admin> --dbuserpassword
<password> -a

If you are upgrading from 10.2.0.x (or higher), then you are not required to run this command.

Step 34

Enable Database Vault

Refer to the following documents for enabling Oracle Database Vault:

Note 453903.1 - Enabling and Disabling Oracle Database Vault in UNIX


Note 453902.1 - Enabling and Disabling Oracle Database Vault in WINDOWS

14 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

Step 35

Configure Fine-Grained Access to External Network Services.

To avoid "ORA-24247: network access denied by access control list (ACL)" when executing UTL packages (Network related
packages), access has to be granted to user using these packages.

The following example first looks for any ACL currently assigned to host_name. If one is found, then the example grants
user_name the CONNECT privilege in the ACL only if that user does not already have it. If no ACL exists for host_name, then the
example creates a new ACL called ACL_name, grants the CONNECT privilege to user_name, and assigns the ACL to host_name.

DECLARE
acl_path VARCHAR2(4000);
BEGIN
SELECT acl INTO acl_path FROM dba_network_acls
WHERE host = 'host_name' AND lower_port IS NULL AND upper_port IS NULL;
IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(acl_path,'principal','privilege') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl_path,'principal', is_grant, 'privilege');
END IF;
EXCEPTION
WHEN no_data_found THEN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('ACL_name.xml','ACL description', 'principal', is_grant, 'privilege');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('ACL_name.xml','host_name');
END;

COMMIT;

acl_name.xml => Enter a name for the access control list XML file.
ACL description => 'file description',
principal => 'user_or_role',
is_grant => TRUE|FALSE,
privilege => 'connect|resolve',
host_name => host name

Refer to the below note on how to use DBMS_NETWORK_ACL_ADMIN package and also to avoid ORA-24247 : network access
denied by access control list (ACL).

Note 453786.1 ORA-24247 When Executing UTL_HTTP UTL_INADDR Packages

Step 36

Edit init.ora

If you changed the CLUSTER_DATABASE parameter prior the upgrade set it back to TRUE
Migrate your initialization parameter file to a server parameter file.

Create a server parameter file with an initialization parameter file.

SQL> create spfile from pfile;

This will create an spfile as a copy of the init.ora file located in $ORACLE_HOME/dbs (UNIX) & %ORACLE_HOME%\database
(Windows).

Step 37

Change passwords for Oracle-Supplied Accounts.

Depending on the release from which you upgraded, there might be new Oracle-supplied accounts. Oracle recommends that you
lock all Oracle supplied accounts except for SYS and SYSTEM, and expire their passwords, thus requiring new passwords to be
specified when the accounts are unlocked.

You can view the status of all accounts by issuing the following SQL statement:

SQL> SELECT username, account_status FROM dba_users ORDER BY username;

To lock and expire passwords, issue the following SQL statement:

SQL> ALTER USER username PASSWORD EXPIRE ACCOUNT LOCK;

Step 38

Upgrading Oracle Text

This is only needed if Oracle Text is in use.

NOTE : These steps are NOT required if you are upgrading the database within a same release ( patchset upgrade ) Example :
11.2.0.1 to 11.2.0.2.

15 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

Copy the following files from the previous Oracle Home to the new Oracle Home:

* Stemming user-dictionary files


* User-modified KOREAN_MORPH_LEXER dictionary files
* USER_FILTER executables

To obtain a list of the above files, use:

$ORACLE_HOME/ctx/admin/ctxf<version>.txt
$ORACLE_HOME/ctx/admin/ctxf<version>.sql

where version is 920, 101, 102

For instance, if upgrading from 10.2.0:

1. For User Extended Knowledge Base files check


$ORACLE_HOME/ctx/admin/ctxf102.txt
2. Execute the script as database user SYS,SYSTEM, or CTXSYS
$ORACLE_HOME/ctx/admin/ctxf102.sql

If your Oracle Text index uses KOREAN_LEXER which was deprecated in Oracle 9i and desupported in Oracle 10g Release 2, see
below note for further information on manual migration from KOREAN_LEXER to KOREAN_MORPH_LEXER:

Note 300172.1 Obsolescence of KOREAN_LEXER Lexer Type

If you are upgrading to the 11.2.0.3 then please refer the following article for Support Note for Lexer Feature Updates

Note 1354793.1 Oracle Text 11.2.0.3 Support Note for Lexer Feature Updates

Please refer to the following article for more information on step 38.

Note 1319592.1 Upgrading Oracle Text Post 10.2.0.4 To 11.2.0.2 Upgrade

Step 39

Upgrade the Oracle Clusterware Configuration

If you are upgrading a cluster database from releases 10.2, 11.1, or 11.2.0.1, then upgrade the database configuration in Oracle
Clusterware using the following command:

$ srvctl upgrade database -d db-unique-name -o oraclehome

where db-unique-name is the database name assigned to it (not the instance name), and oraclehome is the Oracle home location
in which the database is being upgraded.

Step 40

Configure Enterprise Manager

This step is only required if Dbconsole is used for the database , if Dbconsole is not configured or if database is monitored with
the Grid Control then this step does not apply.

If your database is being managed by Oracle Enterprise Manager Database Control


then use the following command to update the configuration:

Execute the following command from the Target or upgraded $ORACLE_HOME

emca -upgrade (db | asm | db_asm) [-cluster] [-silent] [parameters]

You need to run this from the new Oracle Database 11gR2 Oracle Home. When prompted, provide the Oracle Home from which
the configuration is being upgraded.

Appendix A: Initialization parameters deprecated in Oracle Database 11g release 2 (11.2)

To get a list of all deprecated initialization parameters, issue the following SQL statement:

SQL> SELECT name FROM v$parameter WHERE isdeprecated = 'TRUE';

A warning message is displayed at instance startup if a deprecated parameter is specified in the parameter file. In addition, all
deprecated parameters are logged to the alert log at instance startup.

16 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

Appendix B: Initialization Parameters Obsolete in Oracle Database 11g Release 2 (11.2)

DRS_START
SQL_VERSION

Step 41

TDE (Transparent Data Encryption)

If your are using Transparent Data Encryption then you will have to rekey the master key as follows:

SQL> alter system set encryption key identified by "<wallet password>";

Please see Note 1260584.1 : Ora-28374 After Migration From 10.2.0.4 To 11.2.0.1 for additional details.

Step 42

Gather Fixed Object Statistics

Please create stats on fixed objects two weeks after the upgrade using the below command
SQL>EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;

It would to good to gather the statistic during non-peak hours

Useful Upgrade documents

Note 1561791.2 Upgrade / Downgrade Assistant: Oracle Database/Client


Note 1351112.2 Information Center: Upgrading and Migration Oracle Database
Note 785351.1 Oracle 11gR2 Upgrade Companion
Note 251.1 Database Upgrade Planner from 10.2 to 11.2
Note 264.1 Database Upgrade Planner from 9.2 to 11.2

Step 43

When upgrading to 11.2.0.4, if compatiblity is set lower than 11, additional post-upgrade steps are required for manually
implementing the patch for bug 14373728

Please see Note 1537496.1 How to Manually Enable the Patch for Bug:14373728 on Oracle 11g Release 11.2.0.4

Revision History

03-Sep-2009 Article Created

27-Oct-2009 Changed Indirect upgrade table value from 9.2.0.3(or lower) to 9.2.0.7(or lower)

27-Oct-2009 Check the certification of the 11g R2 with you platform before installing the software

29-OCt-2009 Note in step 32

The window below is a live discussion of this article (not a screenshot). We encourage you to join the discussion
by clicking the "Reply" link below for the entry you would like to provide feedback on. If you have questions or
implementation issues with the information in the article above, please share that below.

17 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

Permission Problem
You don't have permission to do that.

18 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

Step 27a

If you are upgrading database from 10g, verify following information

SQL> select DBMS_STATS.GET_PARAM('METHOD_OPT') from dual;

DBMS_STATS.GET_PARAM('METHOD_OPT')
-------------------------------------------------------------
FOR COLUMNS ID SIZE 1

If it reports "FOR COLUMNS ID SIZE 1", it might create issues during upgrade. Hence as a workaround execute

SQL>exec DBMS_STATS.SET_PARAM('METHOD_OPT','FOR ALL COLUMNS SIZE AUTO');

Refer : Unpublished BUG 22454765 - CARRYING METHOD_OPT = "FOR COLUMNS ID SIZE 1" FROM 10G WILL BREAK UPGRADE

REFERENCES

NOTE:1335741.1 - How To Stop A Running Job Using DBMS_JOB


NOTE:1320966.1 - Things to Consider to Avoid Poor Performance or Wrong Results on 11.2.0.2
NOTE:454442.1 - 11g Install : Understanding Oracle Base, Oracle Home and Oracle Central/Global Inventory locations
NOTE:815679.1 - Actions For DST Updates When Upgrading To 11.2.0.1 Base Release
NOTE:73408.1 - How to Truncate, Delete, or Purge Rows from the Audit Trail Table AUD$

NOTE:560336.1 - Script that Checks for Schemas Containing Stale Statistics


NOTE:1358166.1 - Actions For DST Updates When Upgrading To Or Applying The 11.2.0.3 Patchset
NOTE:556610.1 - Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)

BUG:10419629 - HL7 SPL : INVALID LSX-00020: UNKNOWN TYPE "NOINFORMATION" ON INSERT


NOTE:1329590.1 - How to Pre-Process SYS.AUD$ Records Pre-Upgrade From 10.1 or later to 11.2.0.1 or later to Avoid
Hungs/Slow While Running catupgrd.sql ?

NOTE:1319592.1 - Where to find ctxf102.txt and ctxf102.sql scripts for Post-Upgrade steps from 10gR2 to 11gR2

NOTE:453903.1 - 10g DB : Enabling and Disabling Oracle Database Vault in UNIX


BUG:13646689 - SQL PROFILES LOST AFTER UPGRADE: ORA-1
NOTE:388604.1 - ORA-00201 while downgrading from 10gR2 to 10gR1 or 9iR2
NOTE:1201253.1 - Actions For DST Updates When Upgrading To Or Applying The 11.2.0.2 Patchset

NOTE:753736.1 - Quick Reference to RDBMS Database Patchset And PSU Patch Numbers
NOTE:884522.1 - How to Download and Run Oracle's Database Pre-Upgrade Utility
NOTE:979942.1 - Database Upgrade Appears To Have Halted At SYS.AUD$ Table

NOTE:1127179.1 - ORA-07445 [qmkmgetConfig()+52] During Catupgrd.sql (11.2.0.1)


NOTE:359145.1 - Impact of 2007 USA daylight saving changes on the Oracle database
NOTE:67695.1 - PROCEDURE DBMS_JOB.BROKEN Specification

BUG:8937877 - CORE_DUMP_DEST IS NOT MARKED AS DEPRECATED PARAMETER

NOTE:404238.1 - How to Disable an Entry from DBMS_SCHEDULER


NOTE:453902.1 - How To Enable And/Or Disable Oracle Database Vault on Windows machines
NOTE:453786.1 - ORA-24247 When Executing UTL_HTTP UTL_INADDR Packages
NOTE:438049.1 - How To Find RDBMS patchsets on My Oracle Support
NOTE:1442457.1 - During 11g Upgrade, Mview refresh warning

NOTE:870877.1 - How To Save Oracle Enterprise Manager Database Control Data Before Upgrading The Single Instance
Database To Other Release

Didn't find what you are looking for? Ask in Community...

Related
Products

Oracle Database Products > Oracle Database Suite > Oracle Database > Oracle Database - Standard Edition
Oracle Database Products > Oracle Database Suite > Oracle Database > Oracle Database - Enterprise Edition
Oracle Cloud > Oracle Platform Cloud > Oracle Database Cloud Service > Oracle Database Cloud Schema Service
Oracle Cloud > Oracle Infrastructure Cloud > Oracle Cloud at Customer > Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine)
Oracle Cloud > Oracle Platform Cloud > Oracle Cloud Infrastructure - Database Service > Oracle Cloud Infrastructure - Database Service
Oracle Cloud > Oracle Platform Cloud > Oracle Database Cloud Service > Oracle Database Cloud Exadata Service
Oracle Cloud > Oracle Platform Cloud > Oracle Database Backup Service > Oracle Database Backup Service
Oracle Cloud > Oracle Platform Cloud > Oracle Database Cloud Service > Oracle Database Exadata Express Cloud Service
Oracle Cloud > Oracle Platform Cloud > Oracle Database Cloud Service > Oracle Database Cloud Service
Oracle Database Products > Oracle Database Suite > Oracle Database > Oracle Database - Enterprise Edition > Upgrading > Upgrading DB: Release level using DBUA or manual script

Keywords
11G; 11GR1; 11GR2; CHECKLIST; DBUA; INSTALL; MIGRATE; MIGRATION; PRE-UPGRADE; PRE-UPGRADE UTILITY; TARGET DATABASE; UPGRADE; UPGRADE ASSISTANT; UPGRADE
DATABASE; UPGRADE FAILS; UPGRADE FROM 10.1.0; UPGRADE FROM 10.2.0; UPGRADE FROM 10.2.0.4.0; UPGRADE FROM 9.2.0; UTILITY
Translations

English Source Chinese Japanese Korean 한국어


Back to Top
Copyright (c) 2021, Oracle. All rights reserved. Legal Notices and Terms of Use Privacy Statement

19 of 20 2/28/2021, 5:43 PM
Document 837570.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=...

20 of 20 2/28/2021, 5:43 PM

You might also like