Jak sprawdzić, czy baza danych Oracle działa?

14

Dla naszej aplikacji mamy plik konfiguracyjny do połączenia z bazą danych Oracle (adres URL, nazwa użytkownika, hasło).

Uruchomienie aplikacji zajmuje 2-5 minut. Jeśli coś jest nie tak z bazą danych, widzę to w logach, ale muszę czekać 2-5 minut. To dużo czasu.

Chcę więc szybko i łatwo ustalić, czy baza danych działa poprawnie i jest online.

Czy masz pomysł, jak to zrobić?

Eugene
źródło

Odpowiedzi:

17

Jeśli uruchomisz następujące zapytanie:

SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V$INSTANCE;

Powinien zwrócić:

INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
YOUR_DBASE       OPEN         ACTIVE
Solego
źródło
12

ps -ef | grep pmon

Proces PMON (monitor procesu) sprawdza wszystkie inne procesy w tle. Następnie musisz sprawdzić dziennik alertów w celu dalszego zbadania.

ibre5041
źródło
4

Po pierwsze: musisz znać nazwę użytkownika i hasło, aby połączyć się z bazą danych w kroku 2

  1. Sprawdź, czy proces Oracle działa:

    On Un * x:

    ps -ef|grep pmon

    W systemie Windows:

    tasklist|findstr /i oracle

    jeśli polecenie w każdym przypadku zwróci wynik, tj. jeśli proces pmon / oracle jest uruchomiony w twoim środowisku, baza danych jest uruchomiona.

  2. Idź do ORACLE_HOME/bini uruchom:

     ./sqlplus /nolog

    Jeśli po zalogowaniu wystąpią błędy, baza danych nie działa:

    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
    
coz
źródło
1
na Windowsie początek sqlplus to sqlplus / nolog
Igor Vuković
3

Powinieneś użyć / napisać skrypt, który połączy się z serwerem i sprawdzi, czy twoja baza danych jest online. Tutaj chłopaki z Oracle pomogą. Po prostu uruchom go ze skryptu wsadowego / powłoki (zobacz Uruchamianie skryptów z wiersza poleceń SQL ) i zobacz, jak to wygląda. Jeśli wszystko jest w porządku, masz odpowiedź.

Lub po prostu spróbuj z klientem SQL * Plus.

Marian
źródło
0

Rozsądne może być również uruchomienie rzeczywistego zapytania do bazy danych. To tylko zapewnia, że ​​możesz zarówno łączyć się, jak i wyszukiwać. Zrobiłbym to coś bardzo prostego i szybkiego, takiego jak:

SELECT pk_column 
  FROM sometable
WHERE rownum <= 1
Richard
źródło
0

PMON sprawdzi wszystkie procesy BG

ps -ef|grep pmon

Ponadto możemy sprawdzić, czy baza danych działa, czy nie.

ps -ef|grep mydb
użytkownik3818965
źródło
-1

Aby sprawdzić ogólny stan bazy danych, polecam:

  1. Sprawdź, czy procesy bazy danych są uruchomione. Na przykład z powłoki Unix działającej:

    $ ps -ef | grep pmon

    pokaże uruchomione bazy danych, czasy uruchamiania oraz użytkowników Oracle, którzy uruchomili każdą z nich.

  2. Sprawdź, czy nasłuchiwania działają przy użyciu $ ps -ef | grep tnsi$ lsnrctl status LISTENER

  3. Zaznaczenie gv$resource_limitpokaże, czy baza danych osiągnęła skonfigurowany limit.

  4. Aby sprawdzić, czy wystąpiły błędy bazy danych, należy to sprawdzić alert.log.

Aby uzyskać więcej informacji, zobacz mój post na blogu .

użytkownik134623
źródło