오라클 DB 8i에서, HDD불량으로 DB가 깨진경우
HDD복구를 통해서 일부DB파일만 살렸는데,
dbf파일은 모두 있고,redo파일 3개중 1개, Ctl파일중 1개만 파일이 있는경우
어떻게 DB를 복구할 수 있나요?
이런경우는 경험한적이 없지만 아마도
redo log화일이 일부만 있다면
전에 cold backup 본이 있다면
부분복구가능
cold backup 본과 archive log mode로 운영하셨다면
불완전복구 또는 완전복구가
가능하겠지만서도
이게 아니라면 힘들어보이는군요
일단 오라클이 mount까지는 되던가요?
답변글 감사하구요...^^;
결론부터 얘기하면 mount가 정상적으로 안됩니다...
지금까지 상황은 그래도 다행히 Full Backup을 받은게 있어서(2000년 Data지만요...) 그걸로 DB를 살리는데까지는 성공을 했는데, 최근 데이타를 살리기 위해선 어떻게 해야 할지를 모르겠습니다.
혹시 아시는분... 힌트좀 주세요...
다음을 참조 님은 2개가 없으니 확률이 33%겠군요
http://www.oracle.co.kr:8880/bulletin/list.jsp?seq=10080&pg=4&sort_by=last_updated&keyfield=text&keyword=redo+log
에서 참조하시고
다음을 같이
No. 10214
=====================================================
DB STARTUP 시 ORA-312, ORA-313(ONLINE REDO LOG CRASH)
PURPOSE
---------
[ ONLINE REDO LOG가 손상되었을 때 DB에 OPERATION 이 없었던 경우는 다음과 같은 절차로 DB 을 OPEN 할 수 있다. - 확률 70% ]
Explanation & Example
----------------------
1. CONTROLFILE 생성
-. 손상된 online log 는 포함시키지 않는다.
-. resetlogs option 으로 생성한다.
-. reuse option 은 생략하고 기존 controlfile 은 다른 이름으로 move 시킴.
<V7 에서 CONTROLFILE 생성하는 방법 >
sqldba> startup mount
sqldba> alter database backup controlfile to trace;
위와 같이 명령을 입력하면 ORACLE_HOME/rdbms/log 디렉토리에 trace 화일이
생긴다. 그 trace 화일에서 create controlfile 명령 부분을 남기고 삭제
한다.
(7.3 이상에서는 cd $ORACLE_HOME
cd ../../admin/SID dir/udump 에 있습니다.)
콘트롤 화일 생성 문장 예 - <cnt.sql> : GROUP 1 이 ONLINE LOG 라고 가정
---------------------------------------------------------------------
CREATE CONTROLFILE DATABASE "RC722" RESETLOGS NOARCHIVELOG
MAXLOGFILES 32 ********
MAXLOGMEMBERS 2
MAXDATAFILES 30
MAXINSTANCES 8
MAXLOGHISTORY 800
LOGFILE
GROUP 2 '/oracle/oracle/dbs/log2RC722.dbf' SIZE 5M,
GROUP 3 '/oracle/oracle/dbs/log3RC722.dbf' SIZE 5M
DATAFILE
'/oracle/oracle/dbs/systRC722.dbf',
'/oracle/oracle/dbs/rbsRC722.dbf',
'/oracle/oracle/dbs/toolRC722.dbf',
'/oracle/oracle/dbs/usrRC722.dbf',
'/oracle/oracle/dbs/tempRC722.dbf',
'/oracle/oracle/rcdata.dbf'
;
2.절차
$ sqldba lmode=y
SQLDBA> connect internal
SQLDBA> shutdown abort
SQLDBA> startup nomount
statement processed
SQLDBA> @cnt
SQLDBA> recover database using backup controlfile until cancel;
....
...
CANCEL (Return)
Recovery canceled
SQLDBA> alter database open resetlogs;
: 만일 정상적으로 open 되면 log file 추가
SQLDBA> alter database add logfile '?/dbs/log1ORA722.dbf' size 1M;
Reference Documents
-------------------
none