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

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

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

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

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

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

не все так гладко: если сообщение пропущено, то он все скачает, потом до него допрет, что сообщение пропущено и от отошлет реквест, и только в следующий запуск он получит все сообщения. Причем при приеме может опять что-то потеряться :). Так что без nncron пока никак...
А что, разве работая сервисом он не так же будет засыпать на установленное время, как будет запускаться с такими же интервалами через событие ?
...
Рейтинг: 0 / 0
08.08.2005, 17:15
    #33206177
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbremote - Выполнение завершино
я хочу сказать, что работа и в режиме сервиса, и в режиме 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
08.08.2005, 18:56
    #33206400
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbremote - Выполнение завершино
Рыжий Котя хочу сказать, что работа и в режиме сервиса, и в режиме batch не спасает от очень плохой сети.
На самом деле без разницы :) Плохая сеть будет вмешиваться в обоих режимах, но в режиме сервиса ты этого не увидишь. Оно просто молча умрет и будет висеть :)

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

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

И еще ...
Стоит посмотреть в сторону ключей -rd и -rs.
По крайней мере для СМТП замечено, если -rd стоит более минуты, то агент отключается от сервака, а затем подключается снова для очередного сеанса приемки. Если по умолчанию - то он держит соединение постоянно и если соединение пропало, то возникает проблема.
Если есть возможность, то с помощью этих ключиков можно избежать проблем с кратковременным пропаданием коннекта. (ИМХО)
...
Рейтинг: 0 / 0
22.08.2005, 16:05
    #33228270
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbremote - Выполнение завершино
Возвращаясь к вопросу. У нас репликация идет через 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
22.08.2005, 16:15
    #33228305
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbremote - Выполнение завершино
ASCRUS,
так вот есть 2 момента:
1. может наступить такой момент, что чтобы прокачать все сообщения часа не хватит; полУчите бесконечный цикл
2. бывают моменты, когда сервис просто висит;

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

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

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

Просто странно, что они до сих пор фигней маются
...
Рейтинг: 0 / 0
22.08.2005, 16:30
    #33228355
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbremote - Выполнение завершино
Рыжий Кот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
22.08.2005, 16:39
    #33228383
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbremote - Выполнение завершино
сейчас расскажу про бесконечный цикл:
все идет от лица базы :), у которой связь с фтп проседает постоянно.
на фтп скопилось скажем 5 МБ.
в результате скачки очередного файлика, выяснилось, что его checksum не то, т.е. получили message corrupted. А кто застрахован от этого?
значит оставшийся паровоз длиной 5 метров должен быть прокачан, чтобы dbremote понял, что надо сделать запрос о перепосылке, поскольку оставшиеся сообщения приняты не будут. А чтобы принять 5 метров по плохому каналу и чтобы dbremote не повис - нужно родиться в рубашке (причем не в одной).
а зависнуть dbremote может в ситуациях, которые сам повторить/смоделировать я не могу, но ему изредка действительно бывает плохо. Если б не сторонний шедулер...

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

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


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