With this blog update some background on new functionality added to the Exadata dbnodeupdate.sh utility.
The recently added 'Prereq Dependency Check' feature in dbnodeupdate.sh eliminates possible unexpected package dependency problems that occur during update by detecting dependency issues during the prerequisite check phase that could occur when the update is performed. (Linux package dependency issues sometimes happen after operators customizing the db server by installing additional software packages or newer releases of packages). The recommended use of this feature is to run dbnodeupdate.sh with the –v flag (to verify prereqs only) days before the scheduled maintenance. dbnodeupdate.sh will report dependency problems that must be resolved before proceeding with the update.
Note that the dependency check functionality is also run by default prior to performing the update. dbnodeupdate.sh will now also list what packages will be removed for your update.
- Updates starting from 184.108.40.206 - 220.127.116.11.2 to any release earlier than 18.104.22.168.0:
- Dependency check is validated against 'standard' dependencies.
- Updates starting from 22.214.171.124 - 126.96.36.199.2 to any release equal to or later than 188.8.131.52.0:
- Dependency check is first validated against 'exact' RPM dependency.
- If 'exact' RPM dependency check passes it is assumed 'minimum' RPM dependency check will also pass.
- If 'exact' RPM dependency check fails then 'minimum' RPM dependency check is run.
- Updates starting from release 184.108.40.206.2 do not have Prereq Dependency Check functionality.
- dbnodeupdate.sh will report what checks were executed for your update and which of them did 'pass' or 'fail'
- If the dependency check is executed as part of dbnodeupdate.sh –u and only 'minimum' RPM dependency check passes, then the new target will implicitly be changed to 'minimum' (which is equal to dbnodeupdate.sh -m).
- If the dependency check is executed as part of dbnodeupdate.sh –u and both 'exact' and ’minimum’ RPM dependency checks fail, then the operator will not be able to proceed with the update. For dependency checks that fail a separate report is generated.This report highlights to the failing package. The operator can then decide to either remove/install/update the failing package depending on what works best for that particular server.
- Prereq run here -this is a prereq only run. Notice the ''Exact' package dependency check failed' and the ''Minimum' package dependency check succeeded'
- Failing dependencies here - for more details on what package cause the problem and what can be done to resolve it.
- Update scenario here - see the same dependency checks and notice 'Update target switched to 'minimum''
Existing backups of the current image overwritten by default:
- Existing backups of the current image on the inactive lvm will be overwritten by default. You can decide to skip (and retain) the backup by using the "-n" flag.