|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
Привет всем! У меня вопрос. Возможно ли настроить автоматическую репликацию через модем (желательно через TCP/IP, но можно и без него) для двух anywhere (8.0) по расписанию. Т.е. заполняется база пользователями на одной стороне, а каждые n часов БЕЗ ИХ вмешательства модем сам поднимает трубку дозванивается, происходит репликация, затем дисконнект. P.S. Lotus notes это умеет. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2003, 15:39 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
можно осуществлять репликацию через SMTP, MAPI, FTP или непосредственно через файлы ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2003, 17:51 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
2 -Timka- Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2003, 21:07 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
2 c127; если не трудно, пожалуйста, объясните, как этого достичь... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2003, 21:42 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
Задача состоит из двух частей: репликация и разговор между машинами для передачи данных. ASA занимается только репликицией, как машины разговаривают между собой его не волнует. Часть 1. Репликация настраивается в базе данных и выполняется утилитой dbremote. Если репликация уже настроена, то единственное что осталось сделать это заставить dbremote отрабатывать раз в n часов. Есть несколько способов. 1) запускать dbremote периодически стедствами OS; 2) запустить dbremote как демон (ключ -ud в UNIX, в винде тоже вроде есть аналог, я не помню) и сказать ему отабатывать каждые n часов; 3) настроить event в БД и из него запускать dbremote; Возможно методы 2 и 3 это одно и то же. Я использовал только метод 1, все работает, это по-моему это самый простой способ. Часть 2. Можно настроить почтовый клиент, например UUPC в NT, можно написать свю звонилку, это не очень сложно. Если репликация настроена как SMTP, то почтовый клиент автоматичеси заберет/примет реплицируемые данные. Наверное это самый простой способ. Если репликация настроена через файлы (shared file link), то нужно делать дополнительные усилия, чтоб они ушли/пришли и легли в нужное место. По-моему тут тоже можно обойтись средствами NT (в UNIX точно можно), например через через отшареные директории, без написания дополнительных программ. Есть третий вид репликации - через лотусовский протокол (VIM). Если лотус у вас насторен и работает, то это возможно лучшее решение, но я им никогда не пользовался, ничего не могу сказать. Вот выдержка из хелпа: Just as session-based client/server applications rely on network communication protocol stacks, such as TCP/IP or Novell NetWare's SPX, so message-based applications rely on message services such as Internet Simple Mail Transfer Protocol (SMTP), Microsoft's Messaging API (MAPI), Lotus' Vendor Independent Messaging (VIM), or a simple shared file link. В любом случае нужно смотреть командную строчку dbremote и настройку репликаций в базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2003, 00:36 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2003, 10:55 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
Да, возможно. Если базы под разными серваками и не в одной локалке - самое простое - через SMTP (e-mail). Приблизительная схема (если базы одинаковые или одна часть другой (структуры одинаковы)) 1. Создаешь пользователя и делаешь его "Publisher", заполняешь "Message Type" 2. В базе создаешь пользователя и делаешь его "Remote User" (указываешь SMTP и его e-mail) 3. Создаешь "Publication" (правила пересылки данных) 4. Подписываешь пользователя на публикации ("Subscriptions") 5. Выгружаешь базу ("extract") 6. Настраиваешь "dbremote" усе. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2003, 00:30 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
ОГРОМНОЕ СПАСИБО ВСЕМ...))))) уже что-то заработало. Использую для синхронизации VIM. у меня остался один вопрос. если несколько баз крутится на сервере, то как я понял используется несколько портов. как мне указать dbremote, что порт другой? -c "uid=DBA;pwd=SQL;dbn=db2" - это пример моей строки... какмне указать что порт, например 30000? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2003, 15:19 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
Уточни вопрос. Какой именно порт, зачем он тебе нужен? База имеет имя и dbremote получает к ней доступ по имени сервера и имени базы, порты его на данном этапе не интересуют: -c "eng=myserver;dbn=field;uid=sa;pwd=sysadmin" Хотя по-моему в командной строчке сервера можно указать, какие порты он слушает, но с базами они напрямую не связаны. Возможно порты требуются позже при конфигурации VIM, но я с ним не работал, не могу помочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 04:07 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
Вобщем, не бейте меня ногами ))) Просто я запустил как бы 2 engine - два сервиса (в каждом по одной базе), соответственно образовалось 2 порта, причем первый 2638 (стандарт), а второй 41ххх, ну так вот.... поменять номер порта у сервера можно -x TCP(port=xxxx) А вот dbremote к серверу, у которого порт не 2638, не коннектится... ну вот я и подумал, что нужно dbremote указать номер порта. На текущий момент у меня нет проблем, так как я эту глупость с двумя сервисами убрал, но вопрос как бы остался... - т.е. как указать dbremote тот сервис (тот сервер с базой), который нуна обрабатывать. P.S. кривоватость рук не сбрасывать со счетов )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 09:37 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
))) Все работает ))) остался последний момент... Данные синхронизируются в обе стороны с задержкой в n минут... НО если на обоих машинах создаются строки с одинаковым первичным ключом в этот промежуток времени, то строки не обмениваются между собой... Это конфликт? придется использовать глобальные идентификаторы? т.е. например создались строки на обоих БД c полем id = 5. Значения остальных полей так и остаются не изменными. Я бы просто хотел узнать как обычно следует поступать в таких случаях... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 10:33 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
Да, можно использовать GUID, можно свои создавать, можно составные ключи... вариантов масса... выбирай, какой нравиться. ASA заботу об ID оставляет за разработчиком. Кстати, совет: лучше не используй Increment, если собираешься потом работать с ASE (или другим старшим братом) для центрального хранилища - сам генери ID в таком случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 13:29 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
Траблы начались... ))) dbremote пашет, только почему-то только при старте СЕРВИСА DBREMOTE пересылаются обновления....позже сообщения накапливаются в ящике и не применяются пока не рестартишь сервис dbremote. Хотя сервис живой - прогрессбар двигается. После рестарта сообщения из ящика пропадают, т.е. "применяются". Но это не то... Может я какой ключик забыл поставить... вот строчки: -c "dbn=db1;uid=dba;pwd=sql" -rd 3s ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 16:23 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
2 -Timka- >Данные синхронизируются в обе стороны с задержкой в n минут... НО если на обоих машинах создаются строки с одинаковым первичным ключом в этот промежуток времени, то строки не обмениваются между собой... Это конфликт? Все правильно, это конфликт, в документации он рассмотрен. Стандартный способ решения - использование global autoincrement, ему можно так указать промежуток ключей в каждой БД, что они не будут дублироваться. А как тебе удалось дбремотом присоединиться к енжину, он вробе бы работает только с сервером? Запусти один сервер на 2 БД и проблемы с портами должны решиться. Запускай dbremote как scheduled task, все будет работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 22:50 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
-- Запускай dbremote как scheduled task, все будет работать. Это у меня такие проблемы? Просто хотелось бы чтоб работало как сервис... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2003, 12:24 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
Как сервис не запускал, ничем не могу помочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2003, 02:19 |
|
Возможно ли такое. репликация.
|
|||
---|---|---|---|
#18+
1. Конфликты: у тебя "ремутный" лог ведется? если не ведется - настрой, что бы велся - там хорошо видно, что применяется, а что нет. 2. -rd - это какой-то ключ про задержку, факт. Ща поставлю ASA, посмотрю, что он значит. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2003, 08:47 |
|
|
start [/forum/topic.php?fid=55&msg=32260218&tid=2014846]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
151ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 234ms |
total: | 485ms |
0 / 0 |