web-dev-qa-db-ja.com

Oracleデータベースが稼働していることをどのように確認しますか?

このアプリケーションでは、Oracleデータベースに接続するための構成ファイル(URL、ユーザー名、パスワード)があります。

アプリケーションの起動には2〜5分かかります。データベースに問題がある場合、ログにこれが表示されますが、2〜5分待つ必要があります。これは長い時間です。

したがって、データベースがすべて正常でありオンラインであることを確認する方法を迅速かつ簡単に調べたいと思います。

どのように私がそれをすることができるかあなたは何か考えがありますか?

14
Eugene

次のクエリを実行すると、

SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V$INSTANCE;

返されるはずです:

INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
YOUR_DBASE       OPEN         ACTIVE
17
Solego

ps -ef | grep pmon

PMON(プロセスモニター)プロセスは、他のすべてのバックグラウンドプロセスをチェックします。その後、さらに調査するためにアラートログを確認する必要があります。

12
ibre5041

まず最初に、ステップ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
    
4
coz

サーバーに接続してデータベースがオンラインかどうかを確認するスクリプトを使用/作成する必要があります。ここでOracleの担当者がお手伝いします。バッチ/シェルスクリプトから実行するだけです( SQLコマンドラインからスクリプトを実行する を参照)。その出力を確認します。あなたがあなたの答えを持っているよりもすべてが大丈夫なら。

または、SQL * Plusクライアントで試してください。

3
Marian

データベースに対して実際のクエリを実行することも賢明かもしれません。これにより、接続とクエリの両方が可能になります。私はそれを非常にシンプルで高速なものにします:

SELECT pk_column 
  FROM sometable
WHERE rownum <= 1
0
Richard

PMONはすべてのbgプロセスをチェックします

ps -ef|grep pmon

さらに、データベースが実行されているかどうかを確認できます。

ps -ef|grep mydb
0
user3818965