Friday 19 August 2022

Oracle 19c Database Upgrade From 11.2.0.4 to 19c Using Manual Method-Real-Time Step by step

Oracle 19c Database Upgrade From 11.2.0.4 to 19.2.0.0 Using Manual Method-Real-Time



19c Installation and Upgrade for Non-RAC/Standalone Database from 11g

 

Installation and Patching

Downloaded the following and stored them in /oracle/product/stage/1900_db:

AIX.PPC64_193000_db_home.zip

p30125133_190000_AIX64-5L.zip (October 2019 RU)

p30128191_190000_AIX64-5L.zip (October 2019 OJVM RU)

p30483521_190000_Generic.zip (fix or bug causing ORA-29532 encountered on ctm27ppt)

 

You may need a newer version on unzip as well (see above directory on dunster).  Create the 19.0.0 directory you will be installing the software in.

e.g.           

mkdir /oracle/product/TestDB/19.0.0

Now unzip the installation file into this directory:

unzip AIX.PPC64_193000_db_home.zip –d /oracle/product/TestDB/19.0.0

 

Now run /oracle/product/TestDB/19.0.0/clone/rootpre.sh as root:

[easyserver:root:/oracle/product/TestDB/19.0.0/clone:] ./rootpre.sh

./rootpre.sh output will be logged in /tmp/rootpre.out_19-10-09.15:00:54 

Checking if group services should be configured....

Nothing to configure.

Start Exceed if necessary and set display (e.g. export DISPLAY=10.125.32.175:0.0) 

cd /oracle/product/TestDB/19.0.0

./runInstaller

******************************************************************************** 

Your platform requires the root user to perform certain pre-installation

OS preparation.  The root user should run the shell script 'rootpre.sh' before

you proceed with Oracle installation. The rootpre.sh script can be found at:

/oracle/product/TestDB/19.0.0/clone/rootpre.sh

Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle

installation.

Answer 'n' to abort installation and then ask root to run 'rootpre.sh'.

********************************************************************************

Has 'rootpre.sh' been run by root in this machine? [y/n] (n)

y

 

Choose ‘Set Up Software Only’.  Click Next.

Click Next.

Click Next.

Click Next.

Click Yes.

Change the groups to dba and click Next.

Click Next.

Tick Ignore All and click Next.

Click Yes.

Click Install.

 

Run root.sh as root and click OK.

Click Close.

Now apply the RUs.  Unzip the patch files under /oracle/product/stage/1900_db.

export ORACLE_HOME=/oracle/product/TestDB/19.0.0

cd /oracle/product/stage/1900_DB/30125133

$ORACLE_HOME/OPatch/opatch apply

cd ../ 30128191

$ORACLE_HOME/OPatch/opatch apply

 

 

Upgrade Checks

Run a cold backup before making any changes.

Run the Pre-Upgrade Information Tool.

. oraenv

$ORACLE_HOME/jdk/bin/java -jar /oracle/product/TestDB/19.0.0/rdbms/admin/preupgrade.jar FILE TEXT

Review the log file for any necessary or recommended actions. Typically this will involve (some of these checks are from 12.1/12.2/18c upgrades):

·       Remove any deprecated or unnecessary database parameters.

·       Set/adjust SGA or MEMORY parameters (often simplest to create pfile= ‘/oracle/admin/<database>/19c_upgrade/init<database>.ora’ from spfile, edit this and then create the spfile from this pfile).  Oracle ACS have recommended leaving SGA/PGA parameters set rather than moving to MEMORY parameters for the time being.

·       Adding space to tablespaces if necessary.

·       exec dbms_stats.gather_dictionary_stats;

·       purge dba_recyclebin;

·       Check for 10g password:

column username format a30

column password_versions format a30

select username, password_versions from dba_users;

 

If any only have 10G password version then you need to set the following parameters in sqlnet.ora (may need to set even earlier versions depending on connection characteristics of the database – set both to 8 for example on camborne for b2bdev). 

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10

