11g212c Upgrade
11g212c Upgrade
11g212c Upgrade
Upgrade to 12c using RMAN Duplicate with Noopen clause and Backup To
Location (Doc ID 2022820.1) Bottom
In this Document
Purpose
Scope
Details
References
APPLIES TO:
Oracle Database - Enterprise Edition - Version 12.1.0.1 to 12.2.0.1 [Release 12.1 to 12.2]
Information in this document applies to any platform.
PURPOSE
Method for Duplicating a 12c database using RMAN Backup created by a lower release (i.e
10gR2, 11gR1, 11gR2)
SCOPE
In 12c, the RMAN duplicate command has new "NOOPEN" option which clones the database
but does not open the auxiliary. This feature can be used to duplicate a database to higher
version.
Note: This note provides the example for upgrading the database using "RMAN DUPLICATE
using BACKUP LOCATION with NOOPEN clause" and applicable ONLY for said method
Note: This note covers the RMAN duplicate with noopen clause procedure. If you choose to
upgrade the database after the RMAN procedure completes, please insure the Pre Upgrade
Checks are completed PRIOR to starting the upgrade.
DETAILS
When cloning (duplicating) a database to a higher version, traditionally (prior to 12c), you must
use restore/recover of an RMAN backup. This is because the database in the destination must be
opened with UPGRADE option. Therefore, the RMAN duplicate could not be used because
RMAN automatically opens the auxiliary database with resetlogs. This would fail with error
'ORA-39700: database must be opened with UPGRADE option'.
In RMAN 12c, a new option is available "NOOPEN" requesting RMAN to complete the
duplicate activity but NOT open the auxiliary database. This would allow for the 'open
upgrade' option to be manually executed when going between versions.
"NOOPEN": It specifies that the duplicate database must not be opened after duplicate is
completed.
1) Execute Preupgrade script (preupgrd.sql) at 11g database. This script will validate 11g
database for upgrade and provide recommendations. This script is available in the 12c
$ORACLE_HOME/rdbms/admin directory. Note, both preupgrd.sql and utluppkg.sql (called by
preupgrd.sql) must be copied from 12c.
Note: This method performs duplicate using backup. The database backup should be taken after
performing pre-upgrade steps of target database version.
Suppose we are going to upgrade to 12.2, then database should be taken after performing
pre-upgrade tasks of 12.2 version.
Note: Database upgrade compatible matrix will be applicable for this upgrade.
2) Once Preupgrade checks are complete, take complete backup of 11g database
Using OS command like scp , we can copy the backup pieces to Destination server
Example: scp -p <backup-piece> user@<host>:/u01/dest_backup/
4) Create password file for 12c database. We can choose new name for 12c database using
duplicate method
5) Edit copied pfile and make necessary changes. Set necessary values like:
db_name =
controfile_name =
db_file_name_convert and log_file_name_convert ( if source and destination locations
are different )
Example:
$ export ORACLE_SID=<12cdbxxx>
rman > connect auxiliary /
8) Using RMAN 12c, execute the duplicate command. In this example, '/u01/backup' denotes
RMAN backup location on destination. Note, “NOOPEN” option is specified.
Rman> exit
9) Once RMAN completes, the auxiliary database remains in MOUNT mode. Within sqlplus,
you can open the database with UPGRADE option:
In 12c manual upgrade can be done parallel using perl utility catctl.pl
$ cd $ORACLE_HOME/rdbms/admin
$ ORACLE_HOME/perl/bin/perl catctl.pl –n 4 –l /u01/upgrade/logs catupgrd.sql
11) Execute post upgrade scripts (please refer Document reference given for 12.1 and 12.2
accordingly)
References:
For 12.1
Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (Doc ID
1503653.1)
http://docs.oracle.com/database/121/RCMRF/rcmsynta020.htm#RCMRF126
NOTE: If using this method to upgrade an existing database, be aware that once the auxiliary
database is created and opened, no further recovery is allowed from the source.