このアプリケーションでは、Oracleデータベースに接続するための構成ファイル(URL、ユーザー名、パスワード)があります。
アプリケーションの起動には2〜5分かかります。データベースに問題がある場合、ログにこれが表示されますが、2〜5分待つ必要があります。これは長い時間です。
したがって、データベースがすべて正常でありオンラインであることを確認する方法を迅速かつ簡単に調べたいと思います。
どのように私がそれをすることができるかあなたは何か考えがありますか?
次のクエリを実行すると、
SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V$INSTANCE;
返されるはずです:
INSTANCE_NAME STATUS DATABASE_STATUS
---------------- ------------ -----------------
YOUR_DBASE OPEN ACTIVE
ps -ef | grep pmon
PMON(プロセスモニター)プロセスは、他のすべてのバックグラウンドプロセスをチェックします。その後、さらに調査するためにアラートログを確認する必要があります。
まず最初に、ステップ2でデータベースに接続するためのユーザー名とパスワードを知っている必要があります。
Oracleプロセスの実行を確認します。
Un * xの場合:
ps -ef|grep pmon
Windowsの場合:
tasklist|findstr /i Oracle
いずれの場合でもコマンドが出力を返す場合、つまり、環境内でpmon/Oracleプロセスが実行されている場合は、データベースが実行されています。
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
サーバーに接続してデータベースがオンラインかどうかを確認するスクリプトを使用/作成する必要があります。ここでOracleの担当者がお手伝いします。バッチ/シェルスクリプトから実行するだけです( SQLコマンドラインからスクリプトを実行する を参照)。その出力を確認します。あなたがあなたの答えを持っているよりもすべてが大丈夫なら。
または、SQL * Plusクライアントで試してください。
データベースに対して実際のクエリを実行することも賢明かもしれません。これにより、接続とクエリの両方が可能になります。私はそれを非常にシンプルで高速なものにします:
SELECT pk_column
FROM sometable
WHERE rownum <= 1
PMONはすべてのbgプロセスをチェックします
ps -ef|grep pmon
さらに、データベースが実行されているかどうかを確認できます。
ps -ef|grep mydb