checkpoint

This commit is contained in:
2025-10-03 06:06:30 -04:00
parent 260689d7aa
commit 8006b35d21
5 changed files with 453 additions and 484 deletions

91
check_recoverable_range.sh Executable file
View File

@@ -0,0 +1,91 @@
#!/bin/bash
#
# Fetch recoverable ranges for a given Oracle DB
# v0.2 - James Pattinson - August 2021
#
# usage: oracle_get_rr.sh [-h <dbhost>] <SID>
SCRIPT=`basename $0`
echo "script ${SCRIPT}"
MYDIR="$(dirname "$(realpath "$0")")"
# source $MYDIR/rbk_api.conf
source $MYDIR/oracle_funcs.sh
usage() { echo "Usage: $0 [-h <dbhost>] [-g] <SID>" 1>&2; exit 1; }
while getopts "h:" o; do
case "${o}" in
h)
RBK_HOST=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
RBK_SID=$1
if [ -z "${RBK_SID}" ]; then
usage
exit 1
fi
if [ `ps -ef | grep ora_pmon_$RBK_SID | grep -v " grep " | wc -l` -eq 0 ]; then
#echo "Sid: $db is down, `hostname -s` "
ROLE="unknown"
STATUS=down
else
#echo "Sid: $db is up, `hostname -s` "
if [ `ps -ef | grep ora_arc[0-9]_$RBK_SID | grep -v " grep " | wc -l` -eq 0 ]; then
STATUS="no-/mnt"
else
STATUS=up
fi
if [ `ps -ef | grep ora_mrp[0-9]_$RBK_SID | grep -v " grep " | wc -l` -eq 0 ]; then
#echo "Sid: $db is stby, `hostname -s` "
ROLE=prim
else
#echo "Sid: $db is prim, `hostname -s` "
ROLE=stby
fi
fi
echo Connecting to Rubrik with IP $RUBRIK_IP
ret=0
# API call to list Oracle DBs
find_database
echo Fetching Recoverable Ranges for $RBK_SID on $RBK_HOST
# API call to get the recoverable range
ENDPOINT="https://$RUBRIK_IP/api/internal/oracle/db/$db_id/recoverable_range"
# rest_api_get
# echo "http_response=$(curl -s -k -o /tmp/rbkresponse.$$ -w \"%{http_code}\" -X GET $ENDPOINT -H \"accept: application/json\" -H \"Authorization: Bearer $AUTH_TOKEN\")"
http_response=$(curl -s -k -o /tmp/rbkresponse.$$ -w "%{http_code}" -X GET $ENDPOINT -H "accept: application/json" -H "Authorization: Bearer $AUTH_TOKEN")
# echo "ret $ret"
echo -e "SID\t Hostname Status Role Start Time\t\t\tEnd Time\t\t\tStatus"
echo -e "-------- -------- ------- ------- ----------\t\t\t--------\t\t\t------"
if [ $ret -ne 0 ] ; then
RESULT_GET=" No_date No_date KO"
if [ ! -z "${INFO_RR_PROBLEM}" ] ; then
echo "${INFO_RR_PROBLEM}"
fi
else
RESULT_GET=`cat /tmp/rbkresponse.$$ | jq -r '.data[]' | jq -r ' "\(.beginTime)\t\(.endTime)\t\(.status)"'`
if [ -z "${RESULT_GET}" ] ; then
RESULT_GET=" No_date No_date KO"
if [ ! -z "${INFO_RR_PROBLEM}" ] ; then
echo "${INFO_RR_PROBLEM}"
fi
fi
fi
echo "${RESULT_GET}" | sed "s/^/${RBK_SID} `hostname -s` ${STATUS} ${ROLE} /" | awk '{printf "%-10s %-13s %-7s %-7s %-30s %-31s %-12s\n" ,$1,$2,$3,$4,$5,$6,$7}'
cleanup