Get started with oracle database 11g express edition не запускается
При входе в базу данных Oracle может выдаваться ошибка ORA-01017: invalid username/password; logon denied, хотя пароль при вводе набирается правильный. Причин может быть несколько, но в данном посте будет рассмотрена одна из них – инициализационный параметр sec_case_sensitive_logon.
Параметр sec_case_sensitive_logon позволяет включать или выключать чувствительность к регистру паролей в базе данных Oracle (БД). Параметр принимает два значения – TRUE или FALSE, при TRUE – пароли пользователей чувствительны к регистру, а при FALSE, соответственно, нет. Значение параметра sec_case_sensitive_logon можно просмотреть командой show parameter sec_case_sensitive_logon. Запрос ниже показывает, что параметр имеет значение TRUE. Это означает, что чувствительность к регистру паролей в БД включена.
Изменить значение параметра sec_case_sensitive_logon можно командой alter system set sec_case_sensitive_logon = false или alter system set sec_case_sensitive_logon = true. Команда ниже отключает чувствительность к регистру паролей.
Начиная с версии Oracle Database 12.1.0.1, параметр sec_case_sensitive_logon считается устаревшим. Это значит, что Oracle не вносит в него дальнейших изменений, и пользователи не должны менять значение параметра. Значение по умолчанию TRUE. Если же значение будет изменено, то пользователь получит предупреждение при запуске БД:
Также, начиная с Oracle Database 12c release 2 (12.2), по умолчанию версией протокола аутентификации является 12 (известный как Exclusive Mode). Этот протокол для аутентификации требует чувствительные к регистру пароли. Например, для Oracle Database 12c release 2 (12.2) значение по умолчанию для параметра SQLNET.ALLOWED_LOGON_VERSION_SERVER в файле SQLNET.ORA равно 12. Файл SQLNET.ORA по умолчанию находится в следующей директории операционной системы:
Параметр SQLNET.ALLOWED_LOGON_VERSION_SERVER отображает протокол аутентификации, используемый для сервера. И по умолчанию, Oracle больше не поддерживает пароли, не чувствительные к регистру – разрешены только новые версии паролей (11G и 12C). В связи с этим при входе в БД с значением FALSE для параметра sec_case_sensitive_logon можно получить ошибку:
ORA-01017: invalid username/password.
Данная ситуация возникает из-за того, что параметр sec_case_sensitive_logon имеет значение FALSE и параметр SQLNET.ALLOWED_LOGON_VERSION_SERVER имеет значение 12 или 12a. Oracle Database не запрещает использование значения FALSE параметра sec_case_sensitive_logon, когда значение SQLNET.ALLOWED_LOGON_VERSION_SERVER равно 12 или 12a. Но при таких условиях, все учетные записи кроме имеющих роль sysdba становятся недоступными. И именно такие настройки вызывают ошибку ORA-01017: invalid username/password. Есть два способа выхода из этой ситуации.
Вторым способом является присвоение параметру SQLNET.ALLOWED_LOGON_VERSION_SERVER в файле SQLNET.ora значение, ниже 12, например, 11 версию протокола аутентификации. Но это решение подразумевает необходимость смены паролей для всех пользователей БД с ролью, отличной от sysdba. Ниже в примерах показывается возникновение ошибки и ее решение двумя вышеописанными способами.
Пример 1. Возникновение ошибки при изменении параметра sec_case_sensitive_logon. Выполняется подключение к подключаемой базой данных (Pluggable Database – PDB) XEPDB1 Oracle Database 18c Express Edition под пользователем sys:
Проверяется текущее значение параметра sec_case_sensitive_logon. Результат команды показывает, что параметр чувствительности к регистру пароля включен:
Назначается пароль пользователю hr и выполняется выход из БД:
Выполняется подключение к базе данных под пользователем hr.
Подключение успешно прошло под пользователем hr.
Далее, выполняется отключение от базы под пользователем hr и подключение к контейнерной базе данных (Container Database – CDB) Oracle Dabase 18c Express Edition под пользователем sys.
Изменяется значение параметра sec_case_sensitive_logon на FALSE.
Проверяется новое значение параметра sec_case_sensitive_logon.
Для информации: значение параметра sec_case_sensitive_logon в Oracle Database 18c Express Edition необходимо сменить в контейнерной базе данных, а не в подключаемой базе данных. В противном случае можно получить следующую ошибку:
ERROR at line 1: ORA-65040: operation not allowed from within a pluggable database
Далее, нужно подключиться к подключаемой базе данных под пользователем hr.
При подключении система выдает ошибку, сообщающую о том, что был введен неверный логин или пароль.
Проверяется, поможет ли возврат значения параметра успешно подключиться к базе данных. Подключение к БД происходит под пользователем hr еще раз.
Как можно убедиться, подключение прошло без ошибок после возвращения значения на TRUE.
Пример 2. Возвращается параметру sec_case_sensitive_logon значение FALSE, чтобы смоделировать ошибку и показать второй способ решения. Выполняется подключение к БД под пользователем sys и меняется значение параметра sec_case_sensitive_logon на FALSE.
Выполняется исправление ошибки другим способом. Осуществляется переход в папку $ORACLE_HOME/network/admin и проверяется ее содержимое.
На подключение к базе данных также влияет значение параметра SQLNET.ALLOWED_LOGON_VERSION_SERVER в файле sqlnet.ora. Как было сказано выше, по умолчанию для версий Oracle Database 12.2 и выше используется версия алгоритма пароля, равная 12. В Oracle Database 18с Express Edition, которая используется в данном примере, параметр SQLNET.ALLOWED_LOGON_VERSION_SERVER в файле sqlnet.ora отсутствует. Это значит, что БД использует версию алгоритма паролей равную 12 по умолчанию. Вручную, добавив строку SQLNET.ALLOWED_LOGON_VERSION_SERVER=11 задается значение параметра равное 11. После этого содержимое файла sqlnet.ora выглядит следующим образом:
Пароли пользователей кроме имеющих роль sysdba должны быть изменены после изменения значения параметра SQLNET.ALLOWED_LOGON_VERSION_SERVER на 11 версию. Иначе они получат ошибку при входе, как показано в примере ниже.
Выполняется подключение под пользователем sys и проверяется версия протоколов пароля пользователя hr:
Результат выполнения команды показывает, что у hr до сих пор применяются версии протоколов пароля 11g и 12c. Необходимо сменить ему пароль, чтобы в данном случае исключить ошибку при входе пользователя. Для этого, изменяется пароль пользователю hr и проверяется версия паролей пользователя hr.
После смены пароля выполняется подключение под пользователем hr. Ниже результат команды показывает, что подключение прошло успешно.
На этом завершается описание способов решения ошибки ORA-01017: invalid username/password; logon denied, связанной с параметром sec_case_sensitive_logon.
Я начал использовать сервер базы данных Oracle в 64-разрядной ОС Windows 7, и я столкнулся со следующей ошибкой.
Я попытался изменить свойства get_started, но он говорит, что изменение не может быть применено к этому ярлыку.
ОТВЕТЫ
Ответ 1
Проблема должна быть решена.
Надеюсь, вам это поможет.
Ответ 2
Или вы можете создать новый ярлык и установить его url на предыдущую ссылку
Ответ 3
Это то, что сработало для меня в Windows 8.1 с Update 1, 64-bit:
Ответ 4
Я нашел решение Щелкните правой кнопкой мыши ярлык > выберите свойствa > перейдите на вкладку безопасности > Выберите "Прошедшие проверку" > и дайте разрешение на все, и теперь попробуйте изменить URL-адрес, который вы сможете сделать Надеемся на эту помощь.
Ответ 5
Убедитесь, что эти службы работают:
- OracleJobSchedulerXE
- OracleMTSRecoveryService
- OracleServiceXE
- OracleXEClrAgent
- OracleXETNSListener
Ответ 6
Возможно, вам нужно разблокировать анонимную учетную запись, чтобы запустить Apex. Используйте этот код для cmd:
Если это не сработает, вы можете попробовать предыдущие шаги, определенные в статье.
Надеюсь, вы решите эту проблему.
Ответ 7
У меня есть решение. Я сделал Internet Explorer своим браузером по умолчанию, а затем добавлю 127.0.0.1 В разделе "Добавить этот веб-сайт в зону".
Ответ 8
Это сработало для меня.
Ответ 9
Использование localhost вместо 127.0.0.1 работало для меня.
Ответ 10
Правильное решение состоит в том, чтобы сопоставить записи в файле:
С записями в файле:
Наконец, под учетной записью администратора выполните:
решаемая. Не нужно менять имя, нет перетаскивания.
Ответ 11
Попробуйте запустить его как администратор или пользователь admin. Я сделал это. Он работает
Ответ 12
Проверьте свою антивирусную программу, некоторые из этих программ блокируют порты, разблокируют их, там вы идете, это работает!
Ответ 13
Ответ 14
Чтобы успешно выполнить прогон Database_Oracle_Application_Express_11gr, выполните следующие действия:
- сделать Windows_key + R - он откроет Run
- введите в services.msc
- выберите Extended View из ниже, чтобы просмотреть все службы.
- нажмите клавишу "O", чтобы открыть Службы, начиная с буквы "O"
- найдите службу с именем: OracleServiceXE
- go right_click и перейдите к свойствам
- в свойствах: установите для параметра "Тип запуска" значение "Автоматически". Это он.
попробуйте снова запустить Database_Oracle и успешно получить доступ.
Ответ 15
Введите в адресную строку браузера
Материал посвящен системе управления базами данных от компании Oracle, а именно бесплатной версии Oracle Database Express Edition 11g Release 2, сегодня мы узнаем, что это за СУБД, какие ограничения у Express версии и как ее можно установить.
Последнее время мы с Вами стали очень часто затрагивать тему баз данных, но если говорить конкретней в основном мы касались СУБД от компании Microsoft, а именно Microsoft SQL Server Express, например, рассматривали Microsoft SQL Server Express 2008, а так как это далеко не последняя версия, мы также рассматривали возможность обновления 2008 версии до Microsoft SQL Server Express 2014. Теперь предлагаю познакомиться с одной из лучших СУБД (по мнению многих специалистов лучшей), а именно с Oracle Database. И естественно, что рассматривать данный продукт мы будем на бесплатной версии Oracle Database Express Edition 11g Release 2, на момент написания статьи это последняя версия Oracle Database Express Edition.
Предлагаю сначала сделать небольшой обзор Oracle Database, затем плавно перейти к Express версии, и в заключение, конечно же, подробно рассмотреть процесс установки Oracle Database Express Edition 11g Release 2 на операционную систему Windows 7.
Что такое Oracle Database?
Oracle – это крупнейшая в мире компания по разработке программного обеспечения для предприятий. Специализация Oracle является разработка систем управления базами данных, таких как Oracle Database, а также других бизнес-приложений.
В названии каждой версий мы наблюдаем номер версии и букву, например 11g, где g – это «grid» или сеть, символизируя тем самым поддержку grid-вычислений.
В 2013 году вышла версия 12c, где c означает cloud (облако).
Данная СУБД поддерживает много платформ, например: Linux x86, Linux x86-64, как 32 разрядные Windows так и 64, Solaris x86, Solaris SPARC (64-бит), Mac OS X Server и еще много других.
Oracle Database поставляется в следующих редакциях:
- Oracle Database Enterprise Edition;
- Oracle Database Standard Edition;
- Oracle Database Standard Edition One;
- Oracle Database Personal Edition;
- Oracle Cloud File System;
- Oracle Database Mobile Server;
- Oracle Database Express Edition.
Oracle Database Express Edition
Oracle Database Express Edition (Oracle Database XE) – это бесплатная версия базы данных Oracle Database для начинающих разработчиков и администраторов, которые если освоят данную СУБД, смогут легко перейти на полноценную версию.
Так как это версия бесплатная она естественно имеет ограничения:
- Она будет использовать не более 1 гигабайта оперативной памяти;
- Также будет использовать только один процессор;
- Всего одна база данных размером не более 11 гигабайт;
- Может быть установлена только на ОС Windows x32, Windows x64 и Linux x86-64.
На данный момент последней версией является Oracle Database Express Edition 11g Release 2, поэтому именно ее мы и будем устанавливать, но прежде давайте узнаем, где же взять данное программное обеспечение.
Где скачать Oracle Database Express Edition 11g Release 2?
Конечно, скачать данную СУБД можно с официального сайта компании Oracle, а конкретно на странице посвященной Oracle Database Express Edition
После этого начнется загрузка файла, в нашем случае это OracleXE112_Win32.zip (сжатый архив) размером 312 мегабайт.
Установка Oracle Database Express Edition 11g Release 2 на Windows 7
После скачивания файла его необходимо разархивировать, как это делается мы говорили в материале Как заархивировать и разархивировать файл.
Примечание! Вся установка и интерфейс программного обеспечения входящего в состав Oracle Database Express на английском языке.
Шаг 1
Для установки переходим в распакованный каталог, открываем папку DISK1 и запускаем setup.exe, в последствие будет выполнена подготовка к установке
Шаг 2
Затем откроется окно приветствия, жмем «Next».
Шаг 3
Далее нам необходимо прочитать и согласиться с лицензионным соглашением, выбираем «I accept the terms in the license agreement» и жмем «Next».
Шаг 4
Далее нужно будет указать путь установки, я оставляю все по умолчанию и жму «Next». Также на данном окне будет показано свободное место на выбранном диске и сколько места необходимо для установки, как видите, у меня места хватает.
Шаг 5
Далее придумываем и вводим пароль для системной учетной записи SYSTEM, это своего рода учетка главного администратора, жмем «Next».
Шаг 6
В заключение проверяем введенные параметры и нажимаем «Next».
Вот и началась установка Oracle Database Express Edition 11g Release 2
Установка будет завершена после появления следующего окна, в котором нажимаем «Finish».
Например, для подключения к серверу откройте «Run SQL Command Line», введите команду connect, на вопрос «Enter user-name:» введите system (название учетной записи), а на вопрос «Enter password:» вводим пароль, который мы придумали и ввели в ходе установки, и если Вы увидели Connected, то это значит, Вы подключились и можете писать свои sql запросы, например:
Но для этих целей лучше использовать Oracle SQL Developer, но об этом чуть ниже.
Заметка! Если Вы начинающий программист и у Вас нет базовых знаний языка SQL, то я Вам рекомендую почитать книгу «SQL код» – это самоучитель по данному языку. Книга написана мной, в ней я очень подробно рассказываю о языке SQL.
Если Вы запустили и увидели данное окно, то значит, установка прошла успешно.
На этом предлагаю заканчивать, так как данную СУБД мы установили, в следующем материале мы подробно разберем инструмент разработчика приложений на базе Oracle Database это, конечно же, SQL Developer, так как материал обширный, и он заслуживает отдельной статьи.
Oracle Database Express Edition 11g Release 2 - это легковесная версия СУБД Oracle 11g Release 2, предназначенная для обучения и разработки приложений. Она бесплатна для всех категорий пользователей. Ограничения, о которых сообщается на сайте Oracle: СУБД использует 1 процессор, до 1 GB оперативной памяти и позволяет хранить не более 11 GB данных.
Дистрибутив для Windows представляет собой zip файл, после распаковки которого получаем папку DISK1 с установочными файлами. Запускаем setup.exe :
После принятия условий лицензионного соглашения и определения директории, в которую будет выполнена установка (по умолчанию c:\oraclexe), предлагается ввести пароль для учетных записей базы данных SYS и SYSTEM.
Программа установки суммирует для нас ключевую информацию, прежде чем начать установку:
Нажимаем кнопку Install, и через несколько минут установка завершена:
Во-первых, создана директория c:\oraclexe , в которую мы и заглянем:
В папке c :\ oraclexe \ app \ oracle \ product \11.2.0\ server ( Oracle Home с установочного экрана Summary ) размещено программное обеспечение СУБД Oracle, серверное и клиентское.
В папке c :\ oraclexe \ app \ oracle \oradata\XE находятся файлы базы данных, созданной во время установки. Так, файл SYSTEM.DBF физически хранит системный словарь базы данных, а файл USERS.DBF предназначен для пользовательских данных.
В-третьих, созданы и сконфигурированы новые сервисы Windows:
После установки Oracle Database Express Edition 11g Release 2 оба эти сервиса настроены для автоматического запуска при запуске операционной системы. Чтобы сервер Oracle не потреблял ограниченные ресурсы компьютера, когда в этом нет необходимости, имеет смысл для обоих сервисов установить тип запуска 'Вручную':
После этого запуск и останов сервисов OracleXETNSListener и OracleServiceXE можно выполнять из меню Пуск с помощью пунктов меню Start Database и Stop Database, соответственно.
Как вариант, можно сделать собственные командные файлы для запуска и останова сервисов, например:
Запуск сервисов Oracle при помощи командного файла:
В-четвертых, в ходе установки Oracle Database Express Edition 11g Release 2 в реестре Windows создан ключ \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE с конфигурационными параметрами. Запустим regedit , чтобы исследовать эти параметры:
Итак, установка Oracle Database Express Edition 11g Release 2 привнесла на компьютер:
Убедимся, что установленные программы работоспособны. С помощью пункта меню Пуск Oracle Database 11g Express Edition -> Run SQL Command Line запустим SQL*Plus:
Соединение с СУБД Oracle пока не установлено, и программа ожидает наших команд. Установим соединение, воспользовавшись учетной записью SYSTEM и паролем, который мы ввели ранее в ходе установки. И выполним простейший SQL запрос:
Для завершения соединения и выхода из SQL*Plus достаточно ввести exit.
Проверим работу listener'а для установки соединения к Oracle. Воспользуемся утилитой tnsping для проверки соединения с базой данных по имени XE. Далее откроем сеанс работы в SQL*Plus, присоединившись к базе данных по имени XE:
Имя XE (от eXpress Edition) было сконфигурировано в ходе установки Oracle специально для установления соединения с базой данных. За именем XE стоит набор параметров, которые можно посмотреть в файле tnsnames.ora в директории c :\ oraclexe \ app \ oracle \ product \11.2.0\ server \network\admin :
Если остановить сервис OracleXETNSListener, то присоединиться к СУБД по имени XE не удастся, хотя локальное соединение (без указания TNS имени) по-прежнему будет работать. Клиентские программы с других компьютеров могут присоединиться к СУБД XE только посредством listener'а.
Итак, СУБД Oracle Database Express Edition 11g Release 2 установлена и работает.
У нас есть приложение, работающее локально, где мы видим следующую ошибку:
ORA-12514: TNS: слушатель в настоящее время не знает об услуге, запрошенной в дескрипторе соединения
Я протестировал соединение, TNSPing которое было разрешено правильно, и попытался SQLPlus установить соединение, которое не удалось с той же ошибкой, что и выше Я использовал этот синтаксис для SQLPlus :
Мы убедились, что:
- прослушиватель TNS на сервере работает.
- Сам Oracle на сервере работает.
Мы не знаем о каких-либо изменениях, которые были сделаны в этой среде. Что-нибудь еще мы можем проверить?
Какую команду TNSPing (с параметрами) вы использовали? когда вы говорите «работает локально», вы имеете в виду, что приложение подключается к базе данных на том же хосте? Кроме того, каково содержимое вашего файла sqlnet.ora? какие версии указаны для sqlplus и tnsping, и вы уверены, что они находятся в одном и том же ORACLE_HOME? попробуйте перезапустить базу данных. Так как они должны сообщить Слушателю об их существовании при запуске, это может решить вашу проблему. ALTER SYSTEM REGISTER менее радикальна, чем перезапуск базы данных.У меня возникла эта проблема, и исправление состояло в том, чтобы убедиться, что в вашей базе данных tnsnames.ora указано SERVICE_NAME правильное имя службы. Чтобы узнать действительные имена сервисов, вы можете использовать следующий запрос в Oracle:
Однажды я обновился tnsnames.ora до:
тогда я побежал:
Успех! Слушатель в основном говорит вам, что какое бы имя_службы вы не использовали, оно не является действительным сервисом в соответствии с БД.
(* Я запускал sqlplus с клиентской рабочей станции Win7 на удаленную БД и обвинял администраторов БД;) *)
Как я могу запросить БД, если я не могу даже подключиться к ней? Можете ли вы напрямую подключиться к серверу БД и запустить оттуда sqlplus? это может быть не тот случай, когда несколько клиентов / серверов установлены или использовались для установки на одном компьютере. (tnsping выводит местоположение каталога, который он использует) - в моем случае, listener.ora в этом каталоге содержал информацию, относящуюся к старому экземпляру базы данных, который я удалил - быстрым и грязным способом было скопировать все содержимое listener.ora из моя текущая установка Oracle Express в этот другой каталог, который слушатель, кажется, проверяет (я думаю, что я изменил его через реестр или что-то в этом роде, и он имеет приоритет над ORACLE_HOME (?))Я знаю, что это старый вопрос, но все еще без ответа. Это заняло у меня целый день исследований, но я нашел самое простое решение, по крайней мере, в моем случае (Oracle 11.2 в Windows 2008 R2) и хотел поделиться им.
Ошибка, если смотреть непосредственно, указывает, что слушатель не распознает имя службы. Но где он хранит названия сервисов? В %ORACLE_HOME%\NETWORK\ADMIN\listener.ora
«SID_LIST» - это просто список SID и имен сервисов в паре в формате, который вы можете скопировать или найти.
Я добавил проблему Service Name, затем в панели управления Windows «Службы» произвел «Перезапуск» в службе прослушивания Oracle. Теперь все хорошо.
Например, ваш файл listener.ora может изначально выглядеть так:
. И чтобы он распознал имя службы orcl , вы можете изменить его на:
vapcguy, вы должны быть на сервере базы данных. Похоже, вы на клиенте Следуя инструкциям Sepideh, касающимся сетевого менеджера, я заметил, что мой файл listeners.ora был обновлен и теперь содержит новую запись SID_LIST. Я отредактировал этот ответ, чтобы включить пример синтаксиса «до и после» для читателей, которые по какой-либо причине не могут использовать Net Manager.У меня была эта проблема на Windows Server 2008 R2 и Oracle 11g
перейдите в Net Manager> Слушатель> выберите службы баз данных из поля со списком> «Глобальное имя базы данных» должно совпадать с «SID», а «Oracle Home Directory» должен быть правильным.
Если у вас нет записей для служб баз данных, создайте их и задайте правильную глобальную базу данных sid и oracle home.
Мой дескриптор в tnsnames.ora :
Итак, приступаю к регистрации сервиса в listener.ora ручном режиме:
Наконец, перезапустите слушатель по команде:
Запуск OracleServiceXXX из services.msc работал для меня в Windows.
В Windows, если вы используете Oracle Release 12.x, убедитесь, что служба OracleServiceORCL запущена. Если эта служба не запущена, то вы также получите тот же код ошибки.Это действительно должен быть комментарий к ответу Брэда Риппе , но, увы, недостаточно реп. Этот ответ дал мне 90% пути туда. В моем случае установка и настройка баз данных помещают записи в файл tnsnames.ora для баз данных, которые я запускал. Во-первых, я смог подключиться к базе данных, установив переменные среды (Windows):
а затем подключение с помощью
Далее запустим команду из ответа Брэда Риппе:
показал, что имена не совпадают точно. Записи, созданные с помощью Oracle Database Configuration Assistant, где изначально:
Я перезапустил службу прослушивателя TNS (я часто использую lsnrctl stop и lsnrctl start из командного окна администратора [или Windows Powershell] вместо панели управления службами, но оба работают.) После этого я смог подключиться.
У меня такая же проблема. Для меня просто пишу
сделал трюк, делая так, он подключается к имени службы по умолчанию, я думаю.
У нас была похожая проблема с нашей строкой соединения, вызывающая эту ошибку. Мы подключали с помощью тонкого драйвера Oracle, JDBC со строкой подключения: jdbc:oracle:thin:@//localhost:1521/orcl . Скорректированная строка подключения , чтобы устранить эту ошибку было: jdbc:oracle:thin:@localhost:1521 . это зависит от того, сработает ли это - я думаю, что этот способ подключения, судя по тому, что говорили другие, полностью обходит слушателя, используя имя хоста компьютера вместо SID - этот способ подключения вызывает проблемы у сторонних клиентов, - я думаю, это также работает, только когда EZCONNECT указан в sqlnet.ora: NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)То, что работало для меня, было действительно простым, мне просто нужно было вручную запустить службу в «Службах Windows» (services.msc в cmd trompt). мое сервисное имя: OracleServiceXXXXX.
В моем случае, хотя Тип запуска установлен на Автоматический, он не запускается при загрузке компьютера. После запуска вручную службы «OracleServiceXE» она работает с Oracle Database 11g Express для подключения к БД и веб-странице APEX (Oracle Application Express).Проверьте, что база данных работает. Войдите на сервер, задайте для переменной среды ORACLE_SID SID базы данных и запустите SQL * Plus в качестве локального соединения.
Это была именно моя проблема. Наша база данных размещена на виртуальной машине, которая была недоступна, когда я пытался использовать другую программу, которая использовала DP. После просмотра этой темы я понял, что это, вероятно, было вниз.Эта ошибка может возникать, когда приложение устанавливает новое соединение для каждого взаимодействия с базой данных или соединения не закрываются должным образом. Одним из бесплатных инструментов для мониторинга и подтверждения этого является Oracle Sql developer (хотя это не единственный инструмент, который вы можете использовать для мониторинга сеансов БД).
Вы можете скачать инструмент с сайта оракула Sql Developer
Вот скриншот того, как следить за вашими сессиями. (если вы видите много сессий, накапливающихся для пользователя вашего приложения во время, когда вы видите ошибку ORA-12514, то это хороший признак того, что у вас может быть проблема с пулом соединений).
Я решил эту проблему в своей среде linux, обновив IP-адрес моей машины в файле / etc / hosts.
Вы можете проверить свой сетевой IP (inet end.) С помощью:
Посмотрите, совпадает ли ваш IP с файлом / etc / hosts:
Отредактируйте файл / etc / hosts, если он подключен:
это старый, но нет смысла добавлять ваш IP в / etc / hosts. ОП отсутствует SERVICE_NAME, другие вещи совершенно не связаныДля тех, кто может использовать Oracle на виртуальной машине (например, я), я видел эту проблему, потому что моей виртуальной машине не хватало памяти, что, по-видимому, препятствовало правильному запуску / запуску OracleDB. Увеличение моей виртуальной памяти и перезапуск исправили проблему.
Для меня ошибка 12514 была решена после указания правильного SERVICE_NAME. Вы обнаружите, что на сервере в файле, tnsnames.ora который поставляется с 3 предопределенными именами служб (одно из них «XE»).
Если SERVICE_NAME=XE вы ошиблись, вы получите ошибку 12514. Это SERVICE_NAME необязательно. Вы также можете оставить это в стороне.
Большое спасибо, из вашего решения я нашел хитрость, в моем случае это был антивирус, который блокировал программу, и поэтому не смог получить соединение с Oracle db.Я также столкнулся с той же самой проблемой и потратил 3 дня, чтобы выкопать это.
Это происходит из-за неправильного входа в службу TNS.
Сначала проверьте, можете ли вы подключиться к резервной базе данных из первичной базы данных, используя sql> sqlplus sys@orastand as sysdba ( orastand резервная база данных).
Если вы не можете подключиться, то это проблема с сервисом. Исправьте запись имени службы в файле TNS на первичном конце.
Проверьте резервную базу данных таким же образом. Внесите изменения и здесь, если требуется.
Читайте также: