|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Пытаюсь настроить синхронную репликацию для Firebird 4.0 Beta1 1) Останавливаю Firebird на мастере (Win64) и реплике (Win32). 2) редактирую replication.conf на стороне мастера: Код: plsql 1. 2. 3. 4. 5.
replication.conf со стороны реплики оставляю по умолчанию, кроме строки verbose_logging = true 3) Копирую master.fdb на сервер реплики, переименовываю в replica.fdb и выполняю команду gfix -replica read_only e:\baza4\REPLICA.fdb -user SYSDBA -pass masterkey 4) Стартую Firebird на реплике 5) Стартую Firebird на мастере 6) Вношу изменения на мастере, завершаю транзакцию. На реплике изменений нет, в replication.log пусто. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 13:18 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Плагин репликации не принимает псевдонимы - только абсолютные имена файлов. Соответственно, сейчас реплика не может работать с "DatabaseAccess = None". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 14:23 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRasta, попробуй в sync_replica неправильную строку коннекта ввести. Если database = e:\baza4\master.fdb правильно указан ругань должна начаться при подтверждении транзакции на мастере ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 14:24 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Basil A. SidorovПлагин репликации не принимает псевдонимы - только абсолютные имена файлов это касается только конфига. У него там полное имя (e:\baza4\master.fdb). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 14:37 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Симонов Дениспопробуй в sync_replica неправильную строку коннекта ввести. Если database = e:\baza4\master.fdb правильно указан ругань должна начаться при подтверждении транзакции на мастере ругаться (в лог) будет сразу при коннекте к мастеру ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 14:40 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dimitrэто касается только конфига. У него там полное имя (e:\baza4\master.fdb).А в строке подключения - псевдоним. Который ничему не соответствует в replication.conf реплики. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 14:42 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Basil A. SidorovА в строке подключения - псевдоним. Который ничему не соответствует в replication.conf реплики. Во-первых, для синхронной репликации настройки в replication.conf на стороне реплики вообще не нужны, они тупо игнорируются. Во-вторых, коннект по алиасу должен отлично работать. В конфиге база ищется после преобразования алиаса в полное имя. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 14:44 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRastaНа реплике изменений нет, в replication.log пусто replication.log на стороне мастера тоже пустой? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 14:45 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dimitrdedRastaНа реплике изменений нет, в replication.log пусто replication.log на стороне мастера тоже пустой? Да, пустой. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 15:53 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Нашел ошибку - в пути к БД мастера (копипаст окаянный). После этого на мастере в replication.log полезли ошибки, но это уже другая песня. Когда разбирался с Pooling of External connections, сделал запись из мастера в другую БД по триггеру. вот и получилось: MASTER (origin) Wed Mar 27 16:07:59 2019 Database: d:\Baza4\MASTER.FDB ERROR: Execute statement error at isc_dsql_execute2 : 335544361 : attempted update during read-only transaction 335544842 : At procedure 'SP_WRITE_CHG_CONN' line: 20, col: 1 Т.е. триггеры в реплике во время репликации в read_only реплику срабатывают тоже в read-only transaction. Завтра их уберу и буду дальше смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 16:41 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dimitrВо-первых, для синхронной репликации настройки в replication.conf на стороне реплики вообще не нужны, они тупо игнорируются. Во-вторых, коннект по алиасу должен отлично работать. В конфиге база ищется после преобразования алиаса в полное имя.В вырожденном случая мастера и ведомого на одном хосте оно работает "как-то не так". Но я ещё посмотрю повнимательнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 17:49 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRastaТ.е. триггеры в реплике во время репликации в read_only реплику срабатывают тоже в read-only transaction. Завтра их уберу и буду дальше смотреть. триггера уровня таблицы в реплике вообще не срабатывают. Триггера уровня БД (ON CONNECT и т.п.) срабатывают, но не имеют права писать в [свою] базу. При желании в них можно это условно "загасить" через проверку RDB$GET_CONTEXT('SYSTEM', 'READ_ONLY'). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 19:21 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Репликация вроде пошла, но полезли ошибки. Создал пустую БД. При попытке выполнить на мастере любой DML запрос Код: plsql 1.
или Код: plsql 1. 2. 3. 4. 5.
получаю MASTER Thu Mar 28 15:09:55 2019 Database: d:\Baza4\test.FDB Replication is stopped due to critical error(s) Replication error Dynamic SQL Error SQL error code = -104 Unexpected end of command - line 1, column 1 Когда использую БД с с уже созданной пустой таблицей и пытаюсь залить в нее данные: Код: plsql 1.
несколько раз это проходит, но потом неизменно получаю MASTER Thu Mar 28 15:30:33 2019 Database: d:\Baza4\test.FDB Replication is stopped due to critical error(s) Replication error Transaction 70 already exists Машинки стоят на соседних столах, соединены через хаб. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 15:53 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRasta, а ты репликацию DDL включил? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 16:26 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Симонов ДенисdedRasta, а ты репликацию DDL включил?А как? В replication.conf и RN ничего про это не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 16:32 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRasta, упс, в окончательной версии эту настройку выкинули ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 16:38 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRasta, вот что нашёл RN Warning Read-only connections have the potential to conflict with replication if DDL statements that are performed on the master database are of the kind that requires an exclusive lock on metadata. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 20:45 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Симонов Денисв окончательной версии эту настройку выкинули ее и не было никогда Симонов Денисвот что нашёл это про чтение из реплики в момент вливания в нее DDL ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 21:03 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dimitr, ну я подозреваю что она у него в каком-нибудь IBE для просмотра открыта ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 21:27 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Симонов Денис, ошибка будет вменяемая в этом случае ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 21:32 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Сегодня попробовал без IBe (т.е. вообще). Триггер и генератор из таблицы убрал, реплику сделал read_write. Получается все то же самое: gfix -replica read_write e:\baza4\test_REP.fdb -user SYSDBA -pass masterkey isql.exe -ch WIN1251 -u SYSDBA -pas masterkey test Database: test, User: SYSDBA SQL> CREATE TABLE BRANCH ( CON> BRANCH_ID INTEGER NOT NULL, CON> BRANCH_NAME VARCHAR(30) NOT NULL, CON> COMMENT VARCHAR(50) CON> ); SQL> commit; SQL> show tables; BRANCH SQL> quit; d:\Firebird-4.0.0.1433-0_x64> MASTER firebird.log: MASTER Fri Mar 29 10:00:55 2019 Database: d:\Baza4\test.FDB Replication is stopped due to critical error(s) Replication error Dynamic SQL Error SQL error code = -104 Unexpected end of command - line 1, column 1 replication.log: MASTER (origin) Fri Mar 29 10:00:55 2019 Database: d:\Baza4\test.FDB ERROR: Dynamic SQL Error SQL error code = -104 Unexpected end of command - line 1, column 1 REP REP (replica) Fri Mar 29 10:00:54 2019 Database: e:\Baza4\test_REP.FDB ERROR: Dynamic SQL Error SQL error code = -104 Unexpected end of command - line 1, column 1 Database: localhost/3050:test, User: SYSDBA SQL> show tables; BRANCH SQL> select * from branch; SQL> INSERT INTO BRANCH (BRANCH_ID, BRANCH_NAME, COMMENT) CON> VALUES (1, 'НПК', 'научно-производственный комплекс'); SQL> commit; SQL> firebird.log MASTER Fri Mar 29 10:43:08 2019 Database: d:\Baza4\test.FDB Replication is stopped due to critical error(s) Replication error Transaction 9 already exists replication.log WSSP670 (origin) Fri Mar 29 10:43:08 2019 Database: d:\Baza4\test.FDB ERROR: Transaction 9 already exists replication.log REP (replica) Fri Mar 29 10:43:08 2019 Database: e:\Baza4\test_REP.FDB ERROR: Transaction 9 already exists ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2019, 11:00 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRasta, ты CREATE TABLE в embedded что ли делаешь? Это намеренно? Можешь проверить x64 и x64? Может там что-то несовместимо получилось ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2019, 11:16 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRasta, сейчас буду у себя проверять ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2019, 11:56 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
Симонов ДенисdedRasta, ты CREATE TABLE в embedded что ли делаешь? Это намеренно? Можешь проверить x64 и x64? Может там что-то несовместимо получилось C TCP/IP то же самое: isql.exe -ch WIN1251 -u SYSDBA -pas masterkey MASTER/3050:test Database: MASTER/3050:test, User: SYSDBA SQL> show tables; There are no tables in this database SQL> CREATE TABLE BRANCH ( CON> BRANCH_ID INTEGER NOT NULL, CON> BRANCH_NAME VARCHAR(30) NOT NULL, CON> COMMENT VARCHAR(50) CON> ); SQL> commit; SQL> MASTER: firebird.log MASTER Fri Mar 29 14:07:42 2019 Database: d:\Baza4\test.FDB Replication is stopped due to critical error(s) Replication error Dynamic SQL Error SQL error code = -104 Unexpected end of command - line 1, column 1 replication.log MASTER (origin) Fri Mar 29 14:07:42 2019 Database: d:\Baza4\test.FDB ERROR: Dynamic SQL Error SQL error code = -104 Unexpected end of command - line 1, column 1 REP - replication.log REP5 (replica) Fri Mar 29 14:07:42 2019 Database: e:\Baza4\test_REP.FDB ERROR: Dynamic SQL Error SQL error code = -104 Unexpected end of command - line 1, column 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2019, 14:35 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRastaС Win64-Win64 разрядностью не могу проверить - в ближайшей окрестности только у меня машинка Win64. с самой на себя проверь, через localhost. Один и тот же инстанс ФБ, разные базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2019, 15:19 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dimitrdedRastaС Win64-Win64 разрядностью не могу проверить - в ближайшей окрестности только у меня машинка Win64. с самой на себя проверь, через localhost. Один и тот же инстанс ФБ, разные базы. Проверил, работает - и DDL и DML. а вот в паре Win7(x64) (мастер) с Win2003 сервер (x32) (реплика) - не работает. Ошибки неизменно те же: Dynamic SQL Error SQL error code = -104 Unexpected end of command - line 1, column 1 для DDL и Transaction ## already exists для DML. При этом столкнулся с таким нюансом: если в пароле учетной записи для реплики есть "@", то все, что после - воспринимается в записи replication.conf на мастере как имя БД и, естественно, ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 11:55 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRastaа вот в паре Win7(x64) (мастер) с Win2003 сервер (x32) (реплика) - не работает отлично, спасибо. Я отпишу сюда как выйдет снапшот с фиксом. dedRastaПри этом столкнулся с таким нюансом: если в пароле учетной записи для реплики есть "@", то все, что после - воспринимается в записи replication.conf на мастере как имя БД и, естественно, ошибка. да, это доработаем ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 16:13 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dimitr, Попробовал сделать наоборот: мастер - на Win32, реплика - на Win64: Database: wssp675/3054:test, User: SYSDBA SQL> show tables; There are no tables in this database SQL> CREATE TABLE BRANCH ( CON> BRANCH_ID INTEGER NOT NULL, CON> BRANCH_NAME VARCHAR(30) NOT NULL, CON> COMMENT VARCHAR(50) CON> ); SQL> commit; SQL> replication.log на мастере: WSSP675 Mon Apr 01 15:56:42 2019 INET/inet_error: read errno = 10054, server host = WSSP670, address = 192.168.53.107/3050 WSSP675 Mon Apr 01 15:56:42 2019 Database: e:\Baza4\test.FDB Replication is stopped due to critical error(s) Replication error Error reading data from the connection. WSSP675 Mon Apr 01 15:56:42 2019 REMOTE INTERFACE/gds__detach: Unsuccesful detach from database. Uncommitted work may have been lost. Error writing data to the connection. send_packet/send WSSP675 Mon Apr 01 15:56:42 2019 INET/inet_error: read errno = 10054, client host = wssp670, address = 192.168.53.107/52544, user = система Теперь с мастера непосредственно редактирую реплику (read_write): Код: plsql 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.
Все ОК. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 16:27 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRasta, я напомню - таблицы без ПК не реплициуются. Поэтому в скрипте создания таблицы добавляй constraint ... primary key ... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 18:13 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
kdv, если точнее, то реплицируются только вставки ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 18:25 |
|
Cинхронная репликация на Firebird 4.0 Beta1
|
|||
---|---|---|---|
#18+
dedRasta, в завтрашнем снапшоте должно быть исправлено ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 18:35 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560761]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
89ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 504ms |
0 / 0 |