[Oracle] ORA-19815 に対処する

Oracle

概要

アラートログを調べてみたら, ORA-19815 があり,データベースが起動していない場合
リカバリ領域の空きがなくなってしまった場合

対処方法

基本的には2つの方法になります

●リカバリ領域にある不要ファイルを削除する
●DB_RECOVERY_FILE_DEST_SIZE を増加させるか,ログに残す期間を減らす

リカバリ領域にある不要ファイルを削除

一旦ノーアーカイブモードにします

SET ORACLE_SID=sid
sqlplus sys as sysdba
password
shutdown immediate
startup mount
alter database noarchivelog;
alter database open;

RMAN コマンドで削除する

コマンドプロンプトより以下を実行

SET ORACLE_SID=xxxx
rman target sys/xxxxxxx
DELETE ARCHIVELOG ALL;
途中で削除しますか? と聞かれるのでYESとする

アーカイブログモードに戻す

コマンドプロンプトより

SET ORACLE_SID=xxxx
sqlplus sys as sysdba
password
shutdown immediate
startup mount
alter database archivelog;
alter database open;

復旧したら予防策を

再び領域不足が発生する可能性がある

Oracle Enterprise Manager にて,以下のいくつかの設定を変更する

保存場所や領域のサイズの調整

[可用性]-[リカバリ設定]-[高速リカバリ領域サイズ] にて変更ができる。
もっと余裕のあるドライブに保存場所を変更したり,領域サイズを増大させる

保存回数や保存期間を再調整する

保存できる容量がもう限界ということであれば,保存する回数や期間を減らすしかない
[可用性]-「バックアップ設定]-[ポリシー]-[保存ポリシー]-[各データファイルについて、少なくとも指定回数の全体バックアップを保存] = 1
[アーカイブREDOログの削除ポリシー]-[指定回数バックアップされたアーカイブREDOログ・ファイルを削除] = 0

上記の例だと,1回分のみが保存される

プロパティ

Oracle 11.2.0.3.0
Windows Server 2008 R2

コメント

  1. […] [Oracle] ORA-19815 に対処する概要アラートログを調べてみたら, ORA-19815 があり,データベースが起動していない場合リカバリ領域の空きがなくなってしまった場合対処方法基本的には2つ […]

スポンサーリンク
タイトルとURLをコピーしました