Файл tnsnames ora недоступен поврежден или имеет недопустимый формат

Обновлено: 05.07.2024

При изменении файлов sqlnet.ora или tnsnames.ora Oracle требуется перезагрузка системы? В моем случае у меня только клиент Oracle установлен на машине, на которую я ссылаюсь, но из любопытства, что это означало бы для установки сервера Oracle?

2 ответа

В общем, нет. Изменение tnsnames.ora не должно требовать перезагрузки, но некоторые приложения будут читать и анализировать tnsnames.ora при запуске, чтобы, например, представлять раскрывающийся список серверов для пользователя и кэшировать все, что было прочитано, когда приложение запустилось, а не повторно прочитало файл. В зависимости от ситуации, может быть проще перезагрузить клиент Windows, а не выяснять, как убивать и перезапускать любые приложения, которые могут кэшироваться данными.

Изменение sqlnet.ora может выиграть от перезагрузки для согласованности, хотя это не требуется. Если вы делаете что-то вроде включения обнаружения мертвого соединения на сервере, например, устанавливая sqlnet.expire_time , вероятно, имеет смысл перезагрузить сервер, чтобы убедитесь, что этот параметр применим ко всем соединениям, а не только к новым соединениям - если вы пытаетесь отладить, почему определенное мертвое соединение все еще висит вокруг, зная, что сервер был перезапущен и что вы не смотрите на какой-либо артефакт соединение, которое было открыто до выполнения настройки, было бы полезно.

из моего опыта wih sqlplus и некоторых других инструментов:

  • tnsnames.ora читается всякий раз, когда клиенты хотят открыть соединение.
  • sqlnet.ora читается всякий раз, когда запускается клиентский процесс.

по крайней мере для sqlplus вы можете легко проверить это:

  • запустите sqlplus , а затем добавьте новую запись в tnsnames.ora. вы можете использовать его.
  • запустите sqlplus , а затем настройте трассировку в sqlnet.ora, это не должно работать:

Но, конечно, другое приложение могло бы вести себя по-другому.

Конечно, трассировка не будет работать, если каталог трассировки, если trace_directory не существует или недоступен для записи. поэтому вы также должны проверить, что ваша трассировка работает, если вы нарисуете ее перед запуском sqlplus

В Oracle 11g TNS ошибка соединения ORA-12532 Поиск и устранение неисправностей

Ошибки подключения к Oracle TNS проблемы пользователи часто сталкиваются. На практике из-за сложности оконечного пользовательского окружения, различные проблемы с подключением TNS продолжают досаждать пользователю повседневное. Версии операционной системы, установка двойной клиент-сервер, установить несколько версий клиента, конфигурация локальной переменной среды является возникновение неисправностей и почему мы часто сталкиваемся.

Решить Benpian запись Bug TNS вызывает проблему, записанную для друга в потребности непредвиденных обстоятельств.

1. Описание проблемы

Проблема заключается в том, что коллега в конфигурации для подключения к базе данных, когда ошибка не всегда может подключиться. Я использую tnsping продолжать испытания и обнаружил, что клиент не может имена Разрешая подключены правильно.

Это может быть самой большой проблемой, проблема в том, что формат, как представляется, настроить файл tnsnames.ora. Oracle Net сетевые протоколы, listener.ora, tnsnames.ora и sqlnet.ora являются три ядра профиля. Три текстовых файлов поддерживается стандартный метод конфигурации является относительно простым, но и к ошибкам файл конфигурации.

Конечно же, в файле tnsnames.ora, мы нашли конфигурацию фрагментов.

Этот формат хорошо наклеить коллег из других более. В предыдущем блог, мы говорили о правилах синтаксического анализа tnsnames.ora формат следующим образом:

ü Чистая местное название должно быть написано в верхней строке головы, не могут появляться пробелы;

ü Информация о конфигурации кронштейнов, только внешняя линия первого верхнего кронштейна, чтобы писать, а другой кронштейн не допускается. Примечание: Если верхний слой верхнего кронштейна письменная головки линии, и соединение может быть идентифицировано, хотя tnsping соединения, но не распознает NETCA инструмента конфигурации, где конфигурация инструмента будет висеть в прямом эфире;

