Проблема с подключением к базе данных Oracle после клонирования сервера - PullRequest
1 голос
/ 17 октября 2019

Я просто клонирую сервер, на котором размещается Oracle, чтобы сделать тестовую машину linux. Но соединение sqlplus user / password @ alias не работает на клонированном сервере. Я не нахожу, что изменить. Заранее спасибо

вот файлы конфигурации исходного сервера:

Имя хоста:

[root @ server1] # cat / etc /hosts

192.168.0.11 server1.domain.com server1

Глобальное имя:

select * from global_name;

my_sid1. server1.domain.com

listner.ora:

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = server1) (PORT= 1521)) (ADDRESS = (PROTOCOL = IPC) (KEY = REGISTER))))

sid_list_listener = (sid_list = (sid_desc = (global_name = server1) (sid_name = my_sid1) (oracle_home = / u01 /app / oracle / product / 12r1)))

tnsnames.ora:

serv1.my_sid1 = (описание = (адрес = (протокол = ipc) (ключ =)my_sid1)) (address = (protocol = tcp) (host = server1) (port = 1521)) (connect_data = (service_name = my_sid1.server1.domain.com) (server = DEDICATED)))

вклклонированный сервер, с конфигурацией ниже, у меня естьсообщение об ошибке «ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения»

Имя хоста:

[root @ server2] # cat / etc / hosts

192.168.0.12 server2.domain.com server2

listener.ora:

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)) (HOST = server2) (PORT = 1521)) (ADDRESS = (PROTOCOL = IPC) (KEY = REGISTER))))

sid_list_listener = (sid_list = (sid_desc = (global_name = server2) (sid_name =my_sid2) (oracle_home = / u01 / app / oracle / product / 12r1)))

tnsnames.ora

server2.my_sid2 = (description = (address = (протокол = ipc) (ключ = my_sid2)) (адрес = (протокол = tcp) (хост = сервер2) (порт = 1521)) (connect_data = (service_name = my_sid1.server1.domain.com) (сервер = DEDICATED)))

Я пытаюсь использовать команду sqlplus следующим образом, но она не работает:

sqlplus user / password @ my_sid2

Thinks

1 Ответ

0 голосов
/ 17 октября 2019

При клонировании хоста имя экземпляра не изменилось. Самый простой способ изменить адреса в tnsnames.ora listener.ora файлах без изменения имени экземпляра. listener.ora

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = server2)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = REGISTER))
        )
      )

    sid_list_listener=(sid_list=
                            (sid_desc=
                                    (global_name=server1)
                                    (sid_name=my_sid1)
                                    (oracle_home=/u01/app/oracle/product/12r1)
                            )
                      )

tnsnames.ora

server2.my_sid2=(description=
             (address=
                 (protocol=ipc)
                  (key=my_sid1))
             (address=
                 (protocol=tcp)
                 (host=server2)
                 (port=1521))
(connect_data=(service_name=my_sid1.server1.domain.com)(server=DEDICATED)))

После редактирования listener.ora необходимо перезапустить процесс слушателя какпользователь oracle.

lsnrctl stop
lsnrctl start

try sqlplus user/password@server2.my_sid2

Если вам нужно изменить имя экземпляра, вам необходимо следовать инструкциям по изменению имени базы данных. Изменение DBID и имени базы данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...