SQLNET.ALLOWED_LOGON_VERSION_SERVER=10

Check for any invalid components by querying DBA_REGISTRY (if Spatial is invalid follow Doc ID 1417738.1).

 

Check if trigger NAMECHECK_BEFORE_DDL_DB_TRG exists and is enabled:

select status from dba_triggers where trigger_name = 'NAMECHECK_BEFORE_DDL_DB_TRG';

STATUS

--------

ENABLED

If it is enabled, disable it:

SQL> alter trigger NAMECHECK_BEFORE_DDL_DB_TRG disable;

Trigger altered.

 

Check if a public synonym called CLOUD exists (probably pointing to the CLOUD package owner by CLOUD_USER)

If it does, spool the output of the above query to a file so it can be rebuilt afterwards and then drop the public synonym, otherwise an update to an Oracle table called CLOUD will fail and the error will cause the upgrade to fail.

drop public synonym  cloud;

Run utlrp.sql and then get a list of remaining invalid objects:

select owner, object_type, object_name from dba_objects where status = ‘INVALID’;

Check to see if hidden parameter _simple_view_merging=FALSE is set and if so remove for the duration of the upgrade.

Check for free space in the trace filesystem (DBs with auditing on can fill up adump – will need about 300MB free).

Check if parameter utl_file_dir is set.  It gets removed as part of the upgrade.  The application will have to be changed to use Oracle directories instead.

As a precaution back up the current tnsnames.ora file.

Check parallel parameters.  Hit ORA-12827: insufficient parallel query slaves (requested 32, available 15, parallel_min_percent 50) on TestDB.  Set parallel_min_percent to 0 (it was 50).  Also, on hdb44ppt, since burnley has 80 CPUs parallel_min_servers defaulted to 160 and we hit memory problems (so set parallel_max_servers to 16 in the pfile).

Check the setting of FILESYSTEMIO_OPTIONS.  If it’s set to ASYNCH then once we change the filesystem ‘cio’ setting below the database will start using the OS filesystem cache and so it will be necessary to set FILESYSTEMIO_OPTIONS to SETALL instead.  May be best to set it explicitly if it’s not set as on daaprd it defaulted to ASYNCH when not set.

Check the Fortran Runtime Environment (15.1) is installed:

lslpp -L all | grep -i "Fortran Runtime"

  xlfrte                    15.1.2.0    C     F    XL Fortran runtime libraries

  xlfrte.aix61              15.1.2.0    C     F    XL Fortran runtime environment

  xlfrte.msg.en_US          15.1.2.0    C     F    XL Fortran runtime en_US

 

Check the DB filesystems for the ‘cio’ setting:

mount | grep <db_name>

e.g. $mount | grep TestDB

         /dev/oraTestDB001 /ora/TestDB/001 jfs2   Jan 31 22:26 rw,cio,log=INLINE

         /dev/oraTestDB901 /ora/TestDB/901 jfs2   Jan 31 22:26 rw,cio,log=INLINE

         /dev/oraTestDB902 /ora/TestDB/902 jfs2   Jan 31 22:26 rw,cio,log=INLINE

         /dev/oraTestDBtemp /ora/TestDB/temp jfs2   Jan 31 22:26 rw,cio,log=INLINE

         /dev/oraTestDBtrac /ora/TestDB/trace jfs2   Jan 31 22:26 rw,log=INLINE

         /dev/oraTestDBarch /ora/TestDB/arch jfs2   Jan 31 22:26 rw,rbw,rbr,log=INLINE

 

This will need removing (by the AIX team with the DB down) before the DB can be started using the 18c binaries (the startup fails saying it’s unable to read the control files).

 

Upgrade

 

If upgrading from 11.2.0.4 the following patches must be applied to the 11.2.0.4 Oracle Home before starting the upgrade (this applied to 12.2 upgrades so assuming it applies here also):

p20348910_112040_Generic.zip

p20898997_112040_AIX64-5L.zip

July 2016 PSU or later (tested with Oct 2017)

 

cd /oracle/product/<database>/19.0.0/bin

