Oracleデータベースに関して、ちょっとしたトラブルシューティングが発生したので、記録がてら書いておくことにする。
バージョンは12c。
###事の起こり
しばらく放置していたOracleデータベースを起動しようとしたら、起動できない。
いろいろ試していると、マウントまではできることがわかった。
マウント状態でオープンしようとすると、以下のエラーメッセージが表示される。
SQL> alter database open;
alter database open
*
行1でエラーが発生しました。:
ORA-03113: 通信チャネルでend-of-fileが検出されました
###対処法
検索してみると以下のページにたどり着く。
ORA-03113:通信チャネルでend-of-fileが検出されました - PROJECT GROUP
これによると、ディスク容量がいっぱいの時に発生し、アーカイブログを削除すれば解決するらしい。
記事内にさらにリンクがあり、要するにRMANでアーカイブログを日付指定して削除すればよいとのこと。
ディスク容量には余裕があったが、とりあえず試してみることに。
SQL> host rman
RMAN> connect target /
RMAN> delete archivelog until time 'sysdate - 1';
RMAN> exit
上記コマンド実行後、再度データベースオープンを試みる。
SQL> alter database open;
データベースが変更されました。
無事データベースがオープンできた。
###原因は……
原因はもしかすると、高速リカバリ領域が食い尽くされてたことだろうか?
アーカイブログは既に削除してしまったので、残念ながら確認できず。