[oracle11gR2] ASMディスク利用時にora-00257 アーカイブ・エラーです。解除されるまで内部接続のみにしてください

    

oracle 11gR2に接続しようとしたところ表題のエラーが発生した。
この現象における対処の備忘録

現象

クライアント端末からoracleに接続しようとした場合に、ora-00257エラーが発生し接続できない

原因

アーカイブログ出力の為の容量がない場合に発生。

確認方法

アーカイブログをローカルストレージに格納している場合

dfコマンドでストレージの容量を確認

df -m

アーカイブログをASMディスクに格納している場合

sqlplusをsysdba権限で起動
sqlplus / as sysdba

ASMディスクの容量確認

select name, free_mb, total_mb
from v$asm_diskgroup
order by name;

上記にてアーカイブ領域のストレージ容量が不足しているようであれば、容量不足がこの現象における原因と推測できる。

対処

ディスクの拡張が不可能であることを前提とする場合
RMANコマンドにて不要なアーカイブログを削除する。ここでは7日分のアーカイブログを削除する

RMANの起動
rman target /

7日分のアーカイブログを削除
RMAN> delete archivelog until time 'sysdate - 7';

削除確認されるのでYESと入力する。

※ アーカイブログの物理ファイルをOSから削除したりしないこと。
→ もし削除してしまった場合はRMANにて下記のコマンドを実行する

RMAN> CROSSCHECK ARCHIVELOG ALL;
RMAN> DELETE EXPRRED ARCHIVELOG ALL;

crosscheckコマンドで不要なアーカイブログを削除した後、アーカイブログを論理的(?)に削除する。