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

Но ведь сам Oracle умеет работать в гетерогенных средах. Что если на него положить эту координацию и через него ходить на firebird (interbase forever?)?
...
Рейтинг: 0 / 0
22.05.2003, 21:28:44
    #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
23.05.2003, 01:12:13
    #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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Двухфазный коммит с клиентом в качестве координатора. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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