Wednesday, 8 April 2026

Filled under:

 #!/bin/bash


# Usage: ./compare_oracle_patches.sh <OLD_ORACLE_HOME> <NEW_ORACLE_HOME>


OLD_HOME=$1

NEW_HOME=$2


if [[ -z "$OLD_HOME" || -z "$NEW_HOME" ]]; then

  echo "Usage: $0 <OLD_ORACLE_HOME> <NEW_ORACLE_HOME>"

  exit 1

fi


echo "🔍 Comparing patches..."

echo "Old Home: $OLD_HOME"

echo "New Home: $NEW_HOME"

echo "----------------------------------------"


# Temp files

OLD_FILE=$(mktemp)

NEW_FILE=$(mktemp)


# Extract patch list

$OLD_HOME/OPatch/opatch lsinventory | grep "Patch" | sort > $OLD_FILE

$NEW_HOME/OPatch/opatch lsinventory | grep "Patch" | sort > $NEW_FILE


echo "📌 Patches ONLY in OLD (Bespoke Home):"

comm -23 $OLD_FILE $NEW_FILE


echo ""

echo "📌 Patches ONLY in NEW (Standard Home):"

comm -13 $OLD_FILE $NEW_FILE


echo ""

echo "📌 Common patches:"

comm -12 $OLD_FILE $NEW_FILE


# Cleanup

rm -f $OLD_FILE $NEW_FILE


echo "----------------------------------------"

echo "✅ Comparison complete"

0 comments:

Post a Comment