Поднял Standby... что делать помимо этого?

Ildarych
Дата: 06.06.2006 15:39:14
Практический вопрос, что делать со standy после его активации, т.е. как его безболезненно сделать боевым.

Начальные условия:
1. Боевой и standby сидят в разных подсетях.
2. Обращение к боевому идет через dns-имя и по ip (DB линки). По имени это WEB-приложения.
3. Требования, не надо перенастраривать на самом сервере ничего, ip-адрес тот же, имя тоже.
4. Сервер может быть Windows (много проблем с именем), или Unix (с ним проще).
5. Сеть на оборудовании Cisco (полностью).

Задача:
1. Что нужно сделать, чтобы без изменений каких либо настроек на standby, клиенты которые обращались раньше к боевому, прозрачно для них, работали теперь со standby.

Одно решение приходит на ум, это все писать через DNS, у нас он правда смешанный, AD домен и домен под unix, то что смотрит и вне и на внутренние unix машины.

Если какое-нибудь другое решение? может быть чисто желязячное на Cisco.
azhukov
Дата: 06.06.2006 16:06:22
А как у Вас клиенты подключаются к БД (tnsnames,onames и т.п.)? У нас например клиенты читают tnsnames.ora с сети: на клиентских машинах установлена переменная TNS_ADMIN, указывающая на сетевой каталог. При переходе с одного сервера на другой в сетевом tnsnames.ora нужно просто изменить IP адрес на адрес нового сервера.
vitvik
Дата: 06.06.2006 16:14:24
OS Solaris 8, Oracle 8.1.7.4
вот что делал
1) меняем IP у резервного сервера на тот, который был у боевого
2) listener.ora - проверяем что там правильно записан IP
3) Меняем запись в DNS (основной<->standby)
4) ОЧЕНЬ ВАЖНО - перенести все задания в CRON'е
5) Активируем standby

>> Задача:
>> 1. Что нужно сделать, чтобы без изменений каких либо настроек на standby,
>> клиенты которые обращались раньше к боевому, прозрачно для них, работали
>> теперь со standby.
мне кажеться что такого не бывает
Как это "БЕЗ ИЗМЕНЕНИЙ КАКИХ ЛИБО НАСТРОЕК" ?

Без изменений каких-либо настроек - он и останется стэнбай сервером
Ildarych
Дата: 06.06.2006 16:14:46
Tnsnames.ora общий, если меняется то поменяют у всех, этим другое управление занимается, проблема в другом: есть еще сервера который могут иметь линки в эту боевую базу (старую), есть еще web-сервер apache, который так же может смотреть туда же.
Причем сервера и апачи могут быть на или на винде или на unix.
Пример с общим диском не подойдет, у нас территориально раскиданно, может быть за 2000 тыс. км сидит тот кто работает с базой :)
Ildarych
Дата: 06.06.2006 16:17:00
vitvik
мне кажеться что такого не бывает
Как это "БЕЗ ИЗМЕНЕНИЙ КАКИХ ЛИБО НАСТРОЕК" ?

Без изменений каких-либо настроек - он и останется стэнбай сервером


Я имел ввиду изменения ip-адреса и имени.

Тут был голос из другого зала, типа пользуй Oracle Names, или OID.
Рассматривается, но более всего интересует можно ли это сделать на cisco железе, какой нибудь vpn и прочее.
экватор
Дата: 06.06.2006 16:22:35
автор
может быть за 2000 тыс. км сидит тот кто работает с базой :)

:)
насколько помню длинна экватора ~ 40 тыс. км...
Ildarych
Дата: 06.06.2006 16:28:16
экватор
автор
может быть за 2000 тыс. км сидит тот кто работает с базой :)

:)
насколько помню длинна экватора ~ 40 тыс. км...


Извеняюсь, ЭКВАТОР, бессонные ночи дают о себе знать, конечно же 2000 км или 2 тыс. км, как вам будет удобно :)
vitvik
Дата: 06.06.2006 16:28:27
Ildarych

Я имел ввиду изменения ip-адреса и имени.

Тут был голос из другого зала, типа пользуй Oracle Names, или OID.
Рассматривается, но более всего интересует можно ли это сделать на cisco железе, какой нибудь vpn и прочее.


1) Лучше всего тогда использовать Oracle Names
2) Средствами CISCO можно - все обращения на такой-то порт такого-то IP редиректить на такой-то порт другого IP
Но это не лучшее решение, т.к. я понимаю вас интересует не только порт listener'а
Вячеслав Любомудров
Дата: 07.06.2006 02:16:55
В tnsnames прописать 2 адреса -- если основной не отвечает, соединение будет по второму.
tnsnames.ora
TST_STB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx-pry)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx-stb)(PORT = 1521))
)
(CONNECT_DATA =
(SID = tst)
(SERVER = DEDICATED)
)
)
Задница произойдет при switchover -- если первый ответит, но будет в режиме стендбая, получим ORA-01033
Ildarych
Дата: 07.06.2006 09:27:43
Вячеслав Любомудров
В tnsnames прописать 2 адреса -- если основной не отвечает, соединение будет по второму.
tnsnames.ora
TST_STB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx-pry)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx-stb)(PORT = 1521))
)
(CONNECT_DATA =
(SID = tst)
(SERVER = DEDICATED)
)
)
Задница произойдет при switchover -- если первый ответит, но будет в режиме стендбая, получим ORA-01033


Интересное решение!!! Спасибо :)