powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
18 сообщений из 18, страница 1 из 1
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33142820
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача: находясь рядом с удаленной базой сделать несколько вставок в одну из ее таблиц, участвующую в репликации, таким образом, чтобы эта вставка не передалась в консолидированную. При этом не допускается останка репликации. Как это лучше сделать?
Смотрю в сторону PASSTHROUGH ONLY FOR user_id, но смущает следующее:

BOL
If the ONLY keyword is used to start passthrough mode, the statements are not executed at the server; they are sent to recipients only.


Т.е. он предназначен для отправки изменения в другую базу без применения к локальной? А мне нужно наоборот.
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143016
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LOAD TABLE не пойдет?

BOLInserts are not recorded in the log file. Thus, the inserted rows may not be recovered in the event of a crash. In addition, the LOAD TABLE statement should never be used in a database involved in SQL Remote replication or databases used as MobiLink clients because these technologies replicated changes through analysis of the log file.


...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143130
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рыжий Кот пишет:
> LOAD TABLE не пойдет?

страшновато. надо проверять.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143140
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
off: для чего это все понадобилось? репликация слегка разъехалась?
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143232
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рыжий Кот пишет:
> off: для чего это все понадобилось? репликация слегка разъехалась?

Именно. Воткнул новую таблицу в подписку (пустую). А точнее даже две -
шапка и строчки документа типа накладной. Но в удаленной базе забыл
убрать с нее FK на таблицу, которая хоть и присутствует, но не
реплицируется и вообще пустая. Ладно, проблему решил с консолидированной
базы, удалив и вставив по новой введенные данные.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143268
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Именно. Воткнул новую таблицу в подписку (пустую).

Имелась в виду пустая таблица, а подписка была очень даже не пустая.

Кстати, еще вопрос на засыпку. Если отправить изменения через
PASSTHROUGH ONLY FOR user_id, то сработают ли в получившей базе
триггера, обернутые в IF CURRENT REMOTE USER IS NULL ... END IF?
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143388
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не уверен, но наверное нет,
поскольку все изменения все равно применяются от имени remote user-а (который remote dba).
Хотя если в dbremote прописать uid равным dba, то может и да... не знаю :)
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143880
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Гoлдун
> LOAD TABLE не пойдет?
страшновато. надо проверять.

А чего страшно то? LOAD TABLE официально не реплицируемая операция. В документации это упомянуто.
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143881
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рыжий Кот пишет:
> поскольку все изменения все равно применяются от имени remote user-а
> (который remote dba).
> Хотя если в dbremote прописать uid равным dba, то может и да... не знаю :)

Кстати, вот еще вопрос по ходу (надоело самому отвечать, я тоже не все
знаю ;)

Я в строке подключения dbremote везде dba использую. Чем это плохо? Оно
и в примерах в BOL везде так. В качестве паблишеров и удаленных юзеров,
естественно, используются отдельные пользователи.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143885
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунЯ в строке подключения dbremote везде dba использую. Чем это плохо? Оно и в примерах в BOL везде так.
Плохо тем, что юзер может залезть в скрипт/ярлык/чего-там еще запуска dbremote и подсмотреть пароль DBA :)
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143890
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl пишет:

>> Я в строке подключения dbremote везде dba использую. Чем это плохо? Оно
>> и в примерах в BOL везде так.

> Плохо тем, что юзер может залезть в скрипт/ярлык/чего-там еще запуска
> dbremote и подсмотреть пароль DBA :)

И все? Больше ничем? На хитрых юзеров есть нормальные сисадмины. А если
фирма без сисадмина и юзеры имеют доступ ко всем скриптам, то dbfhide
заметно усложнит задачу получения пароля. Хоть и не сильная
криптография, но что-то я не слышал про распространенные утилиты
расшифровки.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143894
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, dbremote должна иметь доступ до некоторых системных функций и таблиц. Простой юзер dbremote запустить не сможет.
Но можно поиграться с grant и сделать специального юзера для запуска репликации... А можно сделать отдельного юзера, и дать ему dba права (с теми же проблемами секьюрити что и при прямом использовании dba).
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33143980
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нынче пользователь пошел шибко грамотный, поэтому предпочитаю использовать только логин/пароль, основанный на атрибутах remote user-а.

