С статье "Мониторинг доступности БД oracle на bash (http://surgutnet.ru/page.php?id=132)" Евгений Воронянский продемонстрировал возможность мониторинга БД oracle с помощью стандартных средств операционной системы.URL: http://surgutnet.ru/page.php?id=132
Новость: http://www.opennet.dev/opennews/art.shtml?num=9129
а чем tnsping не устраивает?
Тем что иногда листнер жив, а база нет. У себя использую запрос "select host_name, instance_name, status from gv$instance;" и ищу слово OPEN в поле STATUS. Если не найдено, то проблема.
10:56|oracle:$tnsping orclTNS Ping Utility for Solaris: Version 9.2.0.4.0 - Production on 08-DEC-2006 11:16:43
Copyright (c) 1997 Oracle Corporation. All rights reserved.
Used parameter files:
/u01/app/oracle/product/9.2.0.4-64/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = db1.domain.com)(Port = 1521))) (CONNECT_DATA = (SID = orcl)))
OK (60 msec)
11:16|oracle$sqlplus scott@orclSQL*Plus: Release 9.2.0.4.0 - Production on Fri Dec 8 11:16:51 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Enter password:
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress
testORA.sh:
-----------
#!/bin/bash
test=`sqlplus dummy/user@$1 < /dev/null | grep logon`
if [ "$test" ]; then
echo Ok
else
echo Failed
fi--
$ ./testORA.sh db1
Ok
$ ./testORA.sh db2
Failed:-)
а теперь ставим в крон как там написана каждую минуту ...
Хм... Если такой пользователь ('dummy/user') может случайно существовать в БД, тогда:testORA.sh:
-----------
#!/bin/bash
#
# в случае явного отлупа: 'logon denied'
test1='sqlplus dummy/user@$1 < /dev/null | grep logon'
#
# в случае случайного логона: 'Connected to:'
test2='sqlplus dummy/user@$1 < /dev/null | grep Connected'
#
# различие означает успешность,
# одинаковость -- отсутствие обработки попытки логона.
if [ "$test1" != "$test2" ]; then
echo Ok
else
echo Failed
fi--
P.S. Если БД находится в RESTRICTED моде, мы получим 'Ok'...
Но, в этом случае, DBA и так должен быть "в курсе", как это она туда попала...:-)
Скрипт проверяет всего лишь возможность чтения из базы , а это полный отстой. Могут не проходить транзакции, хотя бы по причине забитости файловой системы для архивлогов. Если уж есть деньги на покупку лицензий Oracle, купите и кластер c нормальным мониторингом экземпляра, из бюджетных хотя бы steeleye.
> Могут не проходить транзакции, хотя бы по причине забитости файловой системы для архивлогов.http://www.xk72.com/midpssh/wiki/supported-devices
http://xk72.com/midpssh/download.php
$ df -h
$:-)
Вы пробовали перевисти ПРОДУКТОВУЮ БД терабайтных размеров работающую в 24x7 на кластер? Вы представляете сколько будет стоить(не только килобаксов но и человеко-часов) такой проект по переводу на RAC? А сколько будет стоить дополнительное железо, компенсирующее падение производительности при переходе на RAC?
В общем я бы на вашем месте не далал такие скоропостижные выводы.
Ужас, если Oracle так часто падает, что мониторинг повесили... Тут не мониторинг нужен, а в консерватории править.Хотя, смотря для чего Оракл применять, конечно.
Oracle особенно 9-й - если не падает, то виснет по-жизни намертво, последний раз упал так что не поднимается, а пароль sysdba забыли - пишет что база в состоянии shutdown progress и все- никаким юзером не подконнектится.
Уважаемые, я тут смотрю у вас баталия завязалась :)
1. это простой инструмент для того чтобы узанить что БД доступна для пользователей.
2. данный мониторинг не может быть конечным в продуктовых системах и может служить ТОЛЬКО бесплатным ДОПОЛНЕНИЕМ
м.... таб случайно нажал :(3. в отличии от множества систем мониторинга требует минимум времени на "сопровождение"
4. для того чтобы успокоит некоторых личностей отмечу повторно что данный скрипт мониторинга используется в дополнение к системе, которая позволяет проследить все доступные статистики экземпляра. Причем генерируемые графики позволяют мне ПРОГНОЗИРОВАТЬ узкие места, именно по этому у меня нет простоев по вине DBA.
5. Как правило для того чтобы получит подробную статистику необходимо затратить несколько больше времени в счет которого увеличивается время реакции. Повторюсь что это мое дополнение производит оповещение быстрее всех используемых у меня мониторингов именно за счет своей простоты.
6. БД может быть недоступна не только из за проблем в БД - OS, Сеть... нужно продолжать?
7. Я никого ни в чем не собираюсь убеждать, тем более что по моему эту проблему можно обсуждать бесконечно долго и будет сколько людей, столько мнений.Всего...
Евгений, респекты тебе. Всё правильно мыслишь.
есть офигенная утилита - Spotlight - у квестСофтваре. Полный визуальный контроль работы экземпляра со всеми информационными потоками, загрузкой процессора и использованием памяти. Просто и наглядно, а главное очень удобно...
+1. только тормозит иногда.
Простите некропостера,но можно обновить скрипт? Ссылка не работает :(
Коллеги, в этом скрипте всех обязательно должно насторожить хранение пары USERNAME + PWD в открытом виде прямо в тексте кода скрипта. По правилам ИБ такое недопустимо.