export DISPLAY=10.125.32.175:0.0

./dbua

Select the database to upgrade and enter the sys user and password.  Click Next.

 

 

xyzctm14ppt

 

Click Next.

Click Yes.

Click Next.

 

 

 

Select ‘I have my own backup and restore strategy’ and click Next.

Untick the listener(s) and click Next.

 

Untick all boxes.

 

Click Finish.

 

(Forgot to take the 19c screenshot)

 

Post-Installation Tasks

Re-enable the trigger if you disabled it earlier:

alter trigger NAMECHECK_BEFORE_DDL_DB_TRG enable;

  

Rebuild the CLOUD public synonym if you dropped it earlier:

create public synonym cloud for cloud_user.cloud;

 

Check for any objects that have gone invalid compared to before the upgrade:

select owner, object_type, object_name from dba_objects where status = 'INVALID';

If MDSYS.SDO_RDF has gone invalid follow Doc ID 2597558.1 which does the following:

 

connect / as sysdba
spool SEM_remov.log
set echo on
@$ORACLE_HOME/md/admin/semremov.sql
-- validate ORDIM
       -- check
select comp_id, version, status
from dba_registry
where comp_id = 'ORDIM';
spool off

 

Shut the DB down and move the spfile and password file from $ORACLE_HOME/dbs to /oracle/admin/<database>/pfile and create symbolic links.

 

Is utl_file_dir parameter still set? (if used).

 

Create a symbolic link for TSM in the new Oracle Home:

ln -s /usr/tivoli/tsm/client/oracle/bin64/libobk64.a $ORACLE_HOME/lib/libobk.a 

Double check that $ORACLE_HOME/lib/libsqlplus.so has global read permissions:

 

-rw-r--r--    1 oracle   dba         1333723 Feb 17 13:36 libsqlplus.so

 

Upgrade the RMAN catalog.

 

rman

connect catalog rmc_<database>/<database>_rmc@rmcprd

upgrade catalog;

upgrade catalog;

 

If you get the following error:

 

RMAN> upgrade catalog

 

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-07539: insufficient privileges to upgrade the catalog schema

 

Log on to rmcprd as and do the following grants:

 

SQL> grant CREATE ANY CONTEXT to rmc_<database>;

  

SQL> > grant drop ANY CONTEXT to rmc_<database>; 

Edit listener.ora and bounce the listener(s).

 

 ====================Commands===============


19c Installation

s:\it\tsg\dba\dba_common\software

mkdir -p /oracle/product/stage/1900_db

mkdir -p /oracle/product/TestDB/19.0.0

cd /oracle/product/stage/1900_db

./unzip AIX.PPC64_193000_db_home.zip -d /oracle/product/TestDB/19.0.0

cd /oracle/product/TestDB/19.0.0/clone

 ./rootpre.sh

export ORACLE_HOME=/oracle/product/TestDB/19.0.0

export DISPLAY=10.160.99.101:0.0

cd /oracle/product/TestDB/19.0.0

./runInstaller


-----------------19c patching-----------


export ORACLE_HOME=/oracle/product/TestDB/19.0.0

cd /oracle/product/stage/1900_db/30125133

$ORACLE_HOME/OPatch/opatch apply

cd /oracle/product/stage/1900_db/30128191

cd ../ 30128191

$ORACLE_HOME/OPatch/opatch apply


$ORACLE_HOME/OPatch/opatch lsinventory |grep 30125133 

$ORACLE_HOME/OPatch/opatch lsinventory |grep 30128191 


-------------------------RMAN BACKUP --------------------

/oracle/local/bin/rman_backup.sh -d TestDB -c -p 4


--------------check rman backup status--------------------


col STATUS format a9

col hrs format 999.99

select SESSION_KEY, INPUT_TYPE, STATUS,

to_char(START_TIME,'mm/dd/yy hh24:mi') start_time,

to_char(END_TIME,'mm/dd/yy hh24:mi') end_time,

