03.04.2022 11:36
OlegON
 
Собственно, уже все есть в этой теме https://olegon.ru/showthread.php?t=18131
Но, чтобы не переписывать каждый раз и не искать, запишу готовое. Итак, чтобы запускать и останавливать базы, которых бывает достаточно много даже на одном хосте, я использую простейшие скриптики, которым в качестве параметра надо передать имя базы
dbstart.sh
Код:
#!/bin/bash
. /home/oracle/.bash_profile
export ORACLE_SID=$1
echo 'Start DB '$1
sqlplus / as sysdba <<EOF
startup force
exit
EOF
dbstop.sh
Код:
#!/bin/bash
. /home/oracle/.bash_profile
export ORACLE_SID=$1
echo 'Stop DB '$1
sqlplus / as sysdba <<EOF
shutdown immediate
exit
EOF
03.04.2022 11:51
OlegON
 
Еще один нюанс, есть у меня одна база, полностью зависимая от другого хоста. Соответственно, если хост недоступен, базу надо глушить. Делаю в кроне
Код:
* * * * * /home/oracle/checkdb.sh &>/dev/null
checkdb.sh
Код:
#!/bin/bash
ping -c 1 192.168.99.151 &>/dev/null || /home/oracle/dbstop.sh DBNAME
соответственно, чтобы оптимизатор базу не запускал, пока хост не поднимется, поправил строку его запуска
Код:
ping -c 1 192.168.99.151 &>/dev/null && java -jar optimizer.jar -c=o -b=DBNAME
Часовой пояс GMT +3, время: 14:35.

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