制御ファイルのリカバリ手順 - gend007/Oracle-DB GitHub Wiki

概要

制御ファイルの一部に障害が発生した場合、および、全損した場合のリカバリ手順
なお、当手順は、リカバリカタログを使用している前提となる




制御ファイルの一部に障害が発生したときのリカバリ手順

①インスタンスが起動している場合はABORTで停止する

SQL > SHUTDOWN ABORT



②現行の制御ファイルを、障害になっているファイル名でコピーする

SQL > cp -p /DATA/genddb/control02.ctl /DATA/genddb/control03.ctl



③DBを起動

SQL > startup





制御ファイルが全損した場合のリカバリ手順

※コントロールファイルのバックアップがリカバリカタログに存在していることが前提

①インスタンスが起動している場合はABORTで停止する

SQL > SHUTDOWN ABORT



②RMANを起動し、リカバリカタログに接続

oracle # rman target / catalog rco/rco@catadb



③DBをnomountまで起動

RMAN > startup nomount



④コントロールファイルをリストアする

RMAN > RESTORE CONTROLFILE;
estoreを18-12-10で開始しています
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=254 デバイス・タイプ=DISK

チャネルORA_DISK_1: データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_DISK_1: 制御ファイルをリストア中です
チャネルORA_DISK_1: バックアップ・ピース/Backup/GENDDB/backupset/2018_12_10/o1_mf_ncsn1_DAILY_JOB_g0v0zocm_.bkpから読取り中です
チャネルORA_DISK_1: ピース・ハンドル=/Backup/GENDDB/backupset/2018_12_10/o1_mf_ncsn1_DAILY_JOB_g0v0zocm_.bkp タグ=DAILY_JOB
チャネルORA_DISK_1: バックアップ・ピース1がリストアされました
チャネルORA_DISK_1: リストアが完了しました。経過時間: 00:00:01
出力ファイル名=/DATA/genddb/control03.ctl
restoreを18-12-10で終了しました



⑤DBをmountまで起動

RMAN > alter database mount;



⑥DB全体をリストア、リカバリする

RMAN > RESTORE DATABASE;
RMAN > RECOVER DATABASE;



⑦DBをRESETLOGS付でオープン

RMAN > ALTER DATABASE OPEN RESETLOGS;
文が処理されました
データベースの新しいインカネーションがリカバリ・カタログに登録されました
⚠️ **GitHub.com Fallback** ⚠️