ORACLE

Total Pageviews

Tuesday, 24 June 2025

Oracle Database 21c patching in windows

 

Oracle database backup
Oracle_Home backup
SET BACKUP_DIR=E:\app\Backup
--######################################### STEP1 #########################################################
--                                      A. Pre-Patch Preparation
--#########################################################################################################
SELECT * FROM v$version;
col action_time format a30
select INSTALL_ID,PATCH_ID,PATCH_UID,PATCH_TYPE,ACTION,STATUS,ACTION_TIME,source_version,target_version from dba_registry_sqlpatch;
--######################################### STEP2 #########################################################
--                                      B. Stop the Application (Stop Tomcat)
--#########################################################################################################

--######################################### STEP3 #########################################################
--                                    C.Take a full RMAN backup of the database.
--#########################################################################################################
RMAN TARGET /
RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
BACKUP AS COMPRESSED BACKUPSET DATABASE FORMAT 'E:\app\Backup\db_full_%U.bkp';
BACKUP CURRENT CONTROLFILE FORMAT 'E:\app\Backup\controlfile_%U.bkp'; 
BACKUP SPFILE FORMAT 'E:\app\Backup\spfile_%U.bkp';
RELEASE CHANNEL c1;
}
--######################################### STEP4 #########################################################
--                                    D.Backup Oracle Home and configuration files..
--#########################################################################################################
xcopy /E /H /K /O /X /Y "E:\app\oracle\product\21.3.0\dbhome_1" "E:\app\oracle\product\21.3.0\ORACLE21C_HOME_BACKUP"


--######################################### STEP5 #########################################################
--                                    E.Verify OPatch version..
--#########################################################################################################
SET ORACLE_HOME=E:\app\oracle\product\21.3.0\dbhome_1
%ORACLE_HOME%/OPatch/opatch version
--######################################### STEP6 #########################################################
--                                    F.Check conflicts..
--                                    unzip the patch
--#########################################################################################################
%ORACLE_HOME%/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph E:\Oracle\21C\37532378
--######################################### STEP7 #########################################################
--                                    F.shutdown database and Related Services..
--#########################################################################################################
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
exit
lsnrctl stop
sc query | findstr ORCL21C
-----------------------------------
sc stop OracleOraDB21Home1TNSListenerLISTENER_ORCL21C_FINAL
sc stop OracleServiceORCL21C
sc stop OracleVssWriterORCL21C
--###################################################### Error ####################################
--       OPatch failed with error code = 73
-- Opatch utility is not compatible with patch set 37532378
-- Need to download compatible opatch utility and unzip
-- Rename current Opatch folder as Opatch_BKP20062025 ,located in /u01/app/oracle/product/19.0.0/dbhome_1
-- Put downloaded and unzipped folder in ORACLE_HOME location
--##################################################################################################

set ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
set PATH=$ORACLE_HOME/OPatch:%PATH%
%ORACLE_HOME%\OPatch\opatch apply E:\Oracle\21C\37532378 -silent
%ORACLE_HOME%\OPatch\opatch lsinventory
sc start OracleOraDB21Home1TNSListenerLISTENER_ORCL21C_FINAL
sc start OracleServiceORCL21C
sc start OracleVssWriterORCL21C

sqlplus / as sysdba
check pluggable database opened or not if not open it before applying datapatch

show pdbs
alter pluggable database <PDBName> open;

exit
"%ORACLE_HOME%\OPatch\datapatch.bat" -verbose

"%ORACLE_HOME%\OPatch\datapatch.bat" -verbose