После простой и успешной установки Oracle 11g я запустил dbca
снова, чтобы включить Enterprise Manager в моей базе данных. Операция висела на уровне 67% в течение получаса или более, поэтому я нажал кнопку Стоп чтобы прервать операцию. Казалось, что все закончилось чисто, EM работала, с миром все было хорошо.
Затем я начал получать эту ужасную ошибку при любой попытке подключиться в SQL * Plus:
ORA-12154:
TNS:could not resolve the connect identifier specified
Я подумал, что, возможно, база данных была повреждена из-за ранее прерванной операции, поэтому я запустил dbca
снова и удалил базу данных. Затем я попытался создать вместо нее новую базу данных, используя клон шаблона, созданного в первый раз. К сожалению, клонировать базу данных операция не выполняется на 50% с той же ошибкой:
ORA-12154:
TNS:could not resolve the connect identifier specified
Как я могу исправить созданный мною беспорядок, кроме полной переустановки Oracle с нуля?
Какую ОС вы используете? Вы используете DHCP на своем сервере Oracle с Windows? Если да, прочтите это о Адаптеры обратной петли и Oracle.
ORA-12154 указывает, что файл tnsnames.ora не содержит соответствующей записи для базы данных, к которой вы пытаетесь подключиться.
Когда вы получаете зависание при настройке Enterprise Manager, это почти всегда происходит из-за того, что он пытается перевести базу данных в монопольный режим. Я не уверен, зачем ему это нужно, но он это делает. Любые интерактивные сеансы, которые вы могли открыть, задержат его.
Что касается проблемы с tnsnames, найдите файл tnsnames.ora и посмотрите, не испортился ли он. Расположение зависит от вашей ОС. В системах Unix по умолчанию он находится в $ ORACLE_HOME / network / admin / tnsnames.ora. Я не запускаю сервер Oracle в Windows, поэтому я не уверен, какой для этого путь. Там может быть какой-то наполовину записанный мусор из-за прерывания, который мешает ему работать при добавлении новой базы данных.
Похоже, проблема заключалась в несоответствующем пароле. Использование в пароле Oracle символов, отличных от буквенно-цифровых, #, $ и _, вызовет эту ошибку.