Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Oracle

Скрипт определения отставания standby от primary (для Zabbix) : Oracle

03.05.2024 23:29


03.10.2023 18:09
OlegON
 
Скрипт подсчета разницы seq в primary и secondary базах.
Выводит только значение разницы, что делает его удобным для использования в Zabbix. Есть смысл присылать alert, когда значение превышает 5.
Если sqlplus выходит с ненулевым значением (например, не может подключиться), скрипт тоже выходит с errorcode 1.

Код:
#!/bin/bash
. ~/.bash_profile
output=$(sqlplus -L -S / as sysdba 2>>/dev/null<<EOF
set echo off
set pagesize 0
select max(sequence#) from v\$log_history;
EOF
)
if [ $? -ne 0 ]; then
exit 1
fi
pr_seq=$(echo "$output" | awk '{print $1}')
output=$(sqlplus -L -S sys/pwd@sun_st2 as sysdba 2>>/dev/null<<EOF
set echo off
set pagesize 0
select max(sequence#) from v\$log_history;
EOF
)
if [ $? -ne 0 ]; then
exit 1
fi
st_seq=$(echo "$output" | awk '{print $1}')
echo $(( $pr_seq-$st_seq ))
03.10.2023 18:25
OlegON
 
Обратите внимание, что если подключение не от sys, то надо будет запрашивающему пользователю дать гранты и использовать
sys.v_\$log_history
Часовой пояс GMT +3, время: 23:29.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.