Monday, December 6, 2021

Why and How I do upgrade from 12.2 to 19 ?

 Why ?

As a main stage in Oracle lifecycle management is performing the upgrade stage, this is will be due to new feature application may need or bug to be fixed, security enhancement, out of support version ..etc. eventually you will do an upgrade , below are steps and resources that I follow while performing the Oracle upgrade to 19c.

How

I used Sun Solaris 11 things here, DB and RAC option will be covered as well.

I used autoupgrade.jar option as a the only recommended way to upgrade to 19c as per oracle seminars.

1-   Install oracle 19c software only as below (use your OS oracle install document):

1.1 create new home for oracle 19 and I created folder/directory for upgrade files.

mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1

chown -R oracle:oinstall  /u01/app/oracle/product/19.0.0/dbhome_1

chmod 775 /u01/app/oracle/product/19.0.0/dbhome_1

mkdir /u01/upgrade

1.2 unzip the downloaded file of DB in the created path. Unzip your patch if any to be applied while installation of DB.

unzip -q db19.3.zip -d /u01/app/oracle/product/19.0.0/dbhome_1

unzip -q p31281355_190000_SOLARIS64.zip

1.3 Update the Opatch as needed by readme of that patch and replace it with the new opatch from oracle download.

rm -rf /u01/app/oracle/product/19.0.0/dbhome_1/OPatch/

unzip -q p6880880_190000_SOLARIS64.zip -d /u01/app/oracle/product/19.0.0/dbhome_1

 

1.4 Start the software only installation with applying a patch directly while install.

/u01/app/oracle/product/19.0.0/dbhome_1/runInstaller -applyRU /u01/upgrade/31281355

 

1.5 Copy the password, parameter, network and any dependencies file from old home to new home.

cp dr* /u01/app/oracle/product/19.0.0/dbhome_1/dbs/

cp orapwTWFADB /u01/app/oracle/product/19.0.0/dbhome_1/dbs/

cp spfileTWFADB.ora /u01/app/oracle/product/19.0.0/dbhome_1/dbs/

cp *.ora /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/

 

2-   Pre upgrade checkup and preparations.

2.1 Download, configure and run autoupgrade script using oracle doc : 2485457.1

java -jar  autoupgrade.jar -create_sample_file config

 

2.2 After modifying the file with needed details start the analyze stage .

java -jar autoupgrade.jar -config sample_config.cfg -mode ANALYZE

 

2.3 After applying the precheck needed things we will start the actual upgrade , below is needed action in case data-guard is used in placed and broker is configured as well . In Standby DB perform the below

DGMGRL> edit database <standby_db> set state = APPLY-OFF

DGMGRL> edit database <primary_db> set state = TRANSPORT-OFF

DGMGRL> DISABLE CONFIGURATION;

# In primary DB

SQL> ALTER SYSTEM SET DG_BROKER_START=FALSE;

# In standby DB

stop db and listener

 

2.4 to speed upgrade as per the pre-upgrade fix you will need to do the below to check the last update for optimizer gather objects date:

column OPERATION format a40

set linesize 200

select to_char(max(END_TIME),'DD-MON-YY hh24:mi') LATEST, OPERATION

from DBA_OPTSTAT_OPERATIONS

where OPERATION in ('gather_dictionary_stats', 'gather_fixed_objects_stats')

group by operation;

 

2.5 Start the upgrade stage.

java -jar autoupgrade.jar -config sample_config.cfg -mode deploy

 

2.6 To check the status life while it is run in html page.

cd ~/upg_logs/cfgtoollogs/upgrade/auto

python -m SimpleHTTPServer 8000

http://10.10.10.10:8000/state.html

 

3-   Pre upgrade checkup and preparations.

3.1       Convert TDE from sqlnet.ora to parameter based .

How To Convert From Using SQLNET.ENCRYPTION_WALLET_LOCATION To 19c Parameter (WALLET_ROOT and TDE_CONFIGURATION) (Doc ID 2642694.1)

 

3.2       Things to do right after upgrade

• Configure statistics history retention period

• Check space usage:

• Check retention

• Default: 31 days

• Adjust setting

• Example: 10 days.

SQL> select space_usage_kbytes/1024 mb

from v$sysaux_occupants where

occupant_name='SM/OPTSTAT';

SQL> select dbms_stats.get_stats_history_retention from dual;

SQL> exec dbms_stats.alter_stats_history_retention(10);

SQL> exec DBMS_STATS.PURGE_STATS (SYSDATE-10) ;

 

 

3.3       To check health in case of neede

hcheck.sql - Script to Check for Known Problems in Oracle8i, Oracle9i, Oracle10g, Oracle 11g and Oracle 12c and Above (Doc ID 136697.1)

 

3.4       In case you need to check whether apex is need to be upgrade/used.

Check if any one use apex

 select workspace, view_date, seconds_ago from apex_workspace_activity_log

check work space

select workspace, workspace_id from apex_workspaces;

Why and How to install Grid 19c on RHEL 8?

  Why ? Simply we will be requested to install Oracle Grid RAC DB on Redhat RHEL 8, below is my note for this installation . How ? 1-  OS in...