powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / dbremote - Выполнение завершино
16 сообщений из 16, страница 1 из 1
dbremote - Выполнение завершино
    #33205717
Фотография Dimyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите прожалуйста как решить такую проблему:
раньше все работало нормально но последнее время dbremote стал останавливатся с надписью "Выполнение завершино", я конечно перезапускаю сервис nnCron'ом для подстраховки, но тем немение dbremote получается частенько простаивает и вся репликация вместе с ним. Подскажте как от этого избавится?
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33205747
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimyanПодскажите прожалуйста как решить такую проблему:
раньше все работало нормально но последнее время dbremote стал останавливатся с надписью "Выполнение завершино", я конечно перезапускаю сервис nnCron'ом для подстраховки, но тем немение dbremote получается частенько простаивает и вся репликация вместе с ним. Подскажте как от этого избавится?
Проблемы с сетью, FTP или почтовым сервером. Как вариант - не запускать сервисом, а запускать в батч-режиме (параметр -b), где он делает молча свою работы и выходит. Настроить же периодчность и вызов можно и через события ASA.
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33205881
Фотография Dimyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS пишет:
> Проблемы с сетью, FTP или почтовым сервером. Как вариант - не запускать
> сервисом, а запускать в батч-режиме (параметр -b), где он делает молча
> свою работы и выходит. Настроить же периодчность и вызов можно и через
> события ASA.

А что вообще что из себя представляет батч-режим?
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33206060
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimyan
ASCRUS пишет:
> Проблемы с сетью, FTP или почтовым сервером. Как вариант - не запускать
> сервисом, а запускать в батч-режиме (параметр -b), где он делает молча
> свою работы и выходит. Настроить же периодчность и вызов можно и через
> события ASA.

А что вообще что из себя представляет батч-режим?
Posted via ActualForum NNTP Server 1.2
Запустился, получил изменения, отправил свои изменения, закончил работу.
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33206084
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS Dimyan
ASCRUS пишет:
> Проблемы с сетью, FTP или почтовым сервером. Как вариант - не запускать
> сервисом, а запускать в батч-режиме (параметр -b), где он делает молча
> свою работы и выходит. Настроить же периодчность и вызов можно и через
> события ASA.

А что вообще что из себя представляет батч-режим?
Posted via ActualForum NNTP Server 1.2
Запустился, получил изменения, отправил свои изменения, закончил работу.

не все так гладко: если сообщение пропущено, то он все скачает, потом до него допрет, что сообщение пропущено и от отошлет реквест, и только в следующий запуск он получит все сообщения. Причем при приеме может опять что-то потеряться :). Так что без nncron пока никак...
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33206092
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рыжий Кот ASCRUS Dimyan
ASCRUS пишет:
> Проблемы с сетью, FTP или почтовым сервером. Как вариант - не запускать
> сервисом, а запускать в батч-режиме (параметр -b), где он делает молча
> свою работы и выходит. Настроить же периодчность и вызов можно и через
> события ASA.

А что вообще что из себя представляет батч-режим?
Posted via ActualForum NNTP Server 1.2
Запустился, получил изменения, отправил свои изменения, закончил работу.

не все так гладко: если сообщение пропущено, то он все скачает, потом до него допрет, что сообщение пропущено и от отошлет реквест, и только в следующий запуск он получит все сообщения. Причем при приеме может опять что-то потеряться :). Так что без nncron пока никак...
А что, разве работая сервисом он не так же будет засыпать на установленное время, как будет запускаться с такими же интервалами через событие ?
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33206177
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я хочу сказать, что работа и в режиме сервиса, и в режиме batch не спасает от очень плохой сети.

batch принимает все от начала до конца. Если очередь сообщений не нарушилась - слава богу. Если да - то первый признак это многочисленный receiving без applying.
Хотя может быть так, что просто в расширении файлов на фтп произошел сдвиг, например,
...
remote1.100
remote1.101
remote1.102
remote1.zx
remote1.zy
remote1.zz
...
т.е. нам нужны последние три, а он качает еще только первые два.
так вот batch пройдет всю очередь, а кто знает сколько нужно на это времени? и где гарантия, что он прокачает весь каталог без разрыва связи?
в режиме сервиса картина немного хуже, так как, чтобы определить, что сообщение выпало, очередь прокачивается 2 раза, и только
потом высылается запрос не перепосылку.

