Exadata Product Development Blog

  • March 10, 2014

Prereq Dependency Check Added for Exadata DB Server Updating

Rene Kundersma
Software Engineer

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.

Some details:
  • Updates starting from - to any release earlier than
    • Dependency check is validated against 'standard' dependencies.
  • Updates starting from - to any release equal to or later than
    • 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 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.

 Rene Kundersma 

Join the discussion

Comments ( 1 )
  • jason arneil Monday, March 10, 2014


    I think it's important to point out the dependency pre-req check can and will remove packages from the system.

    Would be great if this "feature" was turned off.

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.