geek.conf.2

あるエンジニアの備忘録

rmanリストアcase1

はい、んで早速リストアでもしてみます。

バックアップ戦略
rman(nocatalog)で週一回incremental level 0、毎日incremental level 1のデータベース
バックアップ取得とでもしときます。

リストアcase1
表領域(system表領域含む)をリネームしてDB Open出来ないことを確認。データベースをリストアしてリカバリ
する。この場合オンラインredoログはすべて残っているので完全リカバリとなります。
まあこのcaseをリアルに置き換えると、表領域データファイルの消失ってとこですかね。
制御ファイルは正しくてそのまま使うって話なので割と簡単ですね。

[root@orcl datafile]# mv o1_mf_sysaux_745l75z1_.dbf sysaux.dbf
[root@orcl datafile]# mv o1_mf_system_74dtrvqq_.dbf system.dbf
[root@orcl datafile]# mv o1_mf_temp_745lfxts_.tmp temp.dbf
[root@orcl datafile]# mv o1_mf_users_745l767d_.dbf users.dbf
[root@orcl datafile]# mv o1_mf_undotbs1_745l761x_.dbf undotbs.bf

[oracle@orcl datafile]$ sqlplus / as sysdba
SQL> shutdown abort;
SQL> startup;
ORACLE??????????????

Total System Global Area 795127808 bytes
Fixed Size 1339456 bytes
Variable Size 482348992 bytes
Database Buffers 306184192 bytes
Redo Buffers 5255168 bytes
?????????????????
ORA-01157: ???????1???/???????? - DBWR??????????????????
ORA-01110: ???????1: '/data/oradata/ORCL/datafile/o1_mf_system_745l75sd_.dbf'

SQL> startup force mount;
ORACLE??????????????

Total System Global Area 795127808 bytes
Fixed Size 1339456 bytes
Variable Size 482348992 bytes
Database Buffers 306184192 bytes
Redo Buffers 5255168 bytes
?????????????????
SQL> exit
Oracle Database 11g Release 11.2.0.1.0 - Production?????????????
[oracle@orcl datafile]$ rman tartget /
RMAN> restore database;

Starting restore at 13-AUG-11
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /data/oradata/ORCL/datafile/o1_mf_system_745l75sd_.dbf
channel ORA_DISK_1: restoring datafile 00002 to /data/oradata/ORCL/datafile/o1_mf_sysaux_745l75z1_.dbf
channel ORA_DISK_1: restoring datafile 00003 to /data/oradata/ORCL/datafile/o1_mf_undotbs1_745l761x_.dbf
channel ORA_DISK_1: restoring datafile 00004 to /data/oradata/ORCL/datafile/o1_mf_users_745l767d_.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/backup/07mjts46_1_1
channel ORA_DISK_1: piece handle=/home/oracle/backup/07mjts46_1_1 tag=TAG20110813T205846
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:01:55
Finished restore at 13-AUG-11

RMAN> recover database;

Starting recover at 13-AUG-11
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:04

Finished recover at 13-AUG-11

RMAN> alter database open;

database opened

RMAN>

表領域をリネームするとデータベースは正常にシャットダウン出来なくなる。
なのでabortでシャットダウン。そんでオープンする。オープンも出来ない。
いずれもsystem表領域のデータファイルが見つかりませんエラー。
とりあえず、mountまでデータベースを持って行く。

うっし、リストアしてリカバリしますかってだけ。終わり。