Как проверить, что база данных Oracle работает?


14

Для нашего приложения у нас есть файл конфигурации для подключения к базе данных Oracle (URL, имя пользователя, пароль).

Запуск приложения занимает 2-5 минут. Если с базой данных что-то не так, я вижу это в логах, но мне нужно подождать 2-5 минут. Это много времени.

Поэтому я хочу быстро и просто найти способ определить, что с базой данных все в порядке и он-лайн.

Ты хоть представляешь, как я могу это сделать?

Ответы:


17

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

SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V$INSTANCE;

Должен вернуться:

INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
YOUR_DBASE       OPEN         ACTIVE

12

ps -ef | grep pmon

Процесс PMON (монитор процесса) проверяет все остальные фоновые процессы. Затем вы должны проверить журнал предупреждений для дальнейшего расследования.


4

Первое и первое: вам нужно знать имя пользователя и пароль для подключения к базе данных на шаге 2

  1. Проверьте процесс оракула:

    На Un * x:

    ps -ef|grep pmon

    В Windows:

    tasklist|findstr /i oracle

    если команда в любом случае возвращает выходные данные, т.е. если в вашей среде запущен процесс pmon / oracle, то база данных работает.

  2. Перейти ORACLE_HOME/binи запустить:

     ./sqlplus /nolog

    Если после входа в систему вы получаете ошибки, то база данных не запускается:

    SQL*Plus: Release 11.2.0.1.0 Production on Sat Feb 31 21:61:61 2014
    Copyright (c) 1982, 2014, Oracle.  All rights reserved.
    Enter user-name: oracle
    Enter password: 
    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux-x86_64 Error: 2: No such file or directory
    Process ID: 0
    Session ID: 0 Serial number: 0
    

1
на windows запуск sqlplus будет sqlplus / nolog
Игорь Вукович

3

Вы должны использовать / написать скрипт, который будет подключаться к серверу и посмотреть, подключена ли ваша база данных. Здесь ребята из Oracle помогут. Просто запустите его из сценария пакетной обработки / оболочки (см. Запуск сценариев из командной строки SQL ) и посмотрите его вывод. Если все в порядке, тогда у вас есть ответ.

Или просто попробуйте с клиентом SQL * Plus.


0

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

SELECT pk_column 
  FROM sometable
WHERE rownum <= 1

0

PMON проверит все процессы bg

ps -ef|grep pmon

Кроме того, мы можем проверить, работает база данных или нет.

ps -ef|grep mydb

-1

Чтобы проверить общий статус базы данных, я рекомендую:

  1. Проверьте, запущены ли процессы базы данных. Например, из оболочки Unix, работающей:

    $ ps -ef | grep pmon

    покажет запущенные базы данных, время запуска и то, какие пользователи Oracle запустили каждую из них.

  2. Проверьте, работают ли слушатели, используя $ ps -ef | grep tnsи$ lsnrctl status LISTENER

  3. Выбор gv$resource_limitпокажет, достигла ли база данных какого-либо настроенного предела.

  4. Чтобы проверить, были ли какие-либо ошибки базы данных, вы должны проверить alert.log.

Для более подробной информации смотрите мой пост в блоге .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.