HACMP + Oracle


В этой теме 14 ответов, 5 участников, последнее обновление  terminus 6 года/лет, 10 мес. назад.

  • Автор
    Сообщения
  • #8043

    Pavel Alexei
    Участник

    Есть у кого на примете работающая модель HACMP + Oracle?
    У нас клиент есть, которому все это поставили. Приезжали guru из IBM. Я не имел к этому отношения. Во первых это было ДО мены, во вторых с AIX имел дела еще при 4.3, HACMP в глаза не “видел”.
    Что-то все криво, и все из-за скриптов. То были проблемы из-за скрипта по мониторигу, ошибочно посчитал что Oracle упал и начал в самый неудачный момент его перегружать.
    То что-то скрипт shutdown выполнился криво (закончился с ошибкой), теперь HACMP в непонятной state, надо его вытаскивать, хотя сам Oracle и работает. Есть step-by-step guide, но все равно “абыдно”. Вроде тривиальные вещи.
    Кого не спрашивал, HACMP для Oracle не пользовались. Либо RAC, либо Standby.

    Thx

  • #8052

    kir
    Хранитель

    Настраивал такие конфигурации.
    Обычно скрипты запуска/останова используют:
    При старте
    lsnrctl start
    dbstart
    При стопе
    lsnrctl stop
    dbshut
    А в скриптах мониторов приложений:
    Для листенера мониторят его процесс, и просто передергивают.
    А для БД мониторят например процесс pmon.
    А что у вас не работает, можно конкретнее?

  • #8053

    Hanna
    Участник

    Я так подозреваю что состояние самого кластера unstable (посмотреть можно командой /usr/es/sbin/cluster/clstat)?
    smit hacmp-Problem Determination Tools > Recover From HACMP Script Failure и после этого синхронизировать кластер и смотреть на его статус.
    В общем для более детального анализа нужно смотреть hacmp.out

  • #8056

    Pavel Alexei
    Участник

    Первоначально статус проверялся через “oradb_status v1.sh”. Пока однажды ему не показалось что oracle не упал и решил его перегружить.
    Получили установки на изменение monitor interval с 30 на 60, подняли кол-во pty с 256 на 512. Запустили, и сразу же получили
    Apr 24 07:00:23 bisdb1 local7:info oradb_status.sh: > Oracle engine is Running.
    Apr 24 07:00:23 bisdb1 local7:info oradb_status.sh: > Oracle listener is Running.
    Apr 24 07:01:23 bisdb1 local7:info oradb_status.sh: > Oracle engine is Running.
    Apr 24 07:01:23 bisdb1 local7:info oradb_status.sh: > Oracle listener is Running.
    Apr 24 07:02:23 bisdb1 local7:info oradb_status.sh: > Oracle engine is Running.
    Apr 24 07:02:24 bisdb1 local7:info oradb_status.sh: > Oracle listener is NOT Running!
    Apr 24 07:02:25 bisdb1 local7:info oradb_stop.sh: > Stopping the Oracle Listener…
    Apr 24 07:02:25 bisdb1 local7:info oradb_stop.sh: stty: tcgetattr: A specified file does not support the ioctl system call. LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.3.0 – Production on 24-APR-2010 07:02:25 Copyright (c) 1991, 2006, Oracle. All rights reserved. Connecting to DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XXXX)(PORT=1521))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener IBM/AIX RISC System/6000 Error: 79: Connection refused Connecting to (DESCRIPTION=(AD DRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener IBM/AIX RISC System/6000 Error: 2: No such file or directory
    Apr 24 07:02:25 bisdb1 local7:info oradb_stop.sh: > Shutting down the Oracle database…
    Apr 24 07:02:26 bisdb1 local7:info oradb_stop.sh: ORA-24324: service handle not initialized ORA-24323: value not allowed ORA-01089: immediate shutdown in progress – no operations are permitted
    Apr 24 07:02:26 bisdb1 local7:info oradb_stop.sh: > Getting the status of the Oracle database…
    Apr 24 07:02:26 bisdb1 local7:info oradb_stop.sh: > The database engine is still running!
    May 6 15:39:06 bisdb1 local7:info oradb_status.sh: > Oracle engine is Running.
    May 6 15:39:07 bisdb1 local7:info oradb_status.sh: > Oracle listener is Running.

    непонятно с чего он взял что listener помер.
    Перезагрузка сервиса прошла “грустно”, HACMP в непонятной state. Ненормально отработал oradb_stop.sh, вылетел с ошибкой, не смог сделать вовремя shutdown.
    Вытащили через стандарную процедуру recovery.
    Прислали новый скрипт на проверку работы oracle, думают как сделать другой скрипт на stop.

    Может у кого все это давно работает и поделится скриптами и наводками, на какие грабли не стоит наступать?

  • #8058

    Pavel Alexei
    Участник

    не дала rar прикрепить
    [file name=HACMP_Oracle.zip size=1819]https://www.aixportal.ru/media/kunena/attachments/legacy/files/HACMP_Oracle.zip[/file] [/file]

    Attachments:
  • #8078

    Pavel Alexei
    Участник

    И шо?
    Ни у кого не рабоает в production такая конструкция?

  • #8098

    kir
    Хранитель

    А почему бы вам не сделать отдельные скрипта check для базы и листенера?
    Тогда если чек не проходит, перестартовывать сервис. А вообще, при проверке БД, если она недоступна, есть же опция не перестартовывать базу, а посылать уведомление по почте.
    А листенер в принципе можно и передернуть, если он отвалился.

  • #8102

    Pavel Alexei
    Участник

    Кого не спрашивал, никто за многие годы не помнит случая, чтоб листенер отвалился. Вероятнее всего тут что-то другое. Не верь глазам своим 🙂
    То что “lsnrctl stop” дала ошибку, что листенера нет, думается не совсем то. Возможно из-за той же ошибке,
    “stty: tcgetattr: A specified file does not support the ioctl system call”
    ему то и почудилось, что listener упал.
    В общем, возвращаюсь к вопросу, кто знает 100% конфигурацию HACMP + Oracle?

  • #8118

    kir
    Хранитель

    Если честно, не могу понять что вам не хватает для конфигурации.
    Если речь о скриптах, то я уже написал логику работы проверки базы и листенера кластером.

  • #8124

    Pavel Alexei
    Участник

    Чуть выше в форуме в моем письме есть аттач с нашими скриптами. Вы не смотрели?
    Там все вроде по логике, но работает “кривато”.
    Если есть предложения по их улучшению, можно сразу на email.

  • #12581

    terminus
    Участник

    У меня аналогичная проблема.
    Запустили две LPAR с AIX 6.1 + последние TL&SP. Поставили Power HA for AIX (HACMP) Release 6.1 + APAR-IZ97957. Уровень HACMP 6.1.0 SP5.

    Oracle живет на /u01 – это LUN который является кластерным ресурсом. Кластер настроен – все работает. Кроме мониторинга.

    Специалист который ставил Оракл, указал, что для мониторинга достаточно следить за процессом ora_pmon_dbname. Такой процесс действительно есть, но настроив HACMP монитоинг на его отслеживаение, появляется проблема – по непонятным причинам, при работающем ora_pmon_dbname HACMP начинает считать, что произошло его падение. В следствии чего срабатывает перезапуск Oracle через старт/стоп скрипт, а потом и перескок на вторую ноду (там то же самое).

    Вобщем проблема в том, что HACMP некорректно устанавливает статус активности процесса ora_pmon_dbname. 🙁 У кого-нить есть решение этой проблемы?

    параметры мониторинга:
    [code] [Entry Fields]
    * Monitor Name oracle_prod_db_mon01
    Application Server(s) to Monitor oracle_prod_db01 +
    * Monitor Mode [Long-running monitoring] +
    * Processes to Monitor [ora_pmon_dbname]
    * Process Owner [oracle]
    Instance Count [1] #
    * Stabilization Interval [240] #
    * Restart Count [3] #
    Restart Interval [750] #
    * Action on Application Failure [fallover] +
    Notify Method []
    Cleanup Method [/etc/oracle_stop.sh]
    Restart Method [/etc/oracle_start.sh][/code]

  • #12582

    Alex Kovalev
    Участник

    Покажите скрипты мониторинга оракла кластером.
    Если данный скрипт проверяет неправильно, можно ему в этом скрипте указать, чтобы он несколько процессов смотрел, или другие процессы, или например логинелся sqlplus и в зависимости от ошибки предпринимал действия. Кстати вы же можете указать в настройках кластера чтобы при сбое сервиса (с т.з. кластера) происходил не рестарт а нотификация админа.

  • #12583

    terminus
    Участник

    Я нашел, что в комплекте с Smart Assist идут дополнительные скрипты конкретно для мониторинга оракла. Вот например один которы, вроде как, предназначен для мониторинга DB.

    /usr/es/sbin/cluster/sa/oracle/sbin/cl_oraMonitorDB
    [code]## NAME:
    ## cl_oraMonitorDB
    ##
    ## PURPOSE:
    ## Monitors a named Oracle Instance and Listeners
    ##
    ##
    ## ARGUMENTS
    ## -d
    ## -a
    ##
    ## RETURNS:
    ## 0 on success
    ## 1 on failure
    ##
    [/code]

    Попробую разобраться – может это то, что надо…

  • #12602

    Pavel Alexei
    Участник

    я тоже на них смотрел. Ничего особенного, кажется через sqlplus до базы идут запросы.
    Чего интересно из этого пакета, так как и какие параметры он в HACM-у прикручивает.
    Какие файлы входят в какой-то package можно определить, и можно найти, что и куда именно этот assistance положил. А что чего и как он конфигурирует….

  • #12603

    terminus
    Участник

    К сожалению у меня так и не получилось запустить SmartAssis с мастером для оракла – он не хотел работать. Из-за этого пришлось создавать все вручную. Так бы да, если бы он отработал, то и мониторинг он бы прицепил автоматом.

Для ответа в этой теме необходимо авторизоваться.