elapsed_seconds/3600 hrs from V$RMAN_BACKUP_JOB_DETAILS

order by session_key;

---------------

20348910

Patching 11g Home:

export PATH=$PATH:/usr/ccs/bin

cd /oracle/product/stage/20348910

opatch prereq CheckConflictAgainstOHWithDetail -ph ./

opatch apply


SQL> @?/sqlpatch/20285647/postdeinstall.sql

$ORACLE_HOME/OPatch/opatch lsinventory |grep 20348910

cd /oracle/product/stage/20898997

opatch prereq CheckConflictAgainstOHWithDetail -ph ./

opatch apply

$ORACLE_HOME/OPatch/opatch lsinventory |grep 20898997 

opatch lsinventory |grep 20348910

opatch lsinventory |grep 20898997

rman target / 

connect catalog rmc_TestDB/TestDB_rmc@rmcprd


---------------------troubleshooting rman backup------------

ERROR:

RMAN> delete expired backup;


RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of delete command at 09/04/2020 07:21:40

RMAN-06004: ORACLE error from recovery catalog database: RMAN-20001: target database not found in recovery catalog

Solution:(DBID=682621379)

creating and registering catalog db

rman target / 

connect catalog user_TestDB/TestDB_user@catalogDB

CREATE CATALOG;

REGISTER DATABASE;   (db was open)

---------------

RMAN> crosscheck backup;

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of crosscheck command at 09/03/2020 10:05:39

ORA-19554: error allocating device, device type: SBT_TAPE, device name:

ORA-27211: Failed to load Media Management Library

Additional information: 2

RMAN>

-----------------------------------------

Create a symbolic link for TSM in the new Oracle Home:

ln -s /usr/tivoli/tsm/client/oracle/bin64/libobk64.a $ORACLE_HOME/lib/libobk.a

----------------------------

-------------------------Fortran & cio check---------------------

lslpp -L all | grep -i "Fortran Runtime"

mount | grep <db_name>

e.g. $mount | grep TestDB

mount | grep TestDB


----------------Listener Installation and patching--------------



cd /oracle/product/listener/18.0.0

./runInstaller

Patching listener home

mkdir -p /oracle/product/listener/19.0.0

cd /oracle/product/stage/1900_db

./unzip AIX.PPC64_193000_db_home.zip -d /oracle/product/listener/19.0.0

export ORACLE_HOME=/oracle/product/listener/19.0.0

export DISPLAY=10.160.99.193:0.0

cd /oracle/product/listener/19.0.0

./runInstaller


cd /oracle/product/stage/1900_db/30125133

$ORACLE_HOME/OPatch/opatch apply

cd /oracle/product/stage/1900_db/30128191

cd ../ 30128191

$ORACLE_HOME/OPatch/opatch apply


$ORACLE_HOME/OPatch/opatch lsinventory |grep 30125133 

$ORACLE_HOME/OPatch/opatch lsinventory |grep 30128191 


--------------------Patching Apr 2020 RU ------------TestDB-----------


  It's actually a combo patch you need with the DB and OJVM patches in.  30783543.  It's on burnley under /oracle/product/stage/1900_db (edited) 

Copy the zip file and unzip it.  Then under 30783543 you'll see the 2 patches.  cd to each patch to apply them with opatch.

Apr 2020 RU 30869156 and 30805684

scp -r username@servername:/oracle/product/stage/30125133 /oracle/product/stage/1900_db

scp -r oracle@hayfield:/oracle/product/stage/1800_db /oracle/product/stage/1800_db

export ORACLE_HOME=/oracle/product/csf31ppt/19.0.0

scp -r username@burnley:/oracle/product/stage/1900_db/30783543 /oracle/product/stage/1900_db/30783543

drwxr-xr-x    4 oracle   dba             256 Sep 18 11:58 30805684

drwxr-xr-x    5 oracle   dba             256 Sep 18 11:58 30869156

export ORACLE_HOME=/oracle/product/TestDB/19.0.0

cd /oracle/product/stage/1900_db/30783543/30805684