Согласно этой идее, формат будет организовывать и формировать следующий формат:

После этого tnsping тест.

Ситуация там находится за пределами опыта автора. С tnsping зрения, строка соединения Oracle Net обрабатывается правильно. И типы параметров конфигурации являются довольно распространенным типом, вероятность ошибки не происходит.

В отчаянии, я стараюсь, чтобы удалить содержимое связи, повторно выполнить ту же NETCA настроить соединение. Но в последней части теста, так же как ошибка происходит:

Подключение . ORA-12532: TNS: неверный аргумент

Тест не был успешным.

Некоторая информация, вы предоставляете, может быть неправильной.

Сравнение странной проблемы.

2, анализ проблем и разрешение

Сервер баз данных, слушатель, конечно, нормальный, другие пользователи подключаются без проблем. Корень проблемы по-прежнему является неправильным клиентом. Основываясь на опыте: Во-первых, проверьте подробные сведения о конфигурации и программного обеспечения аспекты коллег на локальной машине.

Во-первых, найти коллег не устанавливать клиентскую программу, но версия Oracle 11gR1 сервера.

ДОП версия 11.1.0.6, программное обеспечение базы данных 32-разрядные Также установлено на сервере 64 коллег. Согласно опыту, Oracle любому большому релизу, время высвобождения менее 2, можно иметь много потенциальных ошибки возникают. Кроме того, хотя в среде Windows, 64-разрядная операционная система совместима с программами 32-битными, но многие из основных проблем вызова будут более склонны к происходит ошибка.

Согласно этой идее, я нашел информацию в статье, соответствующей MOS на официальном сайте: 11g: TNS-12532 / ORA-12532 Сообщил Когда брандмауэр включен (Document ID 748466,1).

Это очень неправильно внутри, как правило, не может рассматриваться обычными пользователями. Основная причина заключается в том, что, когда клиент отправляет информацию из, заблокированы брандмауэров или по другим причинам.

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

Файл параметров используется:

TNSNAMES адаптер был использован для разрешения псевдонимов

Неисправность исчезает. Коллеги рекомендуют удалить Oracle, установить клиент 11.2.0.4 серии.
3, заключение
Oracle Net соединение обеспечивается официальной политикой, много друзей, есть целый ряд проблем в процессе конфигурации. На практике, не обманывайте проблемой появления, распутывая постепенное углубление может помочь нам правильно решить эту проблему.

Это переключился ИКТ пространства-времени dbasdk блог, описание ссылки,В Oracle 11g TNS ошибка соединения ORA-12532 Поиск и устранение неисправностейДля перепечатки, пожалуйста, свяжитесь сами оригинальные блоггеры.

enter image description here

I Google [d] для этой ошибки ORA-12560: TNS: ошибка адаптера протокола, но не может найти фактическую причину и как решить эту ошибку?

Может ли кто-нибудь сказать мне идеальное решение для решения проблемы входа в систему.

ОТВЕТЫ

Ответ 1

После запуска и запуска из командной строки выполните следующее:

(запись tnsalias вы можете найти в файле tnsnames.ora)

Services

Ответ 2

Кажется, что база данных не работает. Возможно, это связано с перезагрузкой машины, и экземпляр не настроен на автозапуск, и поэтому он не запускается вручную после запуска с экрана служб.

Просто перейдите в командную строку

Установить Oracle SID C: > set oracle_sid = ORCL

Теперь запустите команду Net start. C: > net start oracleserviceORCL

Ответ 3

В моем случае у меня не было OracleService (OracleServiceORCL) в Windows Services.msc , как описано в ответе Бхарати.

Я выполнил эту команду:

а затем OracleService , называемый OracleServiceORCL, только что появился и запущен в Services.msc. Действительно приятно.

Ответ 4

Добавьте в среду vars следующую переменную и значение, чтобы определить место файла tnsnames.ora:

