|
|
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
ASA 9.0.0 build 1108 одна база консолидированная, две удаленные. две удаленные одинаково не получили одни и те же данные, но дальше репликация продолжается уже пошел за патчем (build 1312): авторAny transactions applied with a connection, say X, may not be replicated by SQL Remote in the next replication, if the message receiving thread (or phase) of SQL Remote had received, applied, and committed all the incoming messages on connection X and the online transaction log was renamed before connection X was terminated. This has now been fixed. Как бы теперь вопрос, кто как решает подобные проблемы? З.Ы. Стоит ли переезжать на 9.0.1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:42 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
ВАЙ ... ВАЙ ... ВАЙ не есть карашо с ехней стороны ... Смотря какие изменения не передались. Если INSERT ..., то надо в консолидированной эти данные удалить и снова вставить с теми же значениями. На удаленных удалаять будет нечего (ну ругнется там ремоут пару раз ...), зато новые вставятся. Если UPDATE ... , то соответственно надо повторить эти изменения. Другого выхода не вижу ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:40 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
ПереВставлять не пойдет - слишком сложная логика. Пока базы небольшие сделаю заново extract. Просто такая вещь как передача данных из лога в мессаги должна работать сверхнадежно, а тут такое... Вобщем разочарован... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:50 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
если лог не резался можно попробовать заново установить точку синхронизации для определенных юзверей ремоута, мне помогло и выгружать начал заново (правда на 8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 15:35 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
авторесли лог не резался можно попробовать заново установить точку синхронизации для определенных юзверей ремоута, Для этого нужно SYS таблицы править, надо под SYS логиниться. Locator, вы как-то писали, что вам это удалось. А как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 16:10 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
Рыжий КотКак бы теперь вопрос, кто как решает подобные проблемы? 1) Я брал бекапы удаленных баз сделаные ДО возникновения проблемы, и собственно говоря все. :) Дальше оно автоматом все перепошлет заново. 2) Не уверен, но может помочь команда Synchronize отданная на одном из концов репликации (не на обоих!). Тогда та база на которой выдана эта команда начнет перепосылать все начиная с ПОДТВЕРЖДЕННЫХ точек репликации. Если авария произошла слишком давно и подтверждение о наложении репликационных сообщений было после ошибки - synchronize не сработает. Рыжий КотЗ.Ы. Стоит ли переезжать на 9.0.1? я переехал, не жалею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 17:31 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
В данном случае под SYS не обязательно (т.к. этого можно достичь только создавая базу специфическим образом) реально Вам должно помочь следующее SYS.sa_setremoteuser ! и посмотрите еще SYS.sa_setsubscription их можно запустить из под DBA они делают необходимые апдейты Удачи ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 17:52 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
спасибо всем. пока наложу ebf, и отныне буду держать backup удаленных баз возрастом до 2-х недель (а может и больше) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 17:56 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
дык уже давно есть 9.0.1.1862, что ж вы на голеньком 9.0.0.1108 работаете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 18:30 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
побаиваюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:01 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
To synchronize a subscription, a copy of the data in the publication at the consolidated database is sent to the remote database. The SYNCHRONIZE SUBSCRIPTION statement does this through the message system. It is recommended that where possible you use the database extraction utility instead to synchronize subscriptions without using a message system. если подписка небольшая - поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 10:40 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
автор1) Я брал бекапы удаленных баз сделаные ДО возникновения проблемы, и собственно говоря все. :) Дальше оно автоматом все перепошлет заново. Я попробовал проиграть подобный сценарий. Вытащил remote базу 2-дневной давности и заменил. Запустил, теперь имею вот это: Код: plaintext 1. 2. Это повторяется уже больше часа. И похоже дело никуда не двигается. Если не трудно, проясните пожалуйста, что делать дальше? dbremote сканирует раз в минуту, публикация высылает обновления также раз в минуту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 13:08 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
Вряд ли "перепослать" получится. Смотрите сами: ремотная база 2-х дневной давности считает, что должна отправлять данные со смещения, допустим, 100. В это же время конс. база имеет подтверждения получения данных от этой ремотной со смещения, допустим, 120. Таким образом, ремотная отправить данные со смещения 120 не может, ибо их в ней ЕЩЕ НЕТ. Конс. соответственно, будет ждать со смещения 120, а получать от ремотной со смещения 100, а они у нее уже есть=>она будет посылать пакеты "давай со 120, зараза! че ты всякое старье шлешь". В общем, ничего не должно получиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:04 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
2 mustlive, согласен, что интересно ответит White Owl на это. Может тогда стоит изменить точку в консолидированной базе? Просто не знаю как это делается. То есть глобальный вопрос стоит так: Как мне быстро восстановить систему в случае отказа винта на удаленной базе, например. Заново выгружать базу не хочется :(. Подразумевается что есть в наличии N-дневый backup базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:31 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
L0cat0r если лог не резался можно попробовать заново установить точку синхронизации для определенных юзверей ремоута, мне помогло и выгружать начал заново (правда на 8) Не подскажете как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 14:50 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
Единственное, что приходит на ум - накатить на бэкапные базы все логи, которые образовались после бэкапа (надеюсь, лог режешь, не ведешь один длинный - предлинный), причем на обоих сторонах, и попытаться засинхронизироваться через репликацию. Я вот до сих пор не могу понять, для чего нужен SYNCHRONIZE SUBSCRIPTION если он фактически не работает, т.е. не выполняет поставленной задачи засинхронизировать базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 15:16 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
авторТо есть глобальный вопрос стоит так: Как мне быстро восстановить систему в случае отказа винта на удаленной базе, например. Наверное, в этом случае поможет только "зеркалка". И резервный блок питания на сервере на всякий случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 15:20 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
авторЕдинственное, что приходит на ум - накатить на бэкапные базы все логи, которые образовались после бэкапа (надеюсь, лог режешь, не ведешь один длинный - предлинный), причем на обоих сторонах, и попытаться засинхронизироваться через репликацию. Это конечно вариант, но нет гарантий, что лог останется целым... Все-таки вариант с точкой (offset) мне больше понравился. Зеркало купили только на консолидированную, больше не дают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 15:35 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
2 mustlive а с чего взяли что SYNCHRONIZE SUBSCRIPTION не выполняет поставленной задачи засинхронизировать базы? эта команда удаляет все данные с удаленной базы и заливает наново с центральной. полная сихронизация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 16:28 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
Не совсем корректно выразился. Хотел сказать, что если можно было бы всегда сделать синхронизацию двух баз, это было бы здорово. А вариант, предлагаемый этой командой, мало применим на практике. Уж проще базу заново вылить :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 17:23 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
У меня просьба, не мог бы кто-нить из присутствующих показать пример с использованием. SYS.sa_setremoteuser ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 17:41 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
Рыжий Кот2 mustlive, согласен, что интересно ответит White Owl на это. Может тогда стоит изменить точку в консолидированной базе? Просто не знаю как это делается. Чего отвечу, чего отвечу... Я отвечу: А вот теперь и дай команду Synchronize на удаленной базе. Тогда она потребует от консолидированной убить все изменения сделанные между 100 и 120, и откатить до точки 100. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 20:19 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
Рыжий Кот L0cat0r если лог не резался можно попробовать заново установить точку синхронизации для определенных юзверей ремоута, мне помогло и выгружать начал заново (правда на 8) Не подскажете как? Первичная точка синхронизации устанавливается в момент выдачи коман: grant connect to SomeUser; grant remote .... to SomeUser; Дальше объяснять? :) То есть если ты уверен что базы сейчас синхронизированы по данным (любым способом), то просто убиваешь удаленных юзеров на обоих концах. Создаешь их заново (точки синхронизации обнулены). Стартуешь подписку и с первого же сеанса точки синхронизации будут установленны в текущие значения лога. В промежутке можно даже логи поубивать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 20:24 |
|
||
|
Репликация. Слегка разошлась
|
|||
|---|---|---|---|
|
#18+
[quot Рыжий Кот]У меня просьба, не мог бы кто-нить из присутствующих показать пример с использованием. SYS.sa_setremoteuser sa_setremoteuser правит данные в SYS.SYSREMOTEUSER в которой хранятся точки смещения лога, от них отталкивается ремоут для баз, задествованных в репликации (по remote user). 1. Выгрузить(переписать) содержимое этих таблиц обеих баз. 2. Создать посылку допустим от удаленной базы. 3. Запускаем принятие ее в консолидированной с логированием в файл. смотрим на ошибку видим точку смещения, которую передает удаленная, и которую требует консолидированная знакомимся с структурой SYSREMOTEUSER - названия достаточно информативны и видим эти точки. Смотрим текст sa_setremoteuser, определяемся, что и какими параметрами он апдейтит. Для того, чтобы правильно определить точку смещения, которую можно использовать надо ретранслировать лог. здесь самое главное то, что на этой точке д.б. COMMIT ! если точка в удаленной базе более поздняя - ищем в логе точку, которая хранится в консолидированной (более раннюю) если на ней COMMIT - то используя setremoteuser выставляем в удаленной значение консолидированной : при создании посылки он оттолкнется от нее и выгрузит по новой данные. если не COMMIT - то придется искать ближайший commit, руками вносить(удалять) изменения / в логе это видно / и править соответствующие точки уже в двух базах на разборку со всем этим у меня ушло около часа и это сработало. Не знаю, сколько бы сливал/синхронизировал 1G оперативки с 3G консолидированной .. а еще хранилище . Удачи ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2004, 10:43 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=122&tid=2014420]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 367ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...