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;