powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / HADR, takeover проблемы
11 сообщений из 11, страница 1 из 1
HADR, takeover проблемы
    #37098557
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Есть проблема, а точнее, даже не проблема, а не логичное поведение тов. HADR.

Сервер А:
Primary Server, database name DB97HADRDB21085I Instance "db2inst1" uses "64" bits and DB2 code release "SQL09071" with level identifier "08020107". Informational tokens are "DB2 v9.7.0.1", "s091114", "IP23031", and Fix Pack "1".

Сервер Б:
Standby Server, database name DB97HADRDB21085I Instance "db2inst1" uses "64" bits and DB2 code release "SQL09071" with level identifier "08020107". Informational tokens are "DB2 v9.7.0.1", "s091114", "IP23031", and Fix Pack "1".

Я, как клиент:
Client, Windows 7 x64 EnterpriseDB21085I Instance "DB2" uses "32" bits and DB2 code release "SQL09072" with level identifier "08030107". Informational tokens are "DB2 v9.7.200.358", "s100514", "IP23083", and Fix Pack "2".


Оба на Solaris x64 (не SPARC). На моём клиенте эти базы каталогизированы, как "DB97PRM" primary и "DB97STB" как standby. По первости я мог коннектиться только к primary (что логично). К standby у меня коннект отваливался по причине, что он standby, что логично тоже.

Потом решил сделать так:
Код: plaintext
1.
db2 takeover hadr on db DB97STB user db2inst1 using db2inst1

Т.е. "DB97STB" теперь у меня, как primary, а "DB97PRM", как standby. Но теперь я могу коннектиться и туда (к праймари) и сюда (к стэндбаю), но я рероутился к праймари сразу (видел по db2 list application на сервере). Это нормально? Я, думаю, что нет.

Далее, я захотел поменять обратно.

Код: plaintext
1.
db2 takeover hadr on db DB97PRM user db2inst1 using db2inst1

И ничего не получилось, ошибка такая:
ОшибкаSQL1770N Takeover HADR cannot complete. Reason code = "4".

Она означает: "The command was issued against a standard or HADR primary database."

Уточню - все делал с клиента. И вот, что я делал не так, и почему я немогу обратный takeover сделать?
...
Рейтинг: 0 / 0
HADR, takeover проблемы
    #37099330
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

HADR commands :

Do not run HADR commands from a client using a database alias enabled for client reroute

When automatic client reroute is set up, the database server has a predefined alternate server so that client applications can switch between working with either the original database server or the alternative server with only minimal interruption of the work. In such an environment, when a client connects to the database via TCP, the actual connection can go to either the original database or to the alternate database. HADR commands are implemented to identify the target database through regular client connection logic. Consequently, if the target database has an alternative database defined, it is difficult to determine the database on which the command is actually operating. Although an SQL client does not need to know which database it is connecting to, HADR commands must be applied on a specific database. To accommodate this limitation, HADR commands should be issued locally on the server machine so that client reroute is bypassed (client reroute affects only TCP/IP connections).
...
Рейтинг: 0 / 0
HADR, takeover проблемы
    #37099339
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это многое объясняет. Спасибо.
...
Рейтинг: 0 / 0
HADR, takeover проблемы
    #37099347
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ишь оно как!.. =)
Да, это может пригодиться ...
...
Рейтинг: 0 / 0
HADR, takeover проблемы
    #37099366
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле это поставило меня в глубокий тупик, потому, что мне нужно управлять HADR (start/stop/takeover) с помощью C++ на клиенте. И вот тут такая не приятность.

Но за помощь спасибо.
...
Рейтинг: 0 / 0
HADR, takeover проблемы
    #37099385
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм...
Пишите демонов на C для серверов и клиента на плюсах к ним на винде. =)
Демоны смогут выдавать ваши команды локально (старт,стоп,статусы, ...).
DB2 API для HADR на сервере простой, баловался как-то...
Всего и делов-то - сетевое взаимодействие на C, и с десяток функций API DB2...
...
Рейтинг: 0 / 0
HADR, takeover проблемы
    #37099396
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterikХм...
Пишите демонов на C для серверов и клиента на плюсах к ним на винде. =)
Демоны смогут выдавать ваши команды локально (старт,стоп,статусы, ...).
DB2 API для HADR на сервере простой, баловался как-то...
Всего и делов-то - сетевое взаимодействие на C, и с десяток функций API DB2...
Ну, как бы это я понимаю. Но требование к программному продукту просты - все делается на клиенте, ничего на серверы не устанавливается.

И к сожалению, эти требования были выдвинуты не мной. :(
...
Рейтинг: 0 / 0
HADR, takeover проблемы
    #37099520
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здорово...
Ну может есть и другие варианты...
А если вариантов не появится (сами не найдете и никто не подскажет в ближайшее время), что мешает попробовать поменять требования? Обоснования же будут...
...
Рейтинг: 0 / 0
HADR, takeover проблемы
    #37099548
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterikЗдорово...
Ну может есть и другие варианты...
А если вариантов не появится (сами не найдете и никто не подскажет в ближайшее время), что мешает попробовать поменять требования? Обоснования же будут...
Политика. :)
...
Рейтинг: 0 / 0
HADR, takeover проблемы
    #37099553
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АбсолютНа самом деле это поставило меня в глубокий тупик, потому, что мне нужно управлять HADR (start/stop/takeover) с помощью C++ на клиенте. И вот тут такая не приятность.Заведите на каждом сервере специально для takeover с клиента по одному алиасу для соотв. базы и не устанавливайте для этих алиасов alternate server .
Каталогизируйте именно эти алиасы на клиенте, и при работе с ними с клиента должно быть всё нормально...
...
Рейтинг: 0 / 0
HADR, takeover проблемы
    #37099559
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein,

да, спасибо Вам. Я уже эксперементировал с этим (каталогизировал заново) и работало. Просто заметил, что альтенате сервер и порт не меняется у старого праймари на клиенте, т.е. не обнуляется. При удаление в каталоге клиента и заново добавления этой базы - все заработало. Т.е. такая вот петрушка.

Возможно, такой метод и будем использовать.

Еще раз всем большое спасибо!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / HADR, takeover проблемы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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