$ORACLE_HOME/OPatch/opatch apply

cd /oracle/product/stage/1900_db/30783543/30869156

$ORACLE_HOME/OPatch/opatch apply

$ORACLE_HOME/OPatch/opatch lsinventory |grep 30805684 

$ORACLE_HOME/OPatch/opatch lsinventory |grep 30869156

------------------------------------------------------

Patching listener home from Jan 2020 RU i.e 30557433 & 30484981

30125133 & 30128191  (October 2019 RU)

export ORACLE_HOME=/oracle/product/listener/18.0.0

cd /oracle/product/stage/1800_db

$ORACLE_HOME/OPatch/opatch apply 

cd /oracle/product/stage/1900_db/30783543

$ORACLE_HOME/OPatch/opatch apply

cd /oracle/product/stage/1900_db/30484981

$ORACLE_HOME/OPatch/opatch apply

$ORACLE_HOME/OPatch/opatch lsinventory |grep 30557433 

$ORACLE_HOME/OPatch/opatch lsinventory |grep 30484981

$ORACLE_HOME/OPatch/opatch lsinventory |grep 30483521


------------running pre-check jar ---------------------------


mkdir -p /oracle/admin/TestDB/1900_upgrade

$ORACLE_HOME/jdk/bin/java -jar /oracle/product/TestDB/19.0.0/rdbms/admin/preupgrade.jar FILE DIR /oracle/admin/TestDB/1900_upgrade

----------------------pre check----------

SELECT x.ksppinm "Parameter",Y.ksppstvl "Session Value",Z.ksppstvl "Instance Value"

FROM   x$ksppi X,x$ksppcv Y,x$ksppsv Z

WHERE  x.indx = Y.indx AND    x.indx = z.indx AND    x.ksppinm LIKE '/_%' escape '/' and x.ksppinm='_simple_view_merging'

order by x.ksppinm;


select * from dba_synonyms where synonym_name = 'CLOUD';

drop public synonym  cloud;

 CREATE OR REPLACE PUBLIC SYNONYM "CLOUD" FOR "CLOUD_USER"."CLOUD";

select status from dba_triggers where trigger_name = 'NAMECHECK_BEFORE_DDL_DB_TRG';

alter trigger NAMECHECK_BEFORE_DDL_DB_TRG disable;

alter trigger NAMECHECK_BEFORE_DDL_DB_TRG enable;


spool /oracle/admin/TestDB/1900_upgrade/dba_dblink.log output of 'select * from dba_db_links'.

-------------------------To create ddl for db link----------------------

SET LONG 20000 LONGCHUNKSIZE 20000 PAGESIZE 0 LINESIZE 1000 FEEDBACK OFF VERIFY OFF TRIMSPOOL ON


BEGIN

   DBMS_METADATA.set_transform_param (DBMS_METADATA.session_transform, 'SQLTERMINATOR', true);

   DBMS_METADATA.set_transform_param (DBMS_METADATA.session_transform, 'PRETTY', true);

END;

/


SELECT DBMS_METADATA.get_ddl ('DB_LINK', db_link, owner)

FROM   dba_db_links;

--------------------------------------------------------------

spool /oracle/admin/TestDB/1900_upgrade/dba_netacls.log output of 'select * from dba_network_acls'.

also 10g pass user log is generated

spool /oracle/admin/TestDB/1900_upgrade/old10gpass.log

column username format a30

column password_versions format a30

select username, password_versions from dba_users;

spool /oracle/admin/TestDB/1900_upgrade/invalidobj.log

select owner, object_type, object_name from dba_objects where status = 'INVALID';

spool /oracle/admin/TestDB/1900_upgrade/invalidsysobj.log

select owner, object_type, object_name from dba_objects where status = 'INVALID' AND owner LIKE '%SYS%';

@$ORACLE_HOME/rdbms/admin/utlrp.sql

create pfile='/oracle/admin/TestDB/1900_upgrade/initTestDBbkp.ora' from spfile;