...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33144695
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобще-то с помощью PASSTHROUGH ONLY FOR user_id данные не передашь. Она предназначена только для внесения изменения в структуру базы, а не в данные. Система тебя обругает если ты между PASSTHROUGH ONLY FOR user_id и PASSTHROUGH STOP поставишь комманду типа INSERT,UPDATE,DELETE.
А вот FK в удаленной снести не трогая консолидированную PASSTHROUGH ONLY FOR ... PASSTHROUGH STOP очень даже и подходит.

А на счет юзера для агента - создай в базе полностью бесправного юзера, установи ему аттрибут RemoteDBA и пусть после этого хитрые юзера и админы подсматривают его пароль. :) Они смогут на него разве что полюбоваться, а когда DBRemote будет входить под его именем, то он на время сеанса его работы получит права ДБА.
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33144733
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulJB пишет:
> Вобще-то с помощью PASSTHROUGH ONLY FOR user_id данные не передашь. Она
> предназначена только для внесения изменения в структуру базы, а не в
> данные. Система тебя обругает если ты между PASSTHROUGH ONLY FOR user_id
> и PASSTHROUGH STOP поставишь комманду типа INSERT,UPDATE,DELETE.

С чего бы это вдруг? В PASSTHROUGH режиме просто без изменений
передаются ВСЕ SQL запросы. По крайней мере я таким образом без проблем
передавал CALL ProcedureName(....)

> А на счет юзера для агента - создай в базе полностью бесправного юзера,
> установи ему аттрибут RemoteDBA и пусть после этого хитрые юзера и
> админы подсматривают его пароль. :)

Да у меня то проблемы подсматривания паролей нет. Конфигурационные файлы
шифруются как средствами ASA, так и ОС. Но за идею спасибо, можеть
пригодиться. Как-нибудь на досуге проверю.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33144795
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Александр Гoлдун
>С чего бы это вдруг? В PASSTHROUGH режиме просто без изменений
>передаются ВСЕ SQL запросы. По крайней мере я таким образом без проблем
>передавал CALL ProcedureName(....)

Хм ... странно ... У меня АСА 9.0.2.3124 ругалась: (ща точно не помню) мол вы не можете использовать комманду UPDATE ... (у меня в скрипте только она стояла) между PASSTHROUGH FOR ... PASSTHROUGH STOP. Может CALL Procedure и можно. Спасибо - проверим.

Про юзера: я забыл указать, что у него надо оставить только RemoteDBA, а DBA и Resource надо убрать, ибо сюрприз не получится. :)
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33144825
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulJB пишет:

> Про юзера: я забыл указать, что у него надо оставить только RemoteDBA, а
> DBA и Resource надо убрать, ибо сюрприз не получится. :)

Прочитал про Remote DBA. Но это не сильно поможет. В файле конфига для
dbremote кроме логина и пароля есть еще ключик -ek с ключом шифрования
базы. А это почувствительнее будет в плане информационной безопасности.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
    #33144897
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунПрочитал про Remote DBA. Но это не сильно поможет. В файле конфига для
dbremote кроме логина и пароля есть еще ключик -ek с ключом шифрования
базы. А это почувствительнее будет в плане информационной безопасности
ИМХО мы наверно говорим о разных вещах ... :)
Я имел в виду то, что если вы запускаете агента ВАТ-файлом, то в этом файле можно прочитать имя юзера и его пароль, а затем попытаться подключиться с его помощью к базе (например централом) с вытекающими из этого последствиями. В любом случае ключ шифрования (-ek) вы тоже будете вынуждены там указать. Указывая в ВАТ-файле (да даже и в теле программ) юзера с правами ДБА вы довольно серьезно рискуете.
А вычитать аттрибуты юзеров из файла базы - нууу это надо постараться. :)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 8. Выполнение нереплицируемых ЛОКАЛЬНЫХ изменений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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