Oracle は起動しているが、Oracle インスタンスリソースが Warning 状態となった場合のトラブル事例です。
[ケース1]
Oracle SYSTEM ユーザーのパスワードが PRIMECLUSTER Wizard for Oracle に登録されていない場合や、登録されているが誤っている場合、または正しく登録されているが有効になっていない場合に発生します。
syslog に ORA-01017 が出力されていれば本ケースに該当します。
SYSTEM ユーザーのパスワードを正しく登録し直してください。(参考「3.3 クラスタ運用中の Oracle SYSTEM ユーザーパスワード変更手順」)
[ケース2]
Oracle SYSTEM ユーザーのアカウントがロックされているため、Oracle に接続できない場合に発生します。
syslog に ORA-28000 が出力されていれば本ケースに該当します。また、以下の SQL 文で SYSTEM ユーザーのアカウントの状態を参照することでも確認できます。(account_status 列が “LOCKED(TIMED)” や “LOCKED” になっていれば該当します。)
# su - <Oracle ユーザー> $ sqlplus /nolog SQL> connect / as sysdba SQL> select username, account_status from dba_users;
Oracle に sysdba 権限で接続し、SYSTEM ユーザーのアカウントロックを解除してください。
# su - <Oracle ユーザー> $ sqlplus /nolog SQL> connect / as sysdba SQL> alter user system account unlock;
syslog に ORA-01017 も出力されていた場合、誤ったパスワードが登録されていたために ORA-28000 が発生した可能性があります。その場合、まず SYSTEM ユーザーのパスワードを正しく登録し直してください。(参考「3.3 クラスタ運用中の Oracle SYSTEM ユーザーパスワード変更手順」)
次に上記の手順でアカウントロックを解除してください。
[ケース3]
監視が中断されている場合に発生します。
clorainfo -m コマンドで監視中断中かどうかを確認できます。(参考「4.6 clorainfo - 設定情報や監視状態の表示」)
監視中断状態だった場合、対象の Oracle インスタンスが OPEN ステータスで起動していることを確認し、監視を再開してください。(参考「4.2 hvoraenable - リソース監視の再開」)
[ケース4]
Oracle インスタンスの監視において、監視の SQL 文(INSERT・UPDATE など) が一定時間応答しないが、Oracle に接続ができ、ステータスは OPEN である場合に発生します。 (監視タイムアウト)
syslog に以下のメッセージが出力されていれば該当します。
ERROR: 0226: Watch Timeout occurred
Oracle 側からの調査・対処を行ってください。
PRIMECLUSTER Wizard for Oracle による Oracle インスタンスの監視では、Oracle から一定時間応答がなかった場合は「監視タイムアウト」と判断します。1回目の監視タイムアウトでは、Warning 状態となるだけでリソース異常にはなりませんが、これが2回連続して発生した場合、リソース異常と判断します。
[ケース5]
Oracle インスタンスの監視において、max session エラー、max process エラーにより Oracle へ接続できない場合に発生します。
syslog に ORA-00018、ORA-00020 が出力されていれば該当します。
Oracle の SESSIONS 初期化パラメータに設定する最大セッション数や、PROCESSES 初期化パラメータに設定する最大プロセス数には、PRIMECLUSTER Wizard for Oracle の監視用セッション分を考慮し、余裕を持った値を設定してください。詳しくは、Oracle のマニュアルを参照してください。
[ケース6]
Oracle SYSTEM ユーザーのパスワードが期限切れとなり、監視機能が Oracle に接続できない場合に発生します。
syslog に ORA-28001 が出力されていれば本ケースに該当します。また sqlplus コマンドで SYSTEM ユーザーとして Oracle に接続する際に、ORA-28001 が発生すれば該当します。
# su - <Oracle ユーザー>
$ sqlplus /nolog
SQL> connect system/password
ERROR:
ORA-28001: the password has expired
systemに対するパスワードを変更しています。
新規パスワード:
この場合、Oracle SYSTEM ユーザーのパスワードを変更してください。
変更後、clorapass コマンドを使って PRIMECLUSTER Wizard for Oracle への再登録を行ってください。(参考「3.3 クラスタ運用中の Oracle SYSTEM ユーザーパスワード変更手順」)