select owner, object_type, object_name from dba_objects where status = 'INVALID' AND owner LIKE '%Testuser%';


Testuser

select owner, object_type, object_name from dba_objects where status = 'INVALID' AND owner LIKE '%Testuser%';

(select username,account_status,profile,expiry_date,lock_date from dba_users where username in ('MDSYS'));

select comp_id,status from dba_registry;

select substr(COMP_ID, 1,10) compid,substr(COMP_NAME,1,24) compname, STATUS,VERSION from DBA_REGISTRY;

select owner, object_type, object_name from dba_objects where status = 'INVALID' AND owner LIKE '%SYS%';

select owner, object_type, object_name from dba_objects where status = 'INVALID' AND owner = 'SYS';


exec dbms_stats.gather_dictionary_stats;

purge dba_recyclebin;

alter system set parallel_min_percent=0 scope=spfile;

ALTER SYSTEM SET FILESYSTEMIO_OPTIONS=SETALL SCOPE=SPFILE;

SHOW PARAMETER FILESYSTEMIO_OPTIONS


after upgrade change: No need for that as it should be created os level for 19c


alter system set utl_file_dir=' /ppt/fddata/pptts31/data','/ppt/fddata/pptts31/rpt' scope =spfile; 

/ppt/fddata/pptts31/data,/ppt/fddata/pptts31/rpt

alter system set utl_file_dir='/ppt/fddata/pptts31/data,/ppt/fddata/pptts31/rpt' scope =both; 

alter system set utl_file_dir='/ppt/fddata/pptts31/data,/ppt/fddata/pptts31/rpt' scope =spfile; 

alter system set utl_file_dir='/ppt/fddata/pptts31/data','/ppt/fddata/pptts31/rpt' scope = spfile;

Check for free space in the trace filesystem (DBs with auditing on can fill up adump – will need about 300MB free).

df -g /ora/TestDB/trace

SQL> show parameter diag

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

diagnostic_dest                      string      /ora/csf31ppt/trace

SQL> host df -g /ora/TestDB/trace


Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on

/dev/b2bppttrac_lv     1048576    516988   51%     9248     8% /ora/b2bppt/trace

1572864

-------------------------------------

sqlplus sys/xyzTestDB as sysdba

cd /oracle/product/TestDB/19.0.0/bin

export ORACLE_HOME=/oracle/product/TestDB/19.0.0

export DISPLAY=10.160.99.101:0.0

./dbua

-----------------------------------------------------

Cloud synonym create

select * from dba_synonyms where synonym_name = 'CLOUD';

CREATE OR REPLACE PUBLIC SYNONYM "CLOUD" FOR "CLOUD_USER"."CLOUD";

--------------------------------------------------still it was invalid------------------

connect / as sysdba

spool SEM_remov.log

set echo on

@$ORACLE_HOME/md/admin/semremov.sql

-- validate ORDIM

-- check

select comp_id, version, status

from dba_registry

where comp_id = 'ORDIM';

spool off

---------------------------------------


cd /oracle/admin/TestDB/pfile/

mv initTestDB.ora initTestDB.ora.11g

mv orapwTestDB orapwTestDB.11g

mv spfileTestDB.ora spfileTestDB.ora.11g


cd $ORACLE_HOME/dbs


ls -ltr initTestDB.ora 

ls -ltr orapwTestDB

ls -ltr spfileTestDB.ora


cp initTestDB.ora /oracle/admin/TestDB/pfile/

cp orapwTestDB /oracle/admin/TestDB/pfile/

cp spfileTestDB.ora /oracle/admin/TestDB/pfile/

ls -lrt /oracle/admin/TestDB/pfile/


/oracle/product/TestDB/12.2.0.1/dbs

/oracle/product/TestDB/19.0.0/dbs

mv initTestDB.ora initTestDB.ora.bkp

mv orapwTestDB orapwTestDB.bkp

mv spfileTestDB.ora spfileTestDB.ora.bkp


ln -s /oracle/admin/TestDB/pfile/initTestDB.ora $ORACLE_HOME/dbs/initTestDB.ora

