Страница 1 из 1

pervasive.sql_8.6 не интерактивная выгрузка(bstop)

СообщениеДобавлено: 07 июл 2005, 09:39
southpuss
Здравствуйте!
имеется pervasive.sql_8.6 на NW6.0
при выгрузке pervasive - запуске bstop.ncf, бтрив порой просит подтверждения (нажать руками "Y") иза того что что-то там открыто и может сломаться...
Может кто-нибудь подсказать как можно не интерактивно прибить бтр-коннекты? Интерактивно - можно это сделать из виндовой утилиты Pervasive Monitor.
Или, что лучше всего, как не интерактивно выгрузить бтрив?...

Спасибо.

Re: pervasive.sql_8.6 не интерактивная выгрузка(bstop)

СообщениеДобавлено: 07 июл 2005, 15:37
Dimerson
southpuss писал(а):Здравствуйте!
имеется pervasive.sql_8.6 на NW6.0
при выгрузке pervasive - запуске bstop.ncf, бтрив порой просит подтверждения (нажать руками "Y") иза того что что-то там открыто и может сломаться...
Может кто-нибудь подсказать как можно не интерактивно прибить бтр-коннекты? Интерактивно - можно это сделать из виндовой утилиты Pervasive Monitor.
Или, что лучше всего, как не интерактивно выгрузить бтрив?...

Спасибо.


проблема в том что при загрузке TCPIP.NLM загружаются модули использующие Btrieve и посему толком не выгрузить BTRIEVE.NLM и иже с ними. BTRV UNLINK не помогает.


А зачем вам его выгружать ?

Думаю, что выгрузить у вас не выйдет,

СообщениеДобавлено: 07 июл 2005, 23:04
Boris Morozov
поскольку очень нужные модули ядра Netware пользуют Btrieve.
Скинуть коннект видимо можно какой-то API функцией типа RESET но для этого написать софтинку или воспользоваться ДОС версией BUTIL.
Но чтобы сбросить чужой коннект, надо ID процесса знать.
Вообще-то это не нормальный метод работы. Если же вам это надо для копирования базы, то для этого есть специально для этого предназначенный механизм реализованный функциями BUTIL STARTBU и ENDBU.
Позволяет выполнять архивацию, даже не прерывая работы пользователей полностью в автоматическом режиме.

Re: Думаю, что выгрузить у вас не выйдет,

СообщениеДобавлено: 08 июл 2005, 15:47
southpuss
Boris Morozov писал(а):Вообще-то это не нормальный метод работы. Если же вам это надо для копирования базы, то для этого есть специально для этого предназначенный механизм реализованный функциями BUTIL STARTBU и ENDBU.
Позволяет выполнять архивацию, даже не прерывая работы пользователей полностью в автоматическом режиме.

Это любопытно...Можете подсунуть мне ссылочку почитать про этот механизм, или может пример уже реализованный посмотреть?

Привожу живой пример.

СообщениеДобавлено: 09 июл 2005, 01:48
Boris Morozov
Arcsrv1.ncf - командный файлик выполняющийся CRON-ом

load butil -startbu @sys:\etc\arcsrv1.lbu /S - закрываем физически по списку

load nwzip KPPCUP - вот тут и копируем чем угодно, юзеры работают как ни в чем не бывало.

load butil -endbu /a /s - возвращаем все в нормальный режим

а так выглядит файлик sys:\etc\arcsrv1.lbu

vol21:\Softtnt\Database\Libs\mas\760.btr
vol21:\Softtnt\Database\Libs\mas\761.btr
vol21:\Softtnt\Database\Libs\mas\780.btr
vol21:\Softtnt\Database\Libs\nsi\94006033.btr
vol21:\Softtnt\Database\Libs\nsi\95006033.btr
vol21:\Softtnt\Database\Libs\nsi\95106033.btr
vol21:\Softtnt\Database\Libs\nsi\95206033.btr

Конфигурацию NWZIP приводить не буду, отношения к делу не имеет.

Смысл в том, что файлы из списка физически закрываются, а для пользователей первазива открыты. О механизме можете почитать в документации по первазиву, которая разворачивается вместе с инсталяцией. Поиск по ключевому слову STARTBU.

Программу останавливать нельзя, это КПП автобусного парка, они ездят круглосуточно и в выходные, копирование идет в ночное время, никого из АСУшников в это время нет, днем список был бы в 20 раз больше, да и смыла нет делать это днем, два года работает как часы.