|
|
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
В репликации dbRemote 2 БД на 9.0.2.3249, через FTP с интервалом 2 минуты. В базах данные "разъехались", в логах dbRemote нет ни ошибок, ни предупреждений. Протранслировал логи БД (без триггеров) - выяснилось что в удаленной БД был update (3) которого нет в центральной! (1) вставка данных в центральной, это уезжает в удаленную (2) изменения данных в удаленной, приезжает в цетральную (3) это приезжает по репликации в удаленную БД, но в центральной БД этого нету! Как такое может быть? Может я что-то неправильно делаю? Заранее спасибо. PS: dbRemote запускается под DBA в подписках нет никаких условий Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2006, 12:29 |
|
||
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
1) Как настроена данная таблица в публикациях в каждой точке? Поля, условия? 2) Реплицируются ли действия триггеров? Если да, то текст триггеров на эту таблицу надо посмотреть. 3) Если есть триггеры конфликтов в консолидированной базе на этой таблице, то в них тоже не помешает посмотреть. Просто так Update прийти не может. А вообще как-то интересно у вас поле DocStatus обновляется везде. Сначала = 3 и тут же равно 1? Или такая бизнес-логика хитрая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2006, 12:51 |
|
||
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
1) Все поля, без условий 2) тригеры не реплицирутся - они одинаковы в обеих БД, (а что их смотреть, еслиб (3) был сгенерировал в тригере, то он бы в отранслированный лог БД не попал бы) 3) нет таких А вообще как-то интересно у вас поле DocStatus обновляется везде. Сначала = 3 и тут же равно 1? Или такая бизнес-логика хитрая? Это пользователи такие хытрые :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2006, 13:26 |
|
||
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
проверьте тщательно логику триггеров (может даже стоит сделать отдельные две базы через реплику), когда-то у меня тоже такое было, думал, что ASA виновата... дело в том, что в insert или update уже передаются поля со значениями, которые вы думаете, будут вычислены на месте, а их уже посчитали и отправили... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2006, 13:35 |
|
||
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
Т.е. я так понимаю, что в результате DocStatus в консолидированной равен 1, а в удаленной 3? А это поле DocStatus могут править одновременно в разных точках в одном документе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2006, 13:45 |
|
||
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
Рыжий Котпроверьте тщательно логику триггеров (может даже стоит сделать отдельные две базы через реплику), когда-то у меня тоже такое было, думал, что ASA виновата... дело в том, что в insert или update уже передаются поля со значениями, которые вы думаете, будут вычислены на месте, а их уже посчитали и отправили... К последнему присоединяюсь. Передаются именно значения, которые записались в базу после всех возможных вычислений!!! Т.е. на другом конце уже вычислять ничего не надо в триггере, если только Вы в другие таблицы ничего не пишете на основе этих данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2006, 13:50 |
|
||
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
Про репликацию Before тригеров и проверки "IF CURRENT REMOTE USER IS NULL ..." я в курсе. Так и сделано, но я обязательно это еще раз проверю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2006, 14:26 |
|
||
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
ASA 9.0.2.3778 SQL Remote У меня возникла аналогичная проблема(((((((( В удаленной БД был update, который почему-то не передался в консолидированную БД Система работает несколько месяцев, данные передаются, и подобных проблем не было… Лог консолидированой БД Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. Лог удаленной БД Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 11:40 |
|
||
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
Привет. Это не последний update не передался, а еще раз накатился первый (из листинга) update Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. а т.к. в лог пишется только ИЗМЕНЕНИЯ, то и записалась транзакция как Код: plaintext 1. 2. 3. Это баг в ASA, имхо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 18:44 |
|
||
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
МарсельПривет. Это не последний update не передался, а еще раз накатился первый (из листинга) update хм... а как это так? какие могут быть причины возникновения такой ситуации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2009, 00:28 |
|
||
|
ASA9: репликация dbRemote
|
|||
|---|---|---|---|
|
#18+
Все просто, при каких-то условиях, dbremote ошибочно вставляет в отправку первую транзакцию (?) из присланых удаленной БД (может быть что-то с неправильным расчетом смещения). Можно конечно найти в чем причина, открыть кейс и пусть исправляют. Но по опыту исправления похожей ошибки в Mobilink скажу - лучше забить :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2009, 15:25 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33641203&tid=2010831]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 501ms |

| 0 / 0 |

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