Як перевірити, чи працює база даних 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. Перевірте, чи запускається процес oracle:

    У 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.