it-swarm.dev

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

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 dowiedzieć się szybko i prosto sposób, aby ustalić, czy baza danych działa poprawnie i jest online.

Czy masz pomysł, jak to zrobić?

14
Eugene

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
17
Solego

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.

12
ibre5041

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

  1. Sprawdź przebieg procesu Oracle:

    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 działa w twoim środowisku, baza danych jest uruchomiona.

  2. Iść do Oracle_HOME/bin i biegnij:

     ./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
    
4
coz

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 (patrz ruchamianie skryptów z wiersza poleceń SQL ) i zobacz, jakie dane wyjściowe. Jeśli wszystko jest w porządku, masz odpowiedź.

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

3
Marian

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
0
Richard

PMON sprawdzi wszystkie procesy BG

ps -ef|grep pmon

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

ps -ef|grep mydb
0
user3818965