自称第1種兼業ミュージシャン?えむによるブログ 

Oracle11gR2で、突然データベース接続ができなくなるのを回避する方法

oracleのユーザにログインできない障害が発生。(DB接続できない)

コマンドからの
sqlplus / as sysdba ならログインOK

エラーメッセージは以下
テーブル領域が不足しているとのこと…

java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM
ORA-02002: error while writing to audit trail
ORA-00604: error occurred at recursive SQL level 1
ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM

色々調査して下記方法で解決しました。

■原因

SYSTEM表領域が一杯になりエラー。

※監査設定(AUDIT_TRAIL)が11gR2から自動ONになる。
 →SYSTEMのテーブル領域を圧迫する。

■対象法
・SYSTEMテーブルの拡張 → コマンド受け付けず×

・監査機能のOFF → 成功〇 以下手順

1.コマンドプロンプト立ち上げ
$ sqlplus / as sysdba でログイン

2.show parameter audit_trail で設定値を確認。

NAME TYPE VALUE
------------------------------------ ----------- --------
audit_trail string DB

ここでDBになっていたら、
SYS.AUD$表にデータが書き込まれて今回の現象が起きます。

3. alter system set AUDIT_TRAIL = none scope = spfile;
で監査設定をOFFにします。

4. shutdown immediate でデータベースを停止。
  startup       でデータベースを起動。

5.show parameter audit_trail パラメータの変更を確認

NAME TYPE VALUE
------------------------------------ ----------- ---------
audit_trail string NONE

VALUEがNONEになりました。これでOK。
 
Comment
 
 






(編集・削除用)


管理者にだけ表示を許可
 
Trackback
 
 
http://mism.blog13.fc2.com/tb.php/669-36b1c4f5
 
 
プロフィール
 
 

えむ

  • Author:えむ
  • 現在ベンチャー企業を経営する傍ら
    兼業ミュージシャンとして活動中。
    お問い合わせはこちらまで。
 
 
最近の記事
 
 
 
 
最近のコメント
 
 
 
 
最近のトラックバック
 
 
 
 
月別アーカイブ
 
 
 
 
カテゴリー
 
 
 
 
ブロとも申請フォーム
 
 
 
 
ブログ内検索
 
 
 
 
RSSフィード
 
 
 
 
リンク