2015-02-16 5 views
0

У нас есть серия серверов Amazon Web Services, работающих под управлением Amazon Linux и Oracle XE, которая используется локальным приложением. OracleXE устанавливается и работает отлично, наше приложение может подключаться к БД, все отлично.ORA-12514 после восстановления сервера из моментального снимка

Для одного из наших конкретных серверов нам нужно было закрыть его и архивировать. Сегодня мне нужно привести его в интернет. Это делается путем создания нового экземпляра AWS, создания нового виртуального жесткого диска из моментального снимка резервной копии, настройки нового общедоступного IP-адреса для сервера и изменения параметров DNS на то, что старый домен указывает на новый IP-адрес, подключая восстановленный виртуальный диск в качестве основного диска и запуск его.

OracleXE не хочет работать. Использование sqlplus для подключения к localhost: 1521/XE создает «ORA-12514: TNS: слушатель в настоящее время не знает о запросе службы в дескрипторе соединения».

Эта система работала нормально, когда я снял ее и архивировал ее в первый раз, и после ее восстановления я не изменил никаких настроек. Все должно быть точно таким же, так почему OracleXE теперь не работает?

У listener.ora и tnsnames.ora был установлен хост с использованием общедоступного имени сервера. Я попытался изменить это на localhost, но он все еще не работает.

Единственное, что я могу думать об этом, это разные публичные IP-адреса сервера и «отпечаток пальца rsa2» (о чем жалуется Putty из-за того, что ключ SSH является тем же, но является новым экземпляром AWS) , Все советы, которые я видел до сих пор, это исправление ошибок конфигурации для ORA-12514 при настройке новой системы или после перезапуска, но это система, которая работает нормально, но была восстановлена ​​из моментального снимка.

ответ

0

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

Для этого ваш слушатель должен прослушивать порт по умолчанию (1521), или ваш экземпляр должен использовать параметр локального слушателя, который определяет адрес слушателя, где экземпляр должен зарегистрировать его существование.

Итак, проверьте свой параметр local_listener, проверьте серверы tnsnames.ora и listener.ora. Также проверьте своих клиентов tnsnames.ora, он должен указать на ваш новый сервер и прослушиватель.

+0

БД и слушатель находятся в одной системе. Я не знал, что база данных имеет свои собственные настройки, чтобы определить, как она связалась с слушателем. Googling «local_listener» разорвал эту информацию: Значение по умолчанию: (ADDRESS = (PROTOCOL = TCP) (HOST = имя хоста)> (PORT = 1521)), где hostname - сетевое имя локального хоста. Проблема была в том, что я не разрешил новый публичный IP-адрес сервера через свой собственный брандмауэр, и я не знал, что он пытается использовать публичный IP-адрес. – Len

 Смежные вопросы

  • Нет связанных вопросов^_^