Installation and Patching
Installation and Patching tests the mechanics of installing Oracle Database 19c software and applying patches: the installer, root scripts, OPatch, datapatch and the registry views that prove a patch worked.
Install and layout
OUI, interactive or silent with a response file, lays down the Oracle home under ORACLE_BASE following OFA; DBCA creates databases and NETCA configures the listener. root.sh and orainstRoot.sh run as root and write the central inventory pointed to by /etc/oraInst.loc. A software-only install skips database creation, which is the usual pattern before cloning a home.
Patching
Release Updates are quarterly; RURs are the security-only revisions; one-off patches sit on top. OPatch lspatches lists installed patches, OPatch apply installs them, OPatch rollback reverses them, and opatchauto handles Grid Infrastructure. From 18c an Oracle home can be read-only, with configuration stored outside it.
Binary patching is only half the job. SQL changes shipped in the patch are applied by datapatch ($ORACLE_HOME/OPatch/datapatch -verbose) against each database using that home, after the instance can be started. Verify with dba_registry_sqlpatch, where STATUS must be SUCCESS.
Worked example
You apply a 19c Release Update: shut down the database and listener, run OPatch apply in the new home, run root.sh when prompted, start the database, run datapatch -verbose, confirm SUCCESS in dba_registry_sqlpatch, restart normally and recompile invalid objects. If datapatch is skipped, the binaries are new but the data dictionary SQL is old, and the fixed bug still reproduces.
Traps
Running datapatch from the wrong home; expecting OPatch to change SQL; forgetting root.sh; patching a home shared by two databases and running datapatch in only one; not checking dba_registry_sqlpatch for ERROR before declaring success.