今日は久々にオラクルにはまる

久々にOracleで悩んだ。というのも、今回は普段使わない「アーカイブ・ログ・モード」を使っていたからなのだが。
ある日突然、オラクルにログインしようとすると、ログインできなくなり、インスタンスを再起動しようとしても、以下のようなエラーが出てうまく行かない。
SQL*Plus: Release 11.2.0.1.0 Production on 日 *月 ** **:**:** 20**
Copyright (c) 1982, 2009, Oracle. All rights reserved.
アイドル・インスタンスに接続しました。
SQL> startup
ORACLEインスタンスが起動しました。
Total System Global Area ********* bytes
Fixed Size ******* bytes
Variable Size ********* bytes
Database Buffers ********* bytes
Redo Buffers ******* bytes
データベースがマウントされました。
ORA-03113: 通信チャネルでend-of-fileが検出されました プロセスID:****
セッションID: **、シリアル番号: *
なんじゃこりゃ!
ORA-03113は、通信中にケーブルが抜けたり、サーバが落ちたりしたときに出るエラーらしいのだが、スタンドアロンで動かしているので、ケーブルなんか関係ないじゃん!
ということで、よくよく調べてみると、どうやら、アーカイブログがいっぱいで書き込めないため、起動できないと言うことらしい。
しかたないので、
startup mount
でDBをマウントだけして起動し、その後、
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=10G SCOPE=BOTH SID=’******’;
として、ファイルの領域を拡張した。
ALTER DATABASE OPEN;
すると、正しく起動できた。
で、なんでわざわざ今時「アーカイブ・ログ・モード」にしたかと言えば、バックアップツールのエージェントが「アーカイブ・ログ・モード」にしろと言ったからなのだが。
アーカイブ・ログって、管理するのが面倒なんだよね。スケジューラで自動的に消すようにしようかな?