Можете ли вы помочь мне реализовать аварийное переключение клиента на oracle 12 c? - PullRequest
0 голосов
/ 10 марта 2020

У меня есть 02 сервера оракулов и оракулов vcpu, на которых создаются соответственно основной BD (db_name = chica go и db_unique_name = chica go) и резервный BD (db_name = chica go и db_unique_name = boston) , Я создал службу на серверах 02 с помощью утилиты srvctl:

srvctl add service -d "db_unique_name" -s CHICAGO_HA -l PRIMARY -q TRUE -e SELECT -m BASIC -z 150 -w 10

Затем я добавил запись в свой файл tnsnames.ora:

CHICAGO_HA =
  (DESCRIPTION_LIST =
    (LOAD_BALANCE = off)
    (FAILOVER = on)
    (DESCRIPTION =
        (CONNECT_TIMEOUT = 10) (RETRY_COUNT = 3)
        (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp) (HOST = 192.168.17.140) (PORT = 1522)))
        (CONNECT_DATA = (SERVICE_NAME = chicago_ha))
    )
    (DESCRIPTION =
        (CONNECT_TIMEOUT = 10) (RETRY_COUNT = 3)
        (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp) (HOST = 192.168.17.138) (PORT = 1522)))
        (CONNECT_DATA = (SERVICE_NAME = chicago_ha))
    )
 )

У меня есть клиент, на котором я открыли сеанс:

sqlplus sys/*****@chicago_ha as sysdba 

на основном хосте. я могу запросить таблицы. но после переключения, когда я не могу запросить таблицы, потому что мой сеанс заканчивается ошибками, как будто я больше не подключен.

1 Ответ

1 голос
/ 11 марта 2020

Если я правильно прочитал, ваша установка имеет аварийное переключение во время соединения, но вы пытаетесь использовать уже открытое соединение с закрытым экземпляром? Вам понадобится что-то вроде непрерывности приложения или прозрачной непрерывности приложения, чтобы существующее соединение было перемещено в другой экземпляр. Проверьте Oracle Белая книга Непрерывная доступность приложений непрерывности для Oracle База данных .

SQL* Плюс, как правило, не является отличным инструментом тестирования для mimi c real- приложения для жизни, которые имеют пулы подключений и множество пользователей.

...