Archive for 11月 26th, 2008
26
11月
0
Oracle再インストールからのリストア&リカバリ(続き)
というわけで実際に行った手順をうpします。
1.事前にDBIDをメモっておく
sql > select dbid from v$database;
2.oracle再インストール、インスタンスを作成
3.Database Controlを削除
% emca -deconfig dbcontrol db
4.DATABASEを停止
% sqlplus sys/***** as sysdba
sql > shutdown immediate;
sql > quit;
5.SPFILEとREDOログをリネーム
% mv /opt/app/oracle/oradata/<SID>/redo01.log /opt/app/oracle/oradata/<SID>/redo01.log.bak
% mv /opt/app/oracle/oradata/<SID>/redo02.log /opt/app/oracle/oradata/<SID>/redo02.log.bak
% mv /opt/app/oracle/oradata/<SID>/redo03.log /opt/app/oracle/oradata/<SID>/redo03.log.bak
% mv /opt/app/oracle/product/11.1.0/db_1/dbs/spfile<SID>.ora /opt/app/oracle/product/11.1.0/db_1/dbs/spfile<SID>.ora.bak
6.oracle再インストール前のDBIDをセット
% rman target=sys/*****
rman > set dbid=123456790;
7.DATABASEをnomountで起動
rman > startup nomount;
8.SPFILEをリストア
rman > restore spfile from '/opt/app/oracle/flash_recovery_area/<SID>/autobackup/2008_11_17/o1_mf_s_12346789_4l22hcp1_.bkp';
9.DATABASEを停止
rman > shutdown abort;
10.DATABASEをnomountで起動(リストアしたSPFILEで起動しなおす)
rman > startup nomount;
11.CONTROLFILEをリストア
rman > restore controlfile from autobackup;
12.DATABASEをMOUNT
rman > alter database mount;
13.DATABASEをリストア
rman > restore database;
14.DATABASEをリカバリ
rman > recover database;
15.DATABASEをオープン
rman > alter database open resetlogs;
16.一時表領域を再構築
% sqlplus sys/***** as sysdba
sql > CREATE TEMPORARY TABLESPACE TEMP2 TEMPFILE '/opt/app/oracle/oradata/<SID>/temp02.dbf' size 512M autoextend off;
sql > ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP2;
sql > DROP TABLESPACE TEMP INCLUDING CONTENTS;
sql > quit;
% rm -f /opt/app/oracle/oradata/<SID>/temp01.dbf
% sqlplus sys/***** as sysdba
sql > CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/opt/app/oracle/oradata/<SID>/temp01.dbf' size 512M autoextend off;
sql > ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;
sql > DROP TABLESPACE TEMP2 INCLUDING CONTENTS;
sql > quit;
% rm -f /opt/app/oracle/oradata/<SID>/temp02.dbf
17.リネームしたSPFILEとREDOログを削除
% rm -f /opt/app/oracle/product/11.1.0/db_1/dbs/spfile<SID>.ora.bak
% rm -f /opt/app/oracle/oradata/<SID>/redo01.log.bak
% rm -f /opt/app/oracle/oradata/<SID>/redo02.log.bak
% rm -f /opt/app/oracle/oradata/<SID>/redo03.log.bak
18.emcaでDatabase Controlを再構築
% emca -config dbcontrol db -repos recreate
