ORA-12514 после восстановления сервера из снимка

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

Для одного из наших конкретных серверов нам нужно было закрыть его и заархивировать. Сегодня мне нужно вывести его в интернет. Это делается путем настройки нового экземпляра 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 при настройке новой системы или после перезапуска, но это система, которая работала нормально, но была восстановлена ​​из моментального снимка.

1 ответ

Решение

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

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

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

Другие вопросы по тегам