В Ora-12560: TNS в:ошибка протокола адаптер
Я Google[d] для этой ошибки в Ora-12560: TNS в:ошибка протокола переходника, но не смогли найти причину и как решить эту ошибку ?
может ли кто-нибудь сказать мне идеальное решение для решения проблемы входа в систему.
17 ответов
- перейдите на компьютер windows, на котором размещен сервер баз данных Oracle
перейдите в меню Пуск -> Выполнить -> службы.msc в Windows. Найдите OracleService (здесь
OracleServiceORCL
) и нажмитеStart
для запуска службы базы данных oracle (если она еще не запущена)-
как только он будет запущен и запущен, из командной строки выполните следующее:
tnsping < tnsalias >
(tnsalias запись вы можете найти его в )
похоже, что база данных не. Это может быть связано с перезапуском машины, и экземпляр не настроен на автозапуск, и он не запускается мунуально после запуска с экрана служб.
Just goto командная строка
установить Oracle SID C: > установить oracle_sid=ORCL
теперь бегите Net start. C:>net start oracleserviceORCL
в моем случае у меня не было OracleService
(OracleServiceORCL) в Windows Services.msc
как описано в ответ Бхарати.
Я выполнил эту команду:
C:\> ORADIM -NEW -SID ORCL
а то OracleService
вызванный OracleServiceORCL просто появился и начал работу в службах.магистр. Действительно хороший.
источник:https://forums.oracle.com/forums/message.jspa?messageID=4044655#4044655
добавьте к среде vars следующие varibale и значение, чтобы определить место имен tnsnames.файл ora:
TNS_ADMIN
C:\oracle\product\10.2.0\client_1\network\admin
из командной консоли, если вы получите эту ошибку, вы можете избежать ее, введя sqlplus / nolog
затем вы можете подключить conn user / pass @host: Порт / Сервис
довольно часто это означает, что слушатель не начал. Проверьте панель услуг.
в Windows (как и вы) Другой распространенной причиной является то, что ORACLE_SID не определен в реестре. Измените реестр или установите ORACLE_SID в поле CMD. (Потому что вы хотите запустить sqlplusw.exe я предлагаю вам отредактировать реестр.)
Я решил проблему простым способом. В прошлом мой оракул работал просто отлично. После установки MS SQL Server я заметил эту проблему. Я просто удалил MS SQL Server на своей машине, тогда проблема исчезла. После этого перезагрузите компьютер. Теперь я могу снова подключиться к базе данных Oracle через SQLPlus. Я думаю, что между ними есть какой-то конфликт. Надеюсь, это поможет.
после поиска много получил простой способ решить эту проблему. Просто следуйте инструкциям.
- проверьте состояние вашего слушателя.
- откройте командную строку и введите
lsnrctl status
- вы не получите слушателя.
- откройте командную строку и введите
-
теперь откройте
listener.ora
файл, который присутствует в следующем каталоге:C:\oraclexe\app\oracle\product.2.0\server\network\ADMIN
- Откройте этот файл и измените параметр host с именем компьютера
-
вы можете получить имя компьютера с помощью правой кнопки мыши на
My Computer
и проверьте имя компьютера и замените параметр хоста именем компьютера следующим образом:LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = Electron-PC)(PORT = 1521) ) ) )
так что здесь вы можете наблюдать
HOST = Electron-PC
, это имя моего компьютера. сохранить слушателя.Ora файл и снова вернуться к cammand propt
3.Введите в командной строке
lsnrctl start
это запустит OracleTNSListner
.
вы можете проверить его в сервисе, открыв вкладку "Службы" в Диспетчере задач. если не началось автоматически, вы можете запустить его.
только это, и вы готовы снова работать над oracle.
удачи.
Если не выше, то попробуйте это :
Измените LISTENER.ora
(мой находится в:oracle\product.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
) = = > добавьте пользовательский прослушиватель, который указывает на вашу базу данных( SID), например, мой SID-XZ0301, поэтому :
## Base XZ03001
SID_LIST_LISTENER_XZ03001=(SID_LIST=(SID_DESC=(ORACLE_HOME =
E:\oracle\product.2.0\dbhome_1)(SID_NAME= XZ03001)))
LISTENER_XZ03001=(DESCRIPTION_LIST=(ADDRESS=(PROTOCOL =
TCP)(HOST=MyComputerName)(PORT= 1521)))
DIAG_ADR_ENABLED_LISTENER_XZ03001=ON
ADR_BASE_LISTENER_XZ03001=E:\oracle
перезагрузите компьютер
для Windows 7 используйте следующее, чтобы изменить прослушиватель.Ора: - Перейдите в меню Пуск > Все программы > аксессуары - Щелкните правой кнопкой мыши блокнот и выберите Запуск от имени администратора . - Файл>Открыть и перейти к tnsnames.файл ora. - Внести изменения тогда это должно позволить вам сохранить
еще одно возможное решение, которое просто сработало для меня...учитывая, что я использовал свой локальный логин в качестве разрешений dba.
следуйте инструкциям, чтобы добраться до службы. Щелкните правой кнопкой мыши на экземпляре и перейдите к "Log On"? (возможно, это не имя, но это одна из вкладок, содержащих разрешения). Измените настройки для использования LOCAL.
в моем случае (для OracleExpress) служба была запущена, но я получил эту проблему при попытке доступа к базе данных через sqlplus без идентификатора соединения:
sqlplus sys/mypassword as sysdba
чтобы заставить его работать, мне нужно было добавить идентификатор соединения (XE для Oracle Express), поэтому следующая команда работала нормально:
sqlplus sys/mypassword@XE as sysdba
если вы все еще получаете ORA-12560, убедитесь, что вы можете пинговать службу XE. Использовать:
tnsping XE
и вы должны получить сообщение OK вместе с полной строкой подключения (команда tnsping находится в каталоге установки oracle: [Oracle express installation dir]\app\oracle\product\11.2.0\server\bin). Если вы не можете пинговать, убедитесь, что ваш tnsnames.ora
файл доступен для sqlplus. Возможно, Вам потребуется установить переменную среды TNS_ADMIN, указывающую на каталог администратора, где находится файл, например:
TNS_ADMIN=[oracle express installation dir]\app\oracle\product.2.0\server\network\ADMIN
поток протекающих шагов:
-
изменить своего слушателя.ora и tnsnames.файл ora в $Oracle_home\product\11.2.0\client_1\NETWORK\admin location
а. добавить слушателя.файл Ora
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) )
)
ADR_BASE_LISTENER = C: [здесь C-домашний каталог oralce]
b. добавить в tnsnames.файл Ora
SCHEMADEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = dabase_ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SCHEMADEV)
)
)
- Откройте командную строку и введите
для sqlplus имя пользователя / passowrd@oracle_connection_alias
пример :
имя пользователя : your_database_username
пароль : Your_database_password
oracle_connection_alias: SCHEMADEV для примера выше.
вам нужно сообщить SQLPlus, в какую базу данных вы хотите войти. Строка хоста должна быть либо строкой подключения, либо псевдонимом, настроенным в ваших TNSNames.файл ora.
в моем случае (ORA-12560: ошибка адаптера протокола TNS) проблема причина проблемы подключения к базе данных, как база данных, имя пользователя и пароль.
Как только вы получили проблему. Первоначально вы должны проверьте соединения деталей, после проверки службы oracle и многое другое.
Я пропустил некоторые детали соединения, поэтому только я получил ошибка адаптера протокола TNS, я изменю детали соединения, он будет работать штраф в размере.
в Ora-12560: TNS в:Эрро-де-де профессиональные телевизор протоколао
- установить переменные среды: ORACLE_BASE, ORACLE_HOME, ORACLE_SID
- убедитесь, что ваш пользователь является частью ORACLE_GROUP_NAME (Windows)
- убедитесь, что файл ORACLE_HOME / network/admin / sqlnet.Ора: Заменить sqlnet.AUTHENTICATION_SERVICES = (NTS)
- (Windows) будьте осторожны при добавлении нового клиента Oracle: добавление нового пути к пути env. переменная может все испортить. Первая запись в этом переменная имеет значение: удостоверьте, что исполняемый файл sqlplus в ORACLE_HOME (ORACLE_HOME/bin) занимает первое место в пути env. переменная.
у меня была проблема" ORA-12560: TNS:ошибка адаптера протокола", и я искал ее в течение 2 часов, не обращая внимания на детали. Я открыл командную строку, а затем у меня было это:
C:\Users\Frodo>set oracle_sid=<DB name>
... в то время как это должно быть ложью:
C:\>set oracle_sid=<DB name>
C:> должно быть вместо C:\Users\Frodo> - это была моя проблема, так это работает:
C:\Users\Frodo> cd c:
C:\>set oracle_sid=<DB name>
C:\>exp ........