|
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 |
|
|
start [/forum/topic.php?fid=40&fpage=24&tid=1560761]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 288ms |
total: | 443ms |
0 / 0 |