# faire des commandes pour AIX et pour Linux
os_type=$(uname -s)
echo "
Bases de données en cours d'exécution :
"
echo ""
ps -ef | grep pmon | grep -v grep
echo "
"
echo "Listeners en cours d'exécution :
"
echo ""
ps -ef | grep tnslsnr | grep -v grep
echo "
"
echo "Statut du listener :
"
# ps -ef | grep tnslsnr | egrep -i "LISTENER_${ORACLE_SID}" | grep -v grep | while read l
ps -ef | grep tnslsnr | egrep -i " LISTENER |${ORACLE_SID}" | grep -v grep | while read l
do
# Récupérer le chemin ORACLE_HOME à partir de la sortie de ps -ef
# ---- La commande grep -o ne fonctionne pas sur AIX, on la remplace par perl -lne
# binary_path=$(echo $l | grep -o '/[^ ]*' | sed 's#/bin/tnslsnr##')
binary_path=$(echo $l | perl -lne 'print $1 if /(\S*tnslsnr\S*)/' | sed 's#/bin/tnslsnr##')
# Extraire le nom du listener
# listener_name=$(echo $l | grep -o 'tnslsnr [^ ]*' | sed 's/tnslsnr //')
listener_name=$(echo $l | perl -lne 'print $1 if /\btnslsnr\s+(\S+)/' | sed 's/tnslsnr //')
# Construire la commande lsnrctl status
lsnrctl_command="$binary_path/bin/lsnrctl status $listener_name"
# exécuter la commande
echo "
"
echo $lsnrctl_command
echo export TNS_ADMIN=$binary_path/network/admin
export TNS_ADMIN=$binary_path/network/admin
eval "$lsnrctl_command"
echo "
"
done
echo "Uptime :
"
echo ""
uptime
echo "
"
case "$os_type" in
AIX)
echo "Espace disque (lsfs) :
"
echo ""
lsfs
echo ""
;;
Linux)
echo "Contenu du fichier /etc/fstab :
"
echo ""
cat /etc/fstab | egrep -v '^#|^$'
echo "
"
;;
esac
echo "Contenu du contab du compte oracle :
"
echo ""
crontab -l
echo "
"
echo "Limites de l'utilisateur "oracle" (ulimit -a) :
"
echo ""
ulimit -a | sort
echo "
"
# espace disque en fonction de l'OS
case "$os_type" in
AIX)
echo "Espace disque (df -g) :
"
echo ""
df -g
echo ""
;;
Linux)
echo "Espace disque (df -h) :
"
echo ""
df -h
echo ""
;;
esac
case "$os_type" in
Linux)
echo "Liste des disques disponibles (lsblk) :
"
echo ""
lsblk
echo "
"
echo "Taille mémoire en Mo (free -m) :
"
echo ""
free -m
echo "
"
echo "Caractéristiques CPU (lscpu) :
"
echo ""
lscpu
echo "
"
echo "Les 50 dernières erreur dans /var/log/messages :
"
if sudo -l &> /dev/null ; then
# L'utilisateur a les droits sudo. on continue
echo ""
sudo cat /var/log/messages | egrep -i 'error|failed' | tail -50
echo "
"
else
echo ""
echo "L'utilisateur n'a les droits pour lire les fichiers log."
echo "
"
fi
;;
esac
case "$os_type" in
AIX)
echo "Configuration système (prtconf) :
"
echo ""
prtconf
echo ""
;;
esac