Create the directory of the new Oracle Grid home and for the database.
mkdir -p /u01/app/12.2.0/grid chown grid:oinstall /u01/app/12.2.0/grid mkdir -p /u01/app/oracle/product/12.2.0/db_1 chown oracle:oinstall /u01/app/oracle/product/12.2.0/db_1
Apply recent patch :
Remove the old version and copy the new version Opatch rm -fr /u01/app/12.1.0/grid/OPatch rm -fr /u01/app/oracle/product/12.1.0/db_1/OPatch cp -R OPatch /u01/app/12.1.0/grid/ cp -R OPatch /u01/app/oracle/product/12.1.0/db_1/ [root@ggsrv1 ~]# cd /media/sf_Software_and_seeds/Patch_software [root@ggsrv1 Patch_software]# cp -R OPatch /u01/app/12.1.0/grid/ [root@ggsrv1 Patch_software]# cp -R OPatch /u01/app/oracle/product/12.1.0/db_1/ [root@ggsrv1 Patch_software]# chown -R grid:oinstall /u01/app/12.1.0/grid/OPatch [root@ggsrv1 Patch_software]# chown -R oracle:oinstall /u01/app/oracle/product/12.1.0/db_1/OPatch [root@ggsrv1 Patch_software]# /u01/app/12.1.0/grid/OPatch/opatch version /u01/app/12.1.0/grid/OPatch/opatchauto apply /media/sf_Software_and_seeds/Patch_software/21255373 -log /tmp/21255373_response.txt
Upgrade Oracle Grid Infrastructure
Note: Oracle Grid Infrastructure 12.2 has added new features that require plenty of disk space in the CRS disk group. Therefore, you must expand the size of the CRS disk group before you can upgrade Oracle Grid to the new release. CRS disk group size increased to nearly 50GB
Before proceeding with the upgrade you must shutdown all Oracle Databases that are using Oracle ASM for storage.
Upgrade Oracle Grid Infrastructure :
Login as grid user
Open a terminal window and change the current directory to the directory where the Oracle Grid Infrastructure installation file was copied.
[root@ggsrv1 ~]# sudo su - grid [grid@ggsrv1 ~]$ cd Downloads/ [grid@ggsrv1 Downloads]$ ls [grid@ggsrv1 Downloads]$ linuxx64_12201_grid_home.zip
Unzip the linuxx64_12201_grid_home.zip file to the new Grid home directory.
[grid@ggsrv1 Downloads]$ unzip linuxx64_12201_grid_home.zip -d /u01/app/12.2.0/grid
In the terminal windows, change the current directory to the new Oracle Grid directory.
[grid@ggsrv1 Downloads]$ cd /u01/app/12.2.0/grid [grid@ggsrv1 grid]$
Set the ORACLE_HOME variable to the new Oracle Grid home directory then run gridSetup.sh
[grid@ggsrv1 grid]$ export ORACLE_HOME=/u01/app/12.2.0/grid [grid@ggsrv1 grid]$ ./gridSetup.sh
In the Putty window, verify the upgrade has been successfully concluded:
/u01/app/12.2.0/grid/bin/crsctl check cluster -all /u01/app/12.2.0/grid/bin/crsctl query crs activeversiona
[root@ggsrv1 ~]# sudo su - grid [grid@ggsrv1 ~]$ cp /u01/app/12.1.0/grid/network/admin/*.ora $ORACLE_HOME/network/admin
Upgrading Oracle Database
Installing Oracle Database 12.2 Software
cd /media/sf_staging/12.2/database/
mkdir -p /u01/app/oracle/product/12.2.0/db_1 chown oracle:oinstall /u01/app/oracle/product/12.2.0/db_1
In the Putty session, switch the current user to oracle then run the Pre-Upgrade Information Tool (preupgrade.jar) by issuing the following command. This is a single-line command. Make sure you copy it all before you paste it in the Putty window.
/u01/app/oracle/product/12.1.0/db_1/jdk/bin/java -jar /u01/app/oracle/product/12.2.0/db_1/rdbms/admin/preupgrade.jar FILE TEXT DIR /home/oracle/scripts
The command should give the following output:
Preupgrade generated files:
/home/oracle/scripts/preupgrade.log /home/oracle/scripts/preupgrade_fixups.sql /home/oracle/scripts/postupgrade_fixups.sql
As sysdba, run the preupgrade_fixups.sql script.
sqlplus / as sysdba @/home/oracle/scripts/preupgrade_fixups.sql # to obtain list of invalid objects: # compile invalid views SELECT OWNER, OBJECT_NAME FROM DBA_OBJECTS WHERE STATUS='INVALID'; # to obtain list of the materialized views: SELECT OWNER, OBJECT_NAME FROM DBA_OBJECTS WHERE OBJECT_TYPE LIKE '%MATERIA%'
Gather the optimizer statistics on the dictionary objects. Run the following command as sys user. This is recommended action to reduce the upgrade time.
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
Purge the Recycle Bin
PURGE DBA_RECYCLEBIN;
Make sure that the parameter SEC_CASE_SENSITIVE_LOGON is set to TRUE.
SHOW PARAMETER SEC_CASE_SENSITIVE_LOGON
Upgrading Database
Start the dbua utility by issuing the following commands:
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1 export PATH=$ORACLE_HOME/bin:$PATH cd $ORACLE_HOME/bin ./dbua
Post-upgrade Tasks
SQL> select * from v$version; SQL> set line 200 SQL> select * from v$version; BANNER CON_ID -------------------------------------------------------------------------------- ---------- Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0 PL/SQL Release 12.2.0.1.0 - Production 0 CORE 12.2.0.1.0 Production 0 TNS for Linux: Version 12.2.0.1.0 - Production 0 NLSRTL Version 12.2.0.1.0 - Production 0
In the Putty window, switch current user to oracle and fix the ORACLE_HOME variable setting in .bash_profile.
vi .bash_profile
Copy the tnsnames.ora file from the old Oracle home directory to the upgraded Oracle home directory.
cp /u01/app/oracle/product/12.1.0/db_1/network/admin/*.ora /u01/app/oracle/product/12.2.0/db_1/network/admin
Make sure the current user in the Putty session is oracle then start SQL*Plus and execute the postupgrade_fixups.sql script:
[oracle@ggsrv1 ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Wed Jan 2 00:52:21 2019 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> @/home/oracle/scripts/postupgrade_fixups.sql SQL> ! [oracle@ggsrv1 ~]$ srvctl status database -d db1 Database is running.