ORAエラー

DBに接続できない原因と対処|Oracle, ORA-19815, アーカイブログ, 高速リカバリ領域

事象

RMANバックアップ取得中や、アーカイブログ運用をしている場合、高速リカバリ領域を使用している場合に以下のようなエラーが発生し、DBの起動や接続ができなくなることがある。

Tue Feb 25 09:23:14 2021
Errors in file D:\APP\oracle\diag\rdbms\orcl\orcl\trace\orcl_m000_7856.trc:
ORA-19815: 警告: db_recovery_file_dest_size(212768822810バイト)は83.15%バイトが使用され、残り23209882480バイトが使用可能です。
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
   then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
   BACKUP RECOVERY AREA command.
8. Add disk space and increase db_recovery_file_dest_size parameter to
   reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
   system command was used to delete files, then use RMAN CROSSCHECK and
   DELETE EXPIRED commands.
************************************************************************
 

原因

領域不足のためアーカイブログファイル出力ができなくなったことが原因である。

状況によって以下どちらかの対処を実施することで解消可能。

  • DB起動できない場合はOSからアーカイブログファイルを削除
  • DB起動できる場合はRMANからアーカイブログファイルを削除

対処法

DB起動できる場合

以下のようにRMAN接続しアーカイブログファイルを削除する。

rman target /
delete archivelog all;

もし直近2日分のアーカイブログを残したい場合、以下のコマンドでアーカイブログファイルの削除が可能。

delete archivelog until time 'trunc(sysdate)-2';

この後削除するか否か聞かれるので、Yと入力したら削除が開始される

DB起動できない場合

DB起動できない時はRMAN接続もできないので、OSからアーカイブログファイルを削除した後、整合性を保つRMANからも削除する、といった手順となる。

rman target /
crosscheck archivelog all;
delete expired archivelog all;

目次
目次

docs.oracle.com

この記事が役に立ったという方は
ボタンをポチッとしてくれたら喜びます

-ORAエラー
-, , , ,