ln -s /oracle/admin/TestDB/pfile/orapwTestDB $ORACLE_HOME/dbs/orapwTestDB

ln -s /oracle/admin/TestDB/pfile/spfileTestDB.ora $ORACLE_HOME/dbs/spfileTestDB.ora


To unlink

unlink $ORACLE_HOME/dbs/orapwTestDB

----------------------------------------------------

Create a symbolic link for TSM in the new Oracle Home:

ln -s /usr/tivoli/tsm/client/oracle/bin64/libobk64.a $ORACLE_HOME/lib/libobk.a


rman target / 

connect catalog user_TestDB/TestDB_user@catalogdb

upgrade catalog;

upgrade catalog;


-------------------------------listener change--------------------

for new listener configuration . Install the listener binary for 19c then put the listener down and then modify the /etc/oratab to run from listener 19c home and after that modify the listener.ora for the db to run from new home


/oracle/network/admin/listener.ora

Edit listener.ora and bounce the listener(s).

1) cd /oracle/network/admin 

2) cp -p listener.ora archive/listener.ora.20232010

3) robolistener stop listener_TestDB

4) Edit the version for sam01ppt in listener.ora 

5) robolistener start listener


# 23-Oct-2020   JK      Upgraded TestDB to 19c

-------------------------After upgrade ORADIM got invalid---------------------

connect / as sysdba

spool SEM_remov.log

set echo on

@$ORACLE_HOME/md/admin/semremov.sql

-- validate ORDIM

set serveroutput on

EXECUTE SYS.validate_ordim();

-- check

select comp_id, version, status

from dba_registry

where comp_id = 'ORDIM';

spool off


SQL> select comp_id, version, status

from dba_registry

where comp_id = 'ORDIM';  2    3


COMP_ID                        VERSION                        STATUS

------------------------------ ------------------------------ -----------

ORDIM                          19.0.0.0.0                     VALID


ALTER SYSTEM SET COMPATIBLE = '19.0.0' SCOPE=SPFILE;

------------------

There were 11 execution errors found after recompilation on the CDB$ROOT container. Verify by querying the corresponding utl_recomp_errors table after DBUA execution.

CAM there are some extra post-upgrade steps to run due to security changes in 19c

unaid, do you have the script from any earlier CAM upgrades?  If not have a look on burnley under /oracle/admin/cam44ppt/19c_upgrade

postupgrade_grants.sql


change in sqlnet.ora

BREAK_POLL_SKIP=10000

DISABLE_OOB=on

-----------------------------------------------------------------------------------------

There were 1 execution errors found after recompilation on the CDB$ROOT container. Verify by querying the corresponding utl_recomp_errors table after DBUA execution.

-######################### Timezone Upgrade#######################################33

https://docs.oracle.com/en/database/oracle/oracle-database/18/nlspg/datetime-data-types-and-time-zone-support.html#GUID-599FB3E6-F0D5-473A-8A24-49CCC4928F24


You just need to follow that short section 4.7.1.2

4.7.1.2 Upgrade Window

During the upgrade window, you can run the following scripts present in the $ORACLE_HOME/rdbms/admin directory to upgrade the time zone data in the database:

Run the utltz_upg_check.sql script from the $ORACLE_HOME directory:

Step 1: cd $ORACLE_HOME/rdbms/admin

spool utltz_upg_check.log

@utltz_upg_check.sql

spool off

The script also writes the following information in the alert.log file:

utltz_upg_check sucessfully found newer RDBMS DSTv new_time_zone_version and took number_of_minutes minutes to run.

If the utltz_upg_check.sql script displays the following error, check the previous message displayed on the screen and proceed accordingly.

ORA-20xxx: Stopping script - see previous message...

Run the utltz_upg_apply.sql script from the $ORACLE_HOME directory after the utltz_upg_check.sql script is executed successfully:

Step 2:

spool utltz_upg_apply.log

@utltz_upg_apply.sql

spool off



No comments:

Post a Comment