Ответ 5

Довольно часто это означает, что слушатель не запустился. Проверьте панель "Службы".

В Windows (как и вы) еще одна распространенная причина заключается в том, что ORACLE_SID не определен в реестре. Либо отредактируйте реестр, либо установите ORACLE_SID в поле CMD. (Поскольку вы хотите запустить sqlplusw.exe, я предлагаю вам отредактировать реестр.)

Ответ 6

из командной консоли, если вы получите эту ошибку, вы можете избежать ее, набрав sqlplus/nolog

то вы можете подключиться conn user/pass @host: порт/сервис

Ответ 7

Я решил проблему простым способом. В прошлом мой оракул работал отлично. После установки MS SQL Server я заметил эту проблему. Я просто удалил MS SQL Server на своей машине, тогда проблема исчезла. После этого перезагрузите компьютер. Теперь я могу снова подключиться к базе данных Oracle через SQLPlus. Я предполагаю, что между ними есть конфликт. Надеюсь, это поможет.

Ответ 8

После поиска у него есть простой способ его решить. Просто выполните следующие действия.

  • Проверить статус вашего слушателя.
    • откройте командную строку и введите lsnrctl status
    • Вы не получите слушателя.

    Теперь откройте файл listener.ora , который присутствует в следующем каталоге: C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN

      Откройте этот файл и измените параметр узла с именем компьютера

    Вы можете получить имя своего компьютера, щелкнув правой кнопкой мыши по My Computer и проверить имя компьютера и заменить параметр узла именем компьютера следующим образом:

    LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = Electron-PC)(PORT = 1521) ) ) )

    Итак, здесь вы можете наблюдать HOST = Electron-PC , который является моим именем компьютера.

    Сохраните файл listener.ora и снова вернитесь к поддержке cammand

    3. Введите в командной строке следующее lsnrctl start

    Это запустит OracleTNSListner .

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

    Просто так много, и вы готовы снова работать на оракуле.

    Ответ 9

    Если это не работает, попробуйте следующее: Измените LISTENER.ora (мой найден в: oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora ) == > добавьте пользовательский прослушиватель, который указывает на вашу базу данных (SID), например, мой SID - XZ0301, поэтому:

    Для Windows 7 для изменения LISTENER.ora выполните следующие действия: - Перейдите в меню "Пуск" > "Все программы" > "Аксессуары" - Щелкните правой кнопкой мыши "Блокнот" и выберите "Запуск от имени администратора". - Файл > открыть и перейти к файлу tnsnames.ora. - Внесите изменения, после чего он позволит вам сохранить

    Ответ 10

    Еще одно возможное решение, которое просто сработало для меня. учитывая, что я использовал свой локальный логин в качестве разрешений dba.

    Ответ 11

    Вам нужно указать SQLPlus, к какой базе данных вы хотите войти. Строка хоста должна быть либо строкой соединения, либо псевдонимом, настроенным в вашем файле TNSNames.ora.

    Ответ 12

    Это действительно сработало на моей машине. Но вместо OracleServiceORCL я нашел OracleServiceXE.

    Ответ 13

    В моем случае (ORA-12560: ошибка адаптера протокола TNS) Проблема Причина проблемы с подключением к базе данных, например, базы данных, имени пользователя и пароля.

    Как только у вас возникла проблема. Первоначально вам нужно проверить сведения о подключении, после проверки службы oracle и далее.

    Я пропустил некоторые детали подключения, поэтому только я получил ошибку адаптера протокола TNS, Я изменил детали соединения, он будет работать нормально.

    Ответ 14

    В моем случае (для OracleExpress) служба выполнялась, но я получил эту проблему при попытке получить доступ к базе данных через sqlplus без идентификатора соединения:

    Чтобы сделать его работу, мне нужно было добавить идентификатор соединения (XE для Oracle Express), поэтому следующая команда работала нормально:

    Если вы все еще получаете ORA-12560, убедитесь, что вы можете выполнить команду XE. Использование:

    Ответ 15

    Поток текущих шагов:

    Измените файл listener.ora и tnsnames.ora в $ Oracle_home\product\11.2.0\client_1\NETWORK\ADMIN location

    а. добавить файл listener.ora

    ADR_BASE_LISTENER = C: [здесь c является домашним каталогом оргцов]

    б. добавить файл tnsnames.ora

    1. Откройте командную строку и введите
      Имя пользователя sqlplus/passowrd @oracle_connection_alias

    Пример:
    имя пользователя: your_database_username
    пароль: Your_database_password
    oracle_connection_alias: SCHEMADEV для приведенного выше примера.

    мой tnsnames.ora заполняется, и a tnsping в связи с определенными в tnsnames.ora работает нормально. Тем не менее, SQL Developer не отображает никаких соединений.

    Oracle SQL Developer взлетает упоминает, что если

    у вас есть клиентское программное обеспечение Oracle и tnsnames.файл ora уже установлен на вашем компьютере, Oracle SQL Developer автоматически заполнит соединения навигатор из имен сетевых служб, определенных в tnsnames.Ора.

    Я также попытался установить мой TNS_ADMIN переменная среды, но после перезапуска SQL Developer по-прежнему не отображаются подключения.

    какие идеи?
    Любой, кто успешно работает с SQL Developer и tnsnames.Ора?

    • на SQLDeveloper обзор Tools --> Preferences , как показано на рисунке ниже.

    SQLDeveloper access preferences

    теперь вы можете подключиться через файл tnsnames параметры.

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

    копирование содержимого из ссылочного ответа:

    разработчик SQL будет искать в следующем расположении в этом порядке для имен tnsnames.файл Ora

    $HOME/.файл tnsnames.Ора!--12--> $TNS_ADMIN / tnsnames.Ора!--12--> Tns_admin ключ поиска в реестре
    / etc / tnsnames.ora (не-windows )
    $ORACLE_HOME, т./сети/администратор/файла tnsnames.Ора!--12--> LocalMachine\SOFTWARE\ORACLE\ORACLE_HOME_KEY
    Программное обеспечение значение LocalMachine\\оракул пути ORACLE_HOME\

    Если ваши tnsnames.файл ora не распознается, используйте следующую процедуру:

    определите переменную среды с именем TNS_ADMIN, чтобы указать папку, содержащую ваши имена tnsnames.файл ora.

    в Windows это делается переход к панели управления > Система > Дополнительные параметры системы > Переменные среды.
    В Linux определите переменную TNS_ADMIN в поле .файл профиля в домашнем каталоге.

    подтвердите, что ОС распознает эту переменную окружающей среды

    из командной строки Windows: echo %TNS_ADMIN%

    из linux: echo $TNS_ADMIN

    перезапустить SQL Developer Теперь в SQL Developer щелкните правой кнопкой мыши на Connections и выберите New Соединение. Выберите TNS в качестве типа соединения в раскрывающемся списке. Ваши записи из файла tnsnames.теперь ora должна отображаться здесь.

    у меня была такая же проблема, tnsnames.ora отлично работал для всех других инструментов, но разработчик SQL не использовал его. Я пробовал все предложения в интернете, которые мог найти, включая решения по ссылке, представленной здесь.
    Ничего не помогало.

    оказывается, что база данных кэшировала резервные копии tnsnames.ora Как tnsnames.ora.bk2 , tnsnames09042811AM4501.bak , tnsnames.ora.bk etc. Эти файлы не читались обычным пользователем.

    Я подозреваю, что sqldeveloper соответствует шаблону для имени, и это было пытался прочитать одну из этих резервных копий и не смог. Таким образом, он просто терпит неудачу и ничего не показывает в раскрывающемся списке.

    решение состоит в том, чтобы сделать все файлы читаемыми или удалить или переместить резервные копии из каталога администратора.

    Это помогло мне:

    опубликовано: 8/12/2011 4: 54

    установить каталог tnsnames Инструменты- > Настройки->база данных->дополнительно - >каталог Tnsnames

    Читайте также: