Closed PeterPitterling closed 2 months ago
for manifest in $(ls /usr/sap/[A-Z][A-Z0-9][A-Z0-9]/HDB[0-9][0-9]/exe/manifest 2>/dev/null)
do
local SID=$(echo "$manifest" | cut -d'/' -f4)
hana_release=$(grep "^release:" $manifest | cut -d':' -f2 | sed 's/^ *//g' | sed 's/\.//g')
declare -i hana_rev=$((10#$(grep "^rev-number:" $manifest | cut -d':' -f2 | sed 's/^ *//g')))
declare -i hana_patchlevel=$((10#$(grep "^rev-patchlevel:" $manifest | cut -d':' -f2 | sed 's/^ *//g')))
local hdbstr=$(echo $manifest | cut -d'/' -f5)
local host_short=$(echo $lib_cfg_exthostname | cut -d'.' -f1)
local def_inipath=/usr/sap/$SID/$hdbstr/exe/config/
local sys_inipath=/usr/sap/$SID/SYS/global/hdb/custom/config/
local host_inipath=/usr/sap/$SID/$hdbstr/$host_short/
discover.mod.sh --> modDiscoverHanaInstances
modDiscoverHanaInstances(){
local argInstanceName="${1}"
local locResult
local -a locAllResults
local locInstallPath locProcess locInstanceName locInstanceNumber locManifestFile locVersion locOwner locVhostname
### by File Systems
[[ -e /usr/sap ]] && for locInstallPath in $(stat -c %n /usr/sap/???/HDB?? 2>/dev/null); do
[[ -z "${locInstallPath}" ]] && continue
[[ -e "${locInstallPath}" ]] || continue
locInstanceName="$(echo "${locInstallPath}" | cut -d/ -f4)"
locInstanceNumber="${locInstallPath##*HDB}"
[[ -e "/usr/sap/${locInstanceName}/SYS/global/hdb/custom/config/global.ini" ]] || continue
locManifestFile="/usr/sap/${locInstanceName}/HDB${locInstanceNumber}/exe/manifest"
[[ -e "${locManifestFile}" ]] || continue
locVersion="$(awk '/^fullversion/ {sub(/-.*/,""); print $2"."$4}' ${locManifestFile})"
locVersion="${locVersion#* }"
locOwner="$(baseStrToLower "${locInstanceName}")adm"
locVhostname="$(sed -n "s,^[^#].*profile/${locInstanceName}_HDB[0-9][0-9]_\([^ ]*\).*,\1,p" /usr/sap/sapservices 2>/dev/null|head -n1)"
locResult="${locOwner},${locInstanceName},${locVersion},${locInstanceNumber},${locVhostname}"
locAllResults+=("${locResult}")
done
...
# finally remove duplicates and echo results
modDiscoverReturnResults "${argInstanceName}" "${locAllResults[@]}"
}
some information could also be found in /hana/shared/SID/global/hdb/install/support/cfg
hostname:/hana/shared # grep . -r */global/hdb/install/support/cfg
MOD/global/hdb/install/support/cfg:{'installation_path': '/hana/shared',
MOD/global/hdb/install/support/cfg: 'sapsys_groupid': 79,
MOD/global/hdb/install/support/cfg: 'sidadm_comment': 'SAP HANA Database System Administrator',
MOD/global/hdb/install/support/cfg: 'sidadm_home': '/usr/sap/MOD/home',
MOD/global/hdb/install/support/cfg: 'sidadm_id': 1001,
MOD/global/hdb/install/support/cfg: 'sidadm_shell': '/bin/sh'}
PQL/global/hdb/install/support/cfg:{'installation_path': '/hana/shared',
PQL/global/hdb/install/support/cfg: 'sapsys_groupid': 79,
PQL/global/hdb/install/support/cfg: 'sidadm_comment': 'SAP HANA Database System Administrator',
PQL/global/hdb/install/support/cfg: 'sidadm_home': '/usr/sap/PQL/home',
PQL/global/hdb/install/support/cfg: 'sidadm_id': 1000,
PQL/global/hdb/install/support/cfg: 'sidadm_shell': '/bin/sh'}
determine