Представляете что творится если мегабайт много...

Нужно переделать dbremote таким образом, чтобы информация о прокаченных сообщениях оставалась доступной для dbremote после его рестарта. Либо сделать dbremote настолько надежным, чтобы он не отваливался и не повисал. Например, nncron имеет 2 (!) сервиса, один из которых работает всегда и я еще ни разу не видел чтобы ему стало плохо, а второй - на случай если первому станет плохо (он проверяет активность первого)

...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33206400
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рыжий Котя хочу сказать, что работа и в режиме сервиса, и в режиме batch не спасает от очень плохой сети.
На самом деле без разницы :) Плохая сеть будет вмешиваться в обоих режимах, но в режиме сервиса ты этого не увидишь. Оно просто молча умрет и будет висеть :)

Рыжий Котчтобы определить, что сообщение выпало, очередь прокачивается 2 раза, и только потом высылается запрос не перепосылку.
Не совсем так, если на фтп сначала лежат более поздние сообщения, а потом более ранние, то dbremote обнаружит это, выкачает их в свой собственный локальный файловый кэш, и обработает без всяких проблем. Я делал такие полуторамегабайтные каши из сообщений когда перестраивал удаленные базы с нуля. Отрабатывает без малейших проблем. Просто в окне dbremote сначала будет много сообщений recieved потом много applied :)
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33217476
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ASCRUS
Настроить же периодчность и вызов можно и через события ASA.

Интересна идея.
А как это мона заделать ?

И еще ...
Стоит посмотреть в сторону ключей -rd и -rs.
По крайней мере для СМТП замечено, если -rd стоит более минуты, то агент отключается от сервака, а затем подключается снова для очередного сеанса приемки. Если по умолчанию - то он держит соединение постоянно и если соединение пропало, то возникает проблема.
Если есть возможность, то с помощью этих ключиков можно избежать проблем с кратковременным пропаданием коннекта. (ИМХО)
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33228270
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращаясь к вопросу. У нас репликация идет через FTP. Иногда сеть отваливается и соотвествующе сервис на DBRemote останавливается. Что я сделал:
1. Сервис запускаю через нормальную, а не локальную учетную запись, со следующими обязательными параметрами:
Код: plaintext
1.
2.
-k
-o "C:\...\Consolidate.txt"
-ro "C:\...\Remote.txt"
Здесь я включаю запись лога работы консолидированной БД и ошибок удаленных в файлы, так как консоли мы не видим. Плюс параметр "-k" говорит серверу репликации, что после завершения работы обязательно выйти и остановить сервис.
2. В консолидированной БД создал событие:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE EVENT "Reload_SQLRemote"
SCHEDULE "Reload_SQLRemote_1" START TIME '00:00' EVERY  1  HOURS
AT CONSOLIDATED
HANDLER
BEGIN 
  CALL xp_CmdShell('dbsvc.exe -u Сервис_SQLRemote, 'no_output' );
END;
COMMENT ON EVENT "Reload_SQLRemote" IS 
'Проверка и перезапуск сервиса репликации SQLRemote на консолидированной БД';
Теперь раз в час ASA пытается запустить сервис репликации через свою утилиту запуска сервисов. Естественно, если он уже запущен, то ничего не произойдет, а если он остановился по каким либо причинам, то будет автоматически запущен через это событие вновь.

По вкусу:
1. Как и на любое событие ASA можно навесить несколько sheduler, где например в зависимости от дней недели с разной частотой проверять и поднимать сервис.
2. Раз уж у нас есть лог-файлы хода работ, то запускаем ASA с параметром "-xs http(port=80)", пишем веб-сервис, который внутри вызывает хранимку, которая считывает через xp_read_file и возвращает лог-файл работы удаленного сервера. В итоге через браузер всегда можем быстро посмотреть, что там на сервере репликаций твориться.
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33228305
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS,
так вот есть 2 момента:
1. может наступить такой момент, что чтобы прокачать все сообщения часа не хватит; полУчите бесконечный цикл
2. бывают моменты, когда сервис просто висит;

З.Ы. -k является причиной высокой латентности

они бы СУЩЕСТВЕННО облегчили жизнь людЯм, если б:

1. при перезапуске (или запуске) сервиса dbremote сохранялась инфа, о том что закачено и начинать проверку очереди с момента прекращения работы;
2. сделать что-то вроде реинициализации, когда задается промежуток времени, спустя который, если по каналу dbremote не принял ни одного байта, проиходит новое подключение. Причем количество подключение до "выполнение завершено" задается админом.

Просто странно, что они до сих пор фигней маются
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33228355
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рыжий КотASCRUS,
так вот есть 2 момента:
1. может наступить такой момент, что чтобы прокачать все сообщения часа не хватит; полУчите бесконечный цикл

У меня вообще то FTP сервер по отношению к консолидированной БД на локалке висит и как я получу бесконечный цикл что то не понимаю. Ну бывает локалка мин на 5 просела раз в пару дней, чего бы это вдруг ей времени все сообщения прокачать не хватит ?

Рыжий Кот2. бывают моменты, когда сервис просто висит;
З.Ы. -k является причиной высокой латентности
Вот как раз с параметром -k и не висит. Моделировали различные ситуации, четко останавливается и через событие потом поднимается. Плюс на случай других ошибок задействована опция вызова ХП на ошибки репликации, которая автопилотом рассылает уведомления с текстом ошибок админам текущего узла. Насчет латентности честно говоря не понял.

Рыжий Котони бы СУЩЕСТВЕННО облегчили жизнь людЯм, если б:
1. при перезапуске (или запуске) сервиса dbremote сохранялась инфа, о том что закачено и начинать проверку очереди с момента прекращения работы;
2. сделать что-то вроде реинициализации, когда задается промежуток времени, спустя который, если по каналу dbremote не принял ни одного байта, проиходит новое подключение. Причем количество подключение до "выполнение завершено" задается админом.

Просто странно, что они до сих пор фигней маются
Тут не попишешь, их много просят об этом, может в 10-ке и сделают, а может и не сделают ;)

По поводу предложенного решения - если в событие не просто вызывать утилиту запуска сервиса, а получать ее ERRORLEVEL:
Код: plaintext
1.
DECLARE @Error int;
@Error = CALL xp_CmdShell('dbsvc.exe -u Сервис_SQLRemote', 'no_output' );
То случай, когда @error = 0 будет означать, что сервис был успешно запущен, то есть перед этим находился в остановленном состоянии. Соотвествующе можно опять же разослать по мылу уведомление о перезапуске сервера админимам, вывести сообщение в лог БД или еще чего нибудь сделать :)
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33228383
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас расскажу про бесконечный цикл:
все идет от лица базы :), у которой связь с фтп проседает постоянно.
на фтп скопилось скажем 5 МБ.
в результате скачки очередного файлика, выяснилось, что его checksum не то, т.е. получили message corrupted. А кто застрахован от этого?
значит оставшийся паровоз длиной 5 метров должен быть прокачан, чтобы dbremote понял, что надо сделать запрос о перепосылке, поскольку оставшиеся сообщения приняты не будут. А чтобы принять 5 метров по плохому каналу и чтобы dbremote не повис - нужно родиться в рубашке (причем не в одной).
а зависнуть dbremote может в ситуациях, которые сам повторить/смоделировать я не могу, но ему изредка действительно бывает плохо. Если б не сторонний шедулер...

Просто я уже накушался проблем и странно, что разработчики sybase до сих пор dbremote не доведут до ума. Может у них этим занимается совсем другая команда?
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33228396
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про латентность - мне нужно чтобы задержка в репликации была не более 2-3 минут. С -k этого трудно (почти невозможно) добиться
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33228408
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спустя какое-то время, когда эйфория от dbremote проходит, видны все огрехи.
Разработчикам нужно всего ничего, чтобы сделать из хорошего продукта блистательный. Что им мешает?
...
Рейтинг: 0 / 0
dbremote - Выполнение завершино
    #33228454
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рыжий КотСпустя какое-то время, когда эйфория от dbremote проходит, видны все огрехи.
Разработчикам нужно всего ничего, чтобы сделать из хорошего продукта блистательный. Что им мешает?
Ну у меня все проще - интервал репликации достаточно большой, консолидированная обращается к FTP через локалку, удаленные узлы работают в запуске репликации по требованию или раз в день автоматом. Плюс обьем данных небольшой идет, поэтому конечно же таких проблем не возникает и решение предложенное мною работает.

Ну а насчет "кто мешает" - нужно идти к ним на форум и долбить, долбить, долбить ... :)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / dbremote - Выполнение завершино
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]