|
Sybase
|
|
|
|
|
Продукты
|
|
|
|
|
Сообщества
|
|
|
|
|
Меню
|
|
|
|
|
Вход
|
|
|
|
|
Рассылка
|
|
|
|
|
Статистика
|
|
|
|
|
Первые вопросы
|
Первые вопросыВопросы
1. В чем разница между SQL Remote и DBRemote?
2. Можно ли настроить репликацию без dbxtract?
3. А что случится если во время сеанса репликации произойдет обрыв связи?
4. Настраиваю репликацию по FTP, в документации предлагается записать пароль доступа к FTP в регистри, это же кто угодно может прочитать?!
Ответы
1. В чем разница между SQL Remote и DBRemote?
Читая сообщения в различных конференциях посвященным репликации в Sybase базах, часто можно встретить упоминания об SQL Remote и DBRemote. Возникает вопрос, а почему два названия для вроде бы одного и того же? SQL Remote это название технологии репликации при помощи сообщений. А DBRemote это название программы реализующей эту технологию (dbremote.exe).
2. Можно ли настроить репликацию без dbxtract?
Да, можно. На самом деле, в реальной жизни dbxtract даже не рекомендуется. Дело в том, что dbxtract создает удаленную базу на основе списка таблиц перечисленных в публикации. А если в удаленную базу надо отдать еще и набор таблиц справочников? А если удаленная база будет участвовать в нескольких подписках одновременно? Так что лучше всего делать удаленную базу на основе ручного создания. Достаточно проследить за тем, чтобы структура таблиц участвующих в репликации совпадала между двумя базами. А когда ‘пустая’ удаленная база готова запускаем собственно репликацию.
Дальнейшие примеры предполагают что у вас уже существует работающая репликация с несколькими базами, а сейчас мы вручную создаем еще одну удаленную базу. Практически все эти команды делает dbxtract.
a) Сначала на консолидированной базе создаем виртуального пользователя который будет ‘отвечать' за всю работу с удаленной базой. Этому пользователю, кстати, не обязательно иметь возможность подключаться к консолидированной базе напрямую.
grant connect to SiteA;
b) Даем только что созданному пользователю аттрибут ‘удаленный пользователь’ и говорим что все общение с ним будет идти по протоколу FTP, а файлы с сообщениями для него надо будет класть в каталог ‘SiteA’.
grant remote to SiteA type FTP address ‘SiteA’;
c) И наконец подписываем этого пользователя на публикацию. Одновременно указывая что отправлять ему надо будет не все содержимое таблиц, а только часть
start subscription to OrdersPublication(‘SiteA’) to SiteA;
Консолидированная база готова. Далее работаем с удаленной базой:
a) Создаем пользователя ‘владельца’ базы
grant connect to SiteA;
b) Объявляем его владельцем
grant publish to SiteA;
c) Создаем пользователя, владельца консолидированной базы и даем ему соответсвующие права
grant connect to HQ;
grant consolidate to HQ type FTP address ‘HQ’;
d) Теперь осталось только подписать пользователя HQ на публикацию:
start subscription to OrdersPublication(‘SiteA’) to HQ;
3. А что случится если во время сеанса репликации произойдет обрыв связи?
Ничего страшного, не произойдет. dbremote при закачке сообщения пишет его сначала во временный файл с именем ".RemoteUserId" по окончании закачки этот файл переименовывается по шаблону "RemoteUserId.MessageNumber". Соотвественно если произошел сбой связи, то не досланное сообщение пойдет снова и затрет следы от предыдущей неудачной посылки.
4. Настраиваю репликацию по FTP, в документации предлагается записать пароль доступа к FTP в регистри, это же кто угодно может прочитать?!
dbremote читатет реестр только один раз - если оно не нашло настроек подключения к ftp в базе. Если же не найдено настроек ни в базе, ни в реестре - dbremote откроет диалоговое окно в котором можно будет указать все нужные настройки. Последующее изменение этих настроек надо будет делать уже через dbisql командами типа:
set remote FTP option host = 'ftp.my_new_ftp.com';
set remote FTP option password = 'MySuperPassword';
Маленькое резюме - в реестр лазить не нужно! Не смотря на то что написано в документации :)
Обратите внимание, что в самой базе этот пароль хранится в открытом виде, его можно посмотреть через:
select * from SYS.SYSREMOTEOPTIONS;
|
Дата публикации: Monday 27 March 2006 19:34:54 Материал прочитан: 11701 раз(а) [ Назад ] |
|
|
|
|
|
|
Copyright©2005 . Все права защищены.
|