Не работает em oracle
У нас есть приложение, работающее локально, где мы видим следующую ошибку:
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 на первичном конце.
Проверьте резервную базу данных таким же образом. Внесите изменения и здесь, если требуется.
База данных Oracle имеет все необходимое для управления и мониторинга в виде "V$*" или "DBA_*" dictionary views, доступ к которым может быть получен через командную строку (SqlPlus) или через графический интерфейс (Enterprise Manager), так популярный в среде "ДБА v2.0". Сам по себе EM как продукт оставляет желать лучшего, но уже достиг того уровня стабильности, на котором EM может быть полезным и использоваться в реальной жизни.
Очень часто возникает ситуация, когда сам по себе Enterprise Manager не работает - в этом случае "ДБА v2.0" начинает чувствовать свою бесполезность. Решение очевидно - надо знать и уметь использовать средства командной строки. К сожалению (или к счастью?) это требует некоего понимания архитектуры и реализации Oracle RDBMS, а также наличия базовых навыков работы с UNIX.
Менее очевидное, но более заманчивое решение кроется в восстановлении работоспособности EM.
Надо также признать, что во многих случаях EM может быть хорошим средством для просмотра графиков производительности, быстрого поверхностного анализа истории работы системы. обнаружения очевидных дефектов в SQL запросах и прочей черновой работы. Особенно полезен EM может быть для разработчиков под Oracle, которым необходимо быстро установить тестовую систему, поддерживать и настраивать ее самостоятельно.
Опыт показывает, что "поломанный" EM достаточно трудно привести в рабочее состояние. Особенно в ситуации "одно пользовательской" системы, полностью поддерживаемой разработчиком или даже бизнес-пользователем.
В этой заметке мы попробуем наиболее простой способ восстановления работоспособности ЕМ - его полную переустановку. Естественно, вся "история" работы системы при этом будет утеряна - но графики и прочие ценные для разработчика средства будут восстановлены. По затратам времени этот подход куда более эффективен, чем попытки устранения неполадок в Enterprise Manager. Также эта заметка может быть использована желающими "включить" EM в не имеющей его, но уже работающей базе данных.
Прежде чем мы продолжим, я хотел бы привести строки из Евангелия:
. == От Луки святое благовествование == .
=== Глава 21, Стих 8 ===
8 Он сказал: берегитесь, чтобы вас не ввели в заблуждение, ибо многие придут
под именем Моим, говоря, что это Я; и это время близко: не ходите вслед их.
9 Когда же услышите о войнах и смятениях, не ужасайтесь, ибо этому надлежит
быть прежде; но не тотчас конец.
10 Тогда сказал им: восстанет народ на народ, и царство на царство;
11 будут большие землетрясения по местам, и глады, и моры, и ужасные
явления, и великие знамения с неба.
Лично для вас благая весть - Единородный Сын Божий Иисус Христос любит вас, Он взошел на крест за ваши грехи, был распят и на третий день воскрес, сел одесную Бога и открыл нам дорогу в Царствие Небесное.
Никто из нас не знает, когда наступит конец всему - но мы живем, отгоняя мысли о нашем предназначении в этом мире и нашей христианской ответственности перед Богом. Грешим и не каемся, совершаем преступления и остаемся безнаказанными до поры до времени, думая что так будет всегда.
Покайтесь, примите Иисуса как вашего Спасителя, ибо наступают последние времена и время близко - стоит Судья у ворот.
Храните себя от идолов и ложных учений, ищите ответы на все вопросы в Библии, молитесь Богу о ваших нуждах - и ожидайте Спасителя нашего Иисуса Христа. Внимайте тому, что Бог говорит вам через Духа Святого, не слушайте лжеучителей и лжепророков, коих много уже сейчас и будет все больше, нам с вами во искушение.
На главной странице этого сайта вы найдете программу для чтения Библии в командной строке - буду очень рад если программа окажется полезной. Пожалуйста, читайте Библию, на экране или в печатном виде - вы будете искренне удивлены как много там сказано лично про вас и ваши обстоятельства.
Вернемся к нашим техническим деталям.
Я предполагаю что уважаемый читатель владеет необходимыми знаниями и навыками использования Linux и Oracle, поэтому я буду очень краток. Цель этой заметки изложить самый простой подход к переустановке EM и прояснить некоторые детали.
EM Grid Control используется для управления большим количеством продуктов Oracle, установлен в единственном экземпляре централизованно на отдельном сервере и поддерживается администраторами баз данных вашей компании. Эту версию системы трогать не нужно, эта статья не про нее. Если в вашей компании есть централизованный EM Grid Control - обращайтесь за помощью к ДБА.
EM Database Control используется для одиночных баз данных, с одним instance или кластерных. Если вы - владелец и администратор такой базы, установленной в виртуальной машине или на отдельно стоящем сервере - Database Control это ваш выбор и эта заметка для вас.
Удаление старой неработающей версии EM
Предположим, что вы получили доступ к серверу, на котором когда-то был Oracle 9, в процессе разработки одна существующая база была обновлена до версий 10.1, 10.2. 11.1 и наконец 11.2. С базой работает только несколько человек из вашей команды разработчиков и используется она только для тестирования. Ваш администратор перегружен работой и не хочет ничего слышать о EM Grid Control и советует вам использовать Toad. Но, как настоящий специалист, вы хотите воспользоваться новыми средствами мониторинга, предлагаемыми в EM 11g. Также мы предположим, что вопрос лицензирования Oracle решен в вашей компании и у вас есть лицензии на использование EM Option packs.
Определим переменную ORACLE_UNQNAME (в моем случае она такая же, как ORACLE_SID - "DB11G") и проверим, какие компоненты установлены:
Мы видим, что элемент "ЕМ" присутствует в списке, также мы видим пользователя с именем "SYSMAN" в DBA_USERS. Удостоверимся, что существующий EM действительно не работает:
Как видно, Enterprise Manager имеется, но в нашем случае совершенно не функционален. Убедитесь, что Oracle Listener запущен и ожидает подключения:
Удаляем необходимые части EM. Я не хочу использовать команду "emca -deconfig dbcontrol db -repos drop", поскольку она переводит базу данных в quiesce mode. Вместо этого:
Убедитесь. что пользователь "SYSMAN" более не существует в DBA_USERS. Если это не так - используйте команду "DROP USER SYSMAN CASCADE;"
Установка EM Database Control
это необходимо для устранения ошибки "CONFIG: Failed to unlock mgmt_view account". Для регистрации базы данных в EM Database Control 11g используется утилита "emca":
Проверим, запущены ли DBConsole и agent, он используется даже в локальной конфигурации:
Не знаю как вам, а мне ни капельки не удивительно что ЕМ 11g использует агента версии 10g. Проигнорируем эту деталь и откроем в броузере страничку "https://OUL5A:1158/em", в моем примере логин "sysman", пароль "1" или из командной строки:
В этом уроке я постараюсь подробнее рассказать о запуске и остановке экземпляра базы данных Oracle.
Вам, как DBA неоднократно придется запускать и останавливать экземпляр базы данных. Для этого Oracle предлагает несколько интерфейсов. Рассмотрим их, а так же опции запуска и остановки, которые вы должны знать и понимать, чтобы потом успешно применять их.
Для запуска или остановке экземпляра, вы должны быть подключены с соответствующими привилегиями. Для этого существует две специально авторизованных учетных записи SYSDBA или SYSOPER. SYSDBA авторизован на абсолютно все задачи связанные с базой данных, полномочия SYSOPER несколько меньше, но тем не менее они позволяют проводить остановку и запуск экземпляра Oracle. Когда база данных только что установлена, только SYS может соединиться с базой данных с разрешение SYSDBA. Далее вы можете дать привилегию SYSOPER, для выполнения ряда административных мероприятий. Теперь обсудим как выполнять запуск базы данных.
Запуск базы данных Oracle
Как упоминалось ранее, экземпляр Oracle состоит из нескольких процессов и логических структур памяти, которые позволяют пользователю общаться с базой данных. Во время запуска базы данных, эти структуры инициализируются и запускаются. При запуске базы данных, она проходит через несколько шагов, для проверки ее целостности. При запуске база данных использует три режима: NOMOUNT, MOUNT и OPEN. Рассмотрим каждый из них подробнее.
STARTUP NOMOUNT
STARTUP NOMOUNT запускает базу данных без монтирования. Когда база данных запущена в этом режиме, читается файл параметров, инициализируются фоновые процессы и структуры памяти, но они не связываются с дисковыми структурами базы данных. Когда база данных в этом состоянии, она недоступна для использования.
Если база данных запущена в режиме NOMOUNT, то вы можете выполнять некоторые задачи, например запуск скриптов на создание основной базы данных.
Иногда база данных недоступна для перехода в следующий режим - MOUNT, и остается в состоянии NOMOUNT. Например, такое возможно при проблеме с доступом к управляющим файлам, которые содержат важную информацию для продолжения процесса запуска. Если эти файловые структуры недоступны или повреждены, то процесс запуска базы данных не может быть продолжен, до решения проблемы.
STARTUP MOUNT
Опция STARTUP MOUNT выполняет все шаги опции STARTUP NOMOUNT, но еще так же связывает и взаимодействует со структурами базы данных. В этот момент, Oracle получает информацию от управляющих файлов, которые используются для связи с основными структурами базы данных.
Часть административных задач выполняется в этом режиме, например, восстановление базы данных. Так же можно изменять физическое расположение файлов и перевести базу данных в режим ARCHIVE LOG.
STARTUP OPEN
Опция STARTUP OPEN является опцией по-умолчанию, если не указано иное. Она выполняет все операции STARTUP NOMOUNT и STARTUP MOUNT. Эта опция делает базу данных доступной для пользователей.
Хотя обычно используются три режима: STARTUP NOMOUNT, STARTUP MOUNT и STARTUP OPEN, доступны еще опции запуска, которые вы можете использовать в ряде ситуаций. Это STARTUP FORCE и STARTUP RESTRICT. О них и пойдет речь далее.
STARTUP FORCE
STRATUP FORCE может использоваться, если у вас есть трудности с запуском базы данных в нормальном режиме. Например, если сервер базы данных был неожиданно отключен от электричества и база данных была резко остановлена. В этом случае может помочь STARTUP FORCE. В нормальной ситуации этот режим не требуется, но может пригодится, если нормальный запуск не работает.
Основное отличие этой опции от других, это то, что она может быть исполнена в любое время, независимо от режима в котором находится база данных. Это режим запуска выполняет остановку базы данных в режиме ABORT и перезапускает ее.
STARTUP RESTRICT
STARTUP RESTRICT запускает базу данных и переводит ее в режим OPEN, но предоставляет доступ только тем пользователям, которые имеют привилегию RESTRICTED SESSION. Возможно потребуется открыть базу данных в этом режиме для проведения технических работ по обслуживанию, когда база данных открыта, но вы хотите быть уверены, что пользователи не работают с базой. Так же можно открыть базу данных используя опцию RESTRICTED при выполнении импорта или экспорта и требуется гарантия, отсутствия пользователей в базе данных. После завершения работ, вы можете перевести базу в нормальный режим, чтобы каждый мог с ней работать. Для этого выполните:
Запуск базы данных средствами EM Database Control
Альтернативным способом запуска базы данных является использование утилиты Enterprise Manager Database Control. Для его использования нужно чтобы он был настроен. О настройке расскажем потом. А сейчас просто расскажем как его запустить. На уроке по созданию базы данных, в утилите dbca, на одном из шагов мы указывали опцию "Configure Enterprise Manager". Так что считаем, что он настроен. Для запуска выполните:
В EM при входе проходим авторизацию. Далее, для того, чтобы погасить или запустить экземпляр потребуется повторная авторизация, на уровне ОС и на уровне СУБД:
На уровне ОС, указываем пользователя, владельца экземпляра Oracle, в нашем примере это пользователь oracle. На уровне СУБД - пользователь имеющий привилегии остановки и запуска экземпляра. В приведенном примере - SYS.
В слкчае успешной авторизации, будет указано текущее и предпринимаемое действие. Сейчас экземпляр остановлен (Current Status: shutdown), и выполняется запуск в режиме OPEN (Operation: startup database in open mode).
Кликнув по кнопке Show SQL будет выведена команда SQL, которая используется для запуска. Кликнув по кнопке Advanced Options, можно выбрать дополнительные опции запуска, а именно режим, использование файла параметров. Кнопки No и Yes подтверждение или отмена выполняемого действия. Нажимаем Yes, и видим, что система начала работу:
Через некоторое время, систма сообщит об успешном запуске экземпляра БД, или ошибке, если таковая произойдет. В слкчае успешного завершения запуска, увидим окно EM с указанием текщуего статуса базы данных и дополнительной информацией о ней:
Сейчас экземпляр базы данных запущен и готов к работе.
Запуск базы данных средствами SQL*Plus
Запуск базы данных можно осуществить и средствами командной строки SQL*Plus. Для этого надо подключится к SQL*Plus с привилегиями SYSOPER или SYSDBA.
[oracle@test bin]$ ./sqlplus / as sysdba
SQL*Plus: Release 11.1.0.7.0 - Production on Fri Apr 10 12:43:16 2009
Copyright (c) 1982, 2008, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 845348864 bytes
Fixed Size 1316656 bytes
Variable Size 473958608 bytes
Database Buffers 364904448 bytes
Redo Buffers 5169152 bytes
Database mounted.
Database opened.
SQL>
Остановка базы данных Oracle
SHUTDOWN NORMAL
Опция SHUTDOWN NORMAL является опцией по умолчанию и используется если не указаны иные опции. При такой остановке базы данных следует знать:
Во время выполнения SHUTDOWN NORMAL не позволены никакие новые соединения пользователей с базой данныхOracle будет ждать пока все пользователи завершат свои сеансы подключения к базе данных, и только после этого продолжит процесс остановки Поскольку Oracle ожидает завершения всех пользовательских сеансов, вы можете определить пользователей подключенных к базе данных самостоятельно. Так же можно определить неактивных пользователей, не выполняющих никаких действий с БД в течение продолжительного времени и принудительно завершить их Такой способ остановки называется "чистым", потому что в случае такой остановки не потребуется восстановление и все проходит в штатном режиме.
SHUTDOWN TRANSACTIONAL
Транзакционный способ производит остановку базы данных в несколько более агрессивном режиме, чем NORMAL. Характеристики транзакционного способа остановки:
- Во время выполнения SHUTDOWN TRANSACTIONAL не позволены никакие новые соединения пользователей с базой данных
- С момента запуска SHUTDOWN TRANSACTIONAL не позволены никакие транзакции
- Oracle ждет завершения текущих транзакций, существующие подключения к базе данных разрываются
Такой способ остановки позволяет клиентам перед отключением завершить текущие транзакции, таким образом не потерять их и не потерять проделанную работу. Этот тип остановки также называется чистым, поскольку все проходит в штатном режиме.
SHUTDOWN IMMEDIATE
Является следующим по агрессивности шагом. Опция SHUTDOWN IMMEDIATE характеризуется следующим:
- Во время выполнения SHUTDOWN IMMEDIATE не позволены новые подключения к базе данных
- Все незавершенные транзакции откатываются. Т.е. если транзакция пользователя в процессе исполнения, то он теряет проделанную работу (в рамках транзакции)
- Oracle не ожидает завершения транзакций, откатывает их, и разрывает существующие подключения к базе данных
Этот тип остановки удобен когда требуется оставить Oracle без присмотра и требуется быть уверенным, что база данных остановится и пользователи будут отключены. Остановку таким способом можно считать чистой, после такой остановки не требуется восстановления базы данных.
SHUTDOWN ABORT
SHUTDOWN ABORT самый агрессивный способ остановки базы данных, характеризуется следующим:
- Во время исполнения SHUTDOWN ABORT новые подключения не позволены
- Прекращается исполнение любых SQL команд, независимо от состояния
- Незавершенные транзакции не откатываются
- Oracle разрывает все существующие подключения немедленно, как выпущена команда SHUTDOWN ABORT
Старайтесь не использовать SHUTDOWN ABORT. Используйте только в тех случаях, когда другие опции остановки не удались, или ваш опыт позволяет использовать эту опцию в данной ситуации. SHUTDOWN ABORT не является чистой остановкой базы данных, и после ее запуска может потребоваться восстановление.
Остановка базы данных средствами SQL*plus
Для остановки базы данных подключаемся к sqlplus в командной строке пользователем SYS или другим имеющим привилегии на запуск и остановку базы данных, и выполняем:
[oracle@test bin]$ ./sqlplus / as sysdba
SQL*Plus: Release 11.1.0.7.0 - Production on Fri Apr 10 12:45:05 2009
Copyright (c) 1982, 2008, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
Остановка экземпляра БД средствами EM
Остановка экземпляра базы данных происходит аналогично запуску, за тем исключением, что на главной странице выбираем опцию Shutdown.
Установите и настройте Sql Developer в Windows | Учебник Oracle
Я получаю следующие ошибки из lsnrctl status команда:
Он работал нормально до перезапуска, но теперь он не работает, и я также не могу получить доступ к своей домашней странице Oracle.
Мой tnsnames.ora является:
Мой listener.ora это: (Здесь была ошибка из-за неуместных скобок, добавление нескольких пробелов решило проблему TNS-12518)
Ниже приводится результат работы lsnrctl start команда
Ниже приводится последняя необходимая запись из файла журнала.
Пытался разрешить TNS-12518, и слушатель запущен, но все еще не может получить доступ к домашней странице Oracle
вывод lnsrctl stat
Команда успешно завершена
1. Проверьте переменные среды (должны быть установлены для Система а не для пользователя):
2. Проверьте правильность определения в listener.ora
3. перезапустите службу (Services> OracleServiceXE)
После этого вы можете увидеть новую службу OracleXETNSListenerXE.
Уже есть старый OracleXETNSListener.
Я запустил оба, а затем смог установить успешное соединение.
Если все работает, но вы по-прежнему не можете подключиться, проверьте, нет ли ошибки: ORA-12557: TNS: адаптер протокола не загружается.
У меня такая же проблема. Решение в моем случае: запустить CMD от имени АДМИНИСТРАТОРА. затем введите и выполните: "lsnrctl start" подождите около 2 минут, после чего все должно работать. (в моем случае было всего 50 секунд, но на всякий случай)
- Я должен был быть администратором, у обычного пользователя возникла загадочная ошибка оракула
- Для меня, lsnrctl start зависал, потому что у меня было открытое соединение и незафиксированная транзакция в ссылке на базу данных / внешнем гетерогенном соединении. Как только я его закрыл, слушатель сразу заработал.
Я решил это, обновив файл listener.ora внутри каталога oracle oraclexe \ app \ oracle \ product \ 11.2.0 \ server \ network \ ADMIN.
Со мной это случилось потому, что я изменил имя своей системы, но внутри listener.ora было старое имя для HOST.
Это может быть одной из причин . для тех, кто все еще сталкивается с такой проблемой, тоже могут подумать об этой возможности.
- 2 Большое вам спасибо. Для всех, кто ищет решение, просто откройте product\11.2.0\server\network\ADMIN\listener.ora и узнай линию LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = _NEW_NAME_)(PORT = 1521)) ) ) Затем замените _NEW_NAME_ с желаемой текстовой строкой.
- Проверьте свой файл tns listener.ora, в моем случае проблема была связана с неуместными задними панелями, надеюсь, вы тоже найдете свою проблему.
Убедитесь, что переменная среды ORACLE_HOME указывает на правильный дом оракула. В моем случае это было изменено другой установкой программного обеспечения.
Я столкнулся с той же проблемой и причиной: у меня персональный компьютер с Windows. И я изменил имя компьютера, и это не отразилось на listener.ora. Обновление ORACLE_HOME \ network \ ADMIN \ listener.ora с обновленным именем хоста устранило проблему.
В моем случае я попытался запустить слушатель через консоль:
Эта команда напечатала следующую ошибку:
Итак, я выполнил следующие действия:
- Проверить, есть ли Oracle listener.ora или sqlnet.ora файл содержит специальные символы
- Проверить, есть ли Oracle listener.ora или файл sqlnet.ora` имеют неправильный формат или синтаксис
- Проверить, есть ли Oracle listener.ora или sqlnet.ora В файле есть скобки, выровненные по левому краю, которые не принимаются парсером Oracle.
Взгляните на эти файлы и проверьте правильный синтаксис. Если возможно, удалите / переименуйте sqlnet.ora и попробуйте перезапустить слушатель. Или удалите / переименуйте файл listener.ora или sqlnet.ora и заново создайте его правильно. Это определенно решит проблему.
В моем случае как-то перестала работать служба прослушивания Windows, поэтому я не смог подключиться к Qracle с помощью SQL Developer. Однако мне удалось подключиться через sqlplus .
Ниже решение сработало для меня:
Во-первых, убедитесь, что ваш сервис слушателя запущен.
Если служба прослушивателя не запущена, перезапустите службу прослушивателя с помощью диспетчера задач Windows или используйте служебную программу командной строки DOS, чтобы перезапустить службу Windows с net start команда:
Попробуйте запустить службу прослушивателя, используя lsnrctl из командной строки DOS.
- Это то, что случилось со мной, по какой-то причине служба Windows перестала работать. После запуска вручную все работало без необходимости манипулировать файлами tsnnames.ora и listener.ora
Мне удалось решить проблему, которая привела к сбою конфигурации в контейнере докеров, на котором запущена песочница Hortonworks HDP 2.6.
Если первоначальная конфигурация не удалась, слушатель будет запущен, и его сначала нужно будет убить:
Следующим шагом будет решение проблемы с общей памятью, которая приводит к сбою процесса настройки.
изменить / добавить строку в:
Затем перезагрузите конфигурацию:
В моем случае служба прослушивателя не запускалась, потому что она была настроена на прослушивание VPN-соединения, а также других серверных интерфейсов.
Как только я подключился к VPN, он просто запустился.
Однако уловка @ Imre с "lsnrctl start" направила меня на верный путь.
Служба слушателя остановлена в services.msc .
Пароль пользователя был изменен.
В моем случае с Windows прослушиватель не запускался, и lsnrctl start зависал навсегда. Решением было убить все процессы extproc. Я подозреваю, что это было забавно связано с моим vpn
Читайте также: