17 августа, четверг 22:26
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

Промежуточное резервирование ОДБ

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Промежуточное резервирование ОДБ

    Привет All !

    А рассматривал ли кто такой вариант. В середине рабочего дня, в часов этак в 14:00 вдруг рейд-контролер на сервере ОДБ умирает смертью храбрых и восстановлению не подлежит. Исходя из того, что к этому моменту введено 5000 - 7000 документов, открыты новые клиенты и счета, не считая кучи пользовательских макросов со своими сделками. А есть только копия до закрытия дня. И как восстанавливать все данные? тем более если база занимает около 13 ГБ. Разумеется копия и резервный сервер запускаются в боевой режим, но как восстановить все, что было сделано в течении дня?
    Мы работает на Pervasive 2000 + SP3, RS-Bank 5.00. Вот сижу и думаю, как можно минимизировать потери? И как быть в этой ситуации? Кто как страхуется от подобного.

  • #2
    У нас в обед встает ArcServ и основные базы (счета,остатки, документы + кое что еще) переливает на сервак, где стоят Отчеты ЦБ (мы их разнесли)
    Т.о. есть 2 копии в сутки Одна полная, вторая - основные данные

    Комментарий


    • #3
      vsv
      К сожалению не выход, никто не даст отключать ОДБ днем на час, а это минимум что надо для основных баз

      Комментарий


      • #4
        Вот, нарыл в архивах... Правда, не для RS, но копать, наверное, нужно в ту сторону... Ну а если предположить, что у вас RAID полностью рассыпется, эти транзакции, конечно, надо складывать на соседний сервак...


        От: Alexander V. Gaiduk gav@lesobank.ru>
        Тема: Установка системы отслеживания транзакций
        Дата: 16 ноября 1998 г. 15:27

        __________________________________________________
        *** Настройка системы для отслеживания транзакций:

        Ну во первых выставить в BSETUP опцию "Create Files as transactional" -
        пригодится.

        Во вторых (обязательно!) там же выставить опцию "Logging of Selected Files"

        В третьих на томе, где лежат Кворумовские таблицы и словарь
        создать каталог \BLOG, в котором разместить файл описания
        отслеживаемых файлов BLOG.CFG.

        Формат файла (текстовый):
        \QUORUM\DATA\ABOINFO.DAT=\BLOG\TRN\ABOINFO.LOG
        \QUORUM\DATA\ABOSUB.DAT=\BLOG\TRN\ABOSUB.LOG
        \QUORUM\DATA\ACCOLD.DAT=\BLOG\TRN\ACCOLD.LOG
        \QUORUM\DATA\ACCOUNTS.DAT=\BLOG\TRN\ACCOUNTS.LOG
        ....
        ....

        ну и так далее ВСЕ таблицы (у меня получилось 362 строчки).

        В четвертых создать кталог \BLOG\TRN, в который будут
        складываться сами транзакции. У меня получается примерно 2 - 4 мега
        в день, в зависимости от документооборота и неумелости бухгалтеров.
        Чем логичней работа, тем меньше транзакции.

        Но надо учесть, что если админ запустит конвертацию всей базы,
        то транзакции вырастут именно на размер всей базы (у нас это 230 мегов).

        В эти файлы транзакций пишеться все:
        Имя юзера, тип операции (удаление, вставка, изменение) и для вставки и
        изменения пишется сам блок данных который меняется (все это в бинарном
        виде).

        Ну вот вроде все, в смысле система отслеживания
        транзакций БД Кворум установлена.

        ______________________________________________________________________
        *** Теперь методика работы (архивирования) и восстановления после сбоя:

        Архивирование:

        Ежедневно (желательно) в 22:00 происходит копирование всех таблиц
        Кворума (\QUORUM\DATA\*.DAT), что с ними делать - дело ваше...
        И копируются транзакции (\BLOG\TRN\*.LOG), их судьба - аналогична...
        После копирования, содержимое каталога очищается (DEL \BLOG\TRN\*.LOG)
        т.е. освобождаем место для "завтрашних" транзакций

        __________________________________________________
        *** Восстановление базы Кворума после сбоя сервера:

        В каталог \QUORUM\DATA помещается вчера вечером скопированная база,
        транзакции НЕ ТРОГАТЬ!

        запустить последовательно програмки
        [SYS:]PUBLIC\BTRIEVE\BREQUEST
        [SYS:]PUBLIC\BROLLFWD /A
        [SYS:]PUBLIC\BTRIEVE\BUTIL -STOP
        каталог \BLOG должен быть текущим!

        где [SYS:] буква тома SYS

        после, примерно 15 - 30 минут все будет кончено...
        И вы получите исправную базу Кворума на момент СБОЙ минус 1-3 секунды.

        С уважением
        Александр Гайдук (gav@lesobank.ru)
        Программист отдела информатики АКБ Лесобанк
        Home page: http://www.lesobank.ru/ru/home/gav/index.html
        Welcome to the Lesobank Web Site: http://www.lesobank.ru

        Комментарий


        • #5
          При таком обороте можно найти денег и второй сервак в
          он-лайне поставить под БД, или иметь запасную плату контроллера аналогично сконфигурированную(можно в таком же сервере ) перетыкаешь винты и все пашет проверял на Mylex-960, что сдохнут все винты сразу это нонсенс но можно и их дублировать в рэйде.
          У меня раньше был RAID5 из 6 винтов +1 резерв + дубликат корзины с контроллером, при нынешней стоимости винта можно и в зеркало ставить...

          Комментарий


          • #6
            Genmichael
            Не совсем корректный вариант! Сгорела серверная и как все восстанавливать? а так у нас резервный, на который копия падает, стоит в другом здании, и это самое правильное...
            dd
            Про эту возможность я знаю давно, еще когда Р-Стайл рекламировал Pervasive 2000, эта возможность была описана. Вся проблема в том, что я не нашел никого, кто реально это использовал. А чтоб эффективно ее пользовать, нужно чтоб данные по сети ложились на сервер, где лежит готовая к накатыванию база. А я не уверен, что транзакции могут ложиться на другой сервер, почему-то мне кажется, что только в пределах сервака на котором СУБД. А если и можно, то не убьет ли это и без того тормознутую сетку? К сожалению экспериментировать нет времени и ресурсов...

            Комментарий


            • #7
              А не в Багдадском банке Вы случайно работаете?

              Комментарий


              • #8
                Genmichael
                Нет :-)
                Но иногда и паранойя приносит свои положительные плоды ;-)

                Комментарий


                • #9
                  Tommy
                  Боюсь соврать сильно (я не копался сам с ArcServ), поэтому пока без подробностей

                  Суть в том, что там есть какой-то агент под Pervasive (или что-то по типу того), который позволяет копировать на живых таблицах По крайней мере у нам это так и происходит Останавливать ничего не останавливаем, работа, конечно, немного тормозиться, но не сказать чтобы это слишком напрягало

                  Более подробно если интересно - когда alanf вернется

                  Комментарий


                  • #10
                    С транзакциями у меня все пучком работало еще в Btrive 6.15, в Новеле
                    точно можно перекинуть log на другой сервер но сами транзакции хранятся там же где и файлы, но самое крутое что было это выгорание блока питания серевера (тогда еще редкие сервера имели нот замену блока питания) после этого база работала(корзину к дугому БП контроллер в др. компьютер 15 мин)!!! Сгорал 1 винт в онлайне перекидывались данные MYlex-сом два часа торможения и все работает.Пробовал переставлять винты RAID на такой же контроллер(DAC960I) райд сам подцеплялся и работало.
                    В новеле есть еще фишка установка двух серверов (но никогда не пробовал)
                    Есть еще корзинки внешние для винтов со SCSI или POWER .... ....(это круче для очень больших серверов) интерфейсами подключаешь две и дублируешь на контролере ...
                    Но для того чтоб перекидывать данные в другое помещение в он-лайне теоретически конечно можно отдельный сегмент сети и процесс автоматически
                    запускающий что-то типа Butil -copy файл др сервер:файл но будет подтормаживать

                    Комментарий


                    • #11
                      2 Tommy:
                      Сгорела серверная и как все восстанавливать? а так у нас резервный, на который копия падает, стоит в другом здании, и это самое правильное...
                      А я вот слышал, что некоторые банки Америки, по крайней мере точно знаю, что BONY делает именно так, в конце каждого дня бакапы самолетом отправляют в Австралию, как самую малосейсмическую зону.
                      А если более серьезно, то рекомендую использовать принцип разумной достаточности. Я, конечно, не знаю принципов работы Вашего банка, но вряд ли ошибусь, если предположу, что пожар серверной не ограничится. И при любом резервном копировании вряд ли исполнители вашего банка захотят работать на оплавленных клавиатурах глядя в взорвавшиеся кинескопы мониторов.
                      Попробуйте прикинуть вероятность полного физического уничтожения основного сервера и сопоставить эту вероятность с суммой, потраченной на полное ежеминутное резервное копирование на удаленный накопитель. Если вероятность будет порядка 0.000001, то эту сумму можете смело считать выброшенной на ветер.
                      Но иногда и паранойя приносит свои положительные плоды ;-)
                      Не отрицаю, особенно, если Вы работаете врачом и специализируетесь на психиатрии.

                      Комментарий


                      • #12
                        И еще ссылка http://www.rsl.itb.ru/index1.htm там можно посмотреть
                        ехр.mac
                        ДА кстати Butil копирует на "живых" таблицах даже под тразакцией

                        Комментарий


                        • #13
                          Genmichael
                          но самое крутое что было это выгорание блока питания серевера
                          У нас горели Рейд контролеры и не раз (это при том, что пользуемся "белой" техникой). Один раз даже в сервис-центр везли. Да восстановили, но потратили сутки + в чужие руки отдаешь данные...
                          Cost
                          что пожар серверной не ограничится
                          можно и из другого здания временно поработать

                          а кто-нибудь ее пробовал такой вариант?

                          Архивация файлов базы данных без прерывания работы пользователей
                          Включить режим Continues operations
                          Butil -startbu @filelist.txt
                          Запустить утилиту резервного копирования или архиватор
                          Выполнить перенос «отложенных» транзакций в рабочие файлы базы данных.
                          Butil -endbu /A

                          Комментарий


                          • #14
                            Tommy
                            Не знаю у меня за 7лет на 5 серверах с рейдами сгорел только один контроллер
                            Mylex, сервера все не белые на платформе Intel.Конечно есть круче контроллеры ...

                            Если бы у вас был бы точно такой же второй сервер то перетыкнул винты(требует наличия корзины) и вези в сервис...
                            Если часто горит купи СТАБИЛИЗАТОР напряжения : UPS (особенно современные)
                            не оснащены подобным устройством а все что пишут это рекламный прогон
                            (в APC 1500 smart стоит только релюшка которая при понижении напряжения уходит на батареи И защита от ВЧ помех по типу фильтра пилот)
                            И еще технику нужно пылесосить(у меня стоит в шкафу и очиститель воздуха есть) хотяб раз в полгода - конечно это мешает вовремя апгредится но....

                            Комментарий


                            • #15
                              Genmichael
                              У нас серверов малек по больше и проблем тоже. Все что касательно зашиты тоже давно сделано. И, так на всякий случай, не во всех старых рейдах проходит переткнул и работай.

                              Да и вопрос стоит не как сервер защитить, а как максимально быстро и с наименьшими проблемами восстановить данные в случае глобальных непредвиденных проблем.

                              Комментарий


                              • #16
                                Код:
                                @echo off
                                rem Запускаемся на резервном
                                set REALDIR=\\server\rsbank\RSBANK\DBFILE
                                set BACKDIR=D:\RSB\RSBANK\DBFILE
                                
                                rem Перетряхнуть первасив, чтоб не держались файлы.
                                net stop psql2000
                                net start psql2000
                                net stop ТрехзвенкаНаРезервном
                                
                                cd %BACKDIR%
                                for %%f in (*.dbt) do call mycopy.bat %%f
                                
                                net start ТрехзвенкаНаРезервном
                                
                                ---file mycopy.bat---
                                del %BACKDIR%\%1
                                butil -clone %1 %REALDIR%\%1
                                butil -copy %REALDIR%\%1 %1
                                Это уж если совсем пожар - и канал между у основным и резервным нормальный.
                                Запускать каждые полчаса с минимальным приоритетом (2000-ые умеют, хотя стартует на резервном - поэтому не обязательно) и все бу ОК. Только архдоки нужно один раз в день наливать, и оперлог не обязательно наверное - т.е. нужен еще батник проверки что нужно ли файл копировать или нет (а энто уже за деньги:-) - проверяется что файл в течении этих полчаса не изменялся и т.п.

                                Комментарий


                                • #17
                                  KaMPiLeR
                                  ты человека не путай
                                  у тебя между одним ---file mycopy.bat--- и другим может быть разница в несколько минут... о какой целостности базы тогда можно говорить?

                                  Комментарий


                                  • #18
                                    целостности не будет. но можно добиться ее.

                                    Комментарий


                                    • #19
                                      KaMPiLeR
                                      Можно, но только отключив на время транзакции к этой базе

                                      Комментарий


                                      • #20
                                        KaMPiLeR
                                        Ежели я понял правильно, то ты каждые полчаса предлагаешь проделывать
                                        [i]net stop psql2000
                                        net start psql2000
                                        net stop ТрехзвенкаНаРезервном[i]

                                        А людей не жалко?

                                        Комментарий


                                        • #21
                                          на резервном

                                          Комментарий


                                          • #22
                                            А-а
                                            Тогда извини

                                            Комментарий


                                            • #23
                                              Вообще такие проблемы ( см. первый пост) решаются как грамотными ИТ-политиками. Например один из банкиров (из Золостбанка) решил спросить, см: http://www.3nity.ru/viewtopic.htm?t=88&start=0
                                              Думаю такой подход Вам понравится и ответит на много вопросов. Удачи

                                              Комментарий

                                              Пользователи, просматривающие эту тему

                                              Свернуть

                                              Присутствует 1. Участников: 0, гостей: 1.

                                              Обработка...
                                              X