powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Двухфазный коммит с клиентом в качестве координатора.
4 сообщений из 4, страница 1 из 1
Двухфазный коммит с клиентом в качестве координатора.
    #32166544
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть веб сервер, в качестве server side - php. Всплыла задача: в одной транзакции изменять данные в Oracle и Firebird. Вопрос: возможно ли в подобной среде осуществить двухфазный коммит, причем координатором выступает веб-сервер: опрашивает последовательно оба сервера БД на предмет готовности к фиксации транзакции, после чего производит commit на обоих?
...
Рейтинг: 0 / 0
Двухфазный коммит с клиентом в качестве координатора.
    #32166560
Fedorchenko Aleksey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поговорил с нашими php разработчиками. Те говорят, что вряд ли такое возможно.

Но ведь сам Oracle умеет работать в гетерогенных средах. Что если на него положить эту координацию и через него ходить на firebird (interbase forever?)?
...
Рейтинг: 0 / 0
Двухфазный коммит с клиентом в качестве координатора.
    #32166647
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оракл-то умеет. Но он у нас на Linux SLES-7, а для него, как выясняли недавно, документации по Transparent Gateway в общем списке не нашлось. Хотя по поиску слов "ODBC Linux" кое-что находится:
http://domaindeluxe.oingo.com/apps/domainpark/results.cgi?Keywords=ODBC+Linux&Partner=domaindeluxe&ac=s
В общем, пробовать надо. С Firebird отдельный разговор, а для Oracle хотелось бы знать, предусмотрена ли вообще возможность управления дфухфазным комитом? Могу ли я каким-либо образом спросить БД, можно ли зафиксировать транзакцию, физически фиксацию еще не проводя, т.е. выступить координатором?
...
Рейтинг: 0 / 0
Двухфазный коммит с клиентом в качестве координатора.
    #32166681
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оракул достаточно приличный XA RM.
То есть, если у тебя найдётся подходящий TM, работающий по XA. Плюс, если тебе удастся заставить FireBird предоставлять ресурс через тот же самый XA (судя по гуглю он это умеет). То тогда ты спокойно сможешь делать тот самый двухфазный commit (xa_prepare, а потом xa_commit).

Единственное НО -- мы у себя используем комерческий TM с достаточно высоким интерфесом. А там всё очень просто
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
 if (tpcommit( 0 , 0 )< 0 )
 {
   tpabort();
   errorlog( "tpcommit failed" );
   tpreturn(TPFAIL,...);
 }
 errorlog( "transaction commited" );
 tpreturn(TPSUCCESS,...);
...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Двухфазный коммит с клиентом в качестве координатора.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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