Thursday, February 13, 2020

Manual Upgrade 11gR2(11.2.0.4 only) or 12c database to 18c


*******************
Start database in upgrade Mode
*******************

startup upgrade

***************************
Run below script to upgrade
***************************

$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d $ORACLE_HOME/rdbms/admin -l /home/oracle/ -n 4 catupgrd.sql


***************************
Run below script to check upgrade status
**************************

cd $ORACLE_HOME/rdbms/admin

SQL> @utlu122s.sql

*************************
Run below Script
*************************

SQL> @catuppst.sql


**************************
Execute utlrp.sql script to compile  invalid objects.
**************************

SQL> @utlrp.sql


**************************
Count No. of Invalid Objects
**************************

SQL> select count(*) from dba_objects where status='INVALID';


***************************
Set Compatible Parameter
***************************

SQL> show parameter compatible;

****************************
Change Compatible parameter
****************************

SQL> ALTER SYSTEM SET COMPATIBLE = '18.0.0' SCOPE=SPFILE;

****************************
Restart Database in Normal Mode
****************************

SQL> shut immediate;

SQL> startup;


****************************
Gather Fixed Objects Stats
****************************

SQL> EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;

*******************************************************
Shutdown Down Database and start again in upgrade Mode
*******************************************************

SQL> shutdown immediate;


SQL> startup upgrade

**************************************
START UPGRADE WINDOW WITH BELOW SCRIPT
**************************************

SET SERVEROUTPUT ON
DECLARE
l_tz_version PLS_INTEGER;
BEGIN
l_tz_version := DBMS_DST.get_latest_timezone_version;

DBMS_OUTPUT.put_line('l_tz_version=' || l_tz_version);
DBMS_DST.begin_upgrade(l_tz_version);
END;
/

**************************************
Shutdown database and Start in Normal mode
****************************************

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP;


***************************
Upgrade Timezone version :
***************************

SET SERVEROUTPUT ON
DECLARE
l_failures PLS_INTEGER;
BEGIN
DBMS_DST.upgrade_database(l_failures);
DBMS_OUTPUT.put_line('DBMS_DST.upgrade_database : l_failures=' || l_failures);
DBMS_DST.end_upgrade(l_failures);
DBMS_OUTPUT.put_line('DBMS_DST.end_upgrade : l_failures=' || l_failures);
END;
/

*****************************
Check Timezone File
*****************************

SQL> SELECT * FROM v$timezone_file;

FILENAME             VERSION    CON_ID
-------------------- ---------- -------
timezlrg_31.dat      31         0


SQL> select TZ_VERSION from registry$database;

TZ_VERSION
----------
        18

********************************
Upgrade registery$database
********************************

SQL> update registry$database set TZ_VERSION = (select version FROM v$timezone_file);

SQL> commit;


SQL> select TZ_VERSION from registry$database;

********************************
Check database version and status
********************************

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



No comments:

Post a Comment