web-dev-qa-db-ja.com

Archivelogファイルが削除され、「ORA-01113:ファイル1にはメディアの回復が必要」

(これは本番データベースではありません。私はステージング環境で練習しています。)

バックアップ/リカバリ用にRMANをセットアップしようとしています。

フルバックアップを実行しましたが、状態は良好のようです。

次に、アーカイブログのバックアップを行いましたが、うまくいきました。そして、(ここで私がf *** ed upしたところ)、私は...

  1. 新しいtmpディレクトリを作成しました。
  2. tmpディレクトリを宛先としてRMANarchivelogのみバックアップを実行しました
  3. 私の考えを変えて、そのtmpディレクトリを削除しました。

RMANが以前に書き込まれたバックアップへのパスを追跡しているため、これらのファイルを移動して削除することはできません。

今、私がした後

RUN {
    RESTORE DATABASE;
    RECOVER DATABASE;
}

私は得る

ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

failover to previous backup
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 01/19/2018 20:21:01
RMAN-20506: no backup of archived log found
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of archived log for thread 1 with sequence 15 and starting SCN of 1361136 found to restore

そして、データベースを開こうとすると、次のようになります。

2018-01-19 20:23:04 SYS@... AS SYSDBA> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/path/to/a/file.dbf'

私はここに投稿された解決策を試しました: ORA-01113:ファイル#メディア回復ORA-01110が必要です

しかし、私はそれを機能させることができません。 (私はORA-00308: cannot open archived log。)


更新:CROSSCHECK BACKUP; に続く DELETE EXPIRED BACKUP;ですが、残念ながら this になります。

3
aioobe

RMANアーカイブログのバックアップを新しいディレクトリに実行した
私の考えを変えて、そのディレクトリを削除しました。

Archivelogファイルがまだあり、それらがバックアップされたときに削除されなかったと仮定すると、RMANにそれらのファイルが戻されないことを伝える必要があります。

CROSSCHECKコマンドを使用して、バックアップとコピーの物理的な現実をRMANリポジトリの論理レコードと同期します

一方、元のアーカイブログファイルがバックアップとともに削除された場合は、完全なリカバリセットがないため、「これは本番データベースではありません。ステージング環境で練習しています。 」オンラインで実行される完全バックアップは、一貫性のあるバックアップではありません。バックアップが開始する直前から終了直後までのログレコードを含むarchivelogファイルが必要です。そうしないと、データベースを一貫して復元する方法がありません。