본문 바로가기
개발자 양성과정 필기노트/DB | ORACLE

DB 필수 물리적 파일 다중화 / 데이터파일 손실시 복구하기

by jono 2021. 11. 15.

     I.DB 필수 물리적 파일 다중화     


 1. Control file 

- 최대 8개까지 다중화 제공됨

- 권장: 3개

- 다중화된 멤버 중 한개라도 문제가 생기면 DB작동이 멈춘다.

- 때문에 손실된 멤버파일을 최신시점으로 복구하기 위해 다중화를 수행하는 것.

- 정상적인 멤버파일을 활용하여 다중화를 수행한다.


 2. Redolog file 

- 그룹 별 다중화 개수의 제한이 없다,

- 권장: 그룹 3개, 각 그룹별 멤버 2개씩. (3 X 2)

- 그룹에 정상적인 멤버파일이 하나라도 있다면 DB가 정상적으로 작동된다.

- 다른 멤버를 활용하여 다중화를 수행하지 않는다.

   -> 손실된 멤버파일을 삭제하고 새로운 파일로 교체하는 방법을 사용한다.

- DB를 계속적으로 운영하기 위해 다중화를 수행한다,

 

 


     II. 데이터파일 손실시 복구하기     


1. Non Critical File 복구하기

# DB켜는 중 - DB mount O, open X 인 상황

"ORA-01157:  cannot identify/lock data file n - see DBWR trace file"

//1. 손실된 데이터파일 offline처리 - file#을 사용하면 된다.
	SQL> alter database datafile 4 offline; 
//2. DB open
	SQL> alter database open; 
//3. 손실될 파일을 복원 (restore)
	$] cp /경로/백업폴더/백업파일.dbf /u01/app/oracle/경로../datafile/복원파일.dbf
//4. 복원된 데이터파일만 복구하기 (recover)
	SQL> recover datafile 4;
//5. 복구가 완료된 데이터파일 online시키기
	SQL> alter database datafile 4 online;

 

 

# DB 켜져있는 경우 - DB open된 후 손실된 상황

//1. 손실된 파일 offline처리
	SQL> alter database datafile 4 offline immediate; 
SQL> //2. DB open 되어있는 상태에서 restore & recovery 수행함
	$] cp /경로/백업폴더/백업파일.dbf /u01/app/oracle/경로../datafile/복원파일.dbf
	SQL> recover datafile 4;
	SQL> alter database datafile 4 online;

 


2. Critical File 복구하기

"ORA-01157: cannot identify/lock data file 1 - see DBWR trace file"

//1. DB종료
	SQL> shut abort
//2. DB 마운트하기
	SQL> startup mount
//3. restore & recover
	$] cp /경로/백업폴더/백업파일.dbf /u01/app/oracle/경로../datafile/복원파일.dbf
	SQL> recover database
	SQL> alter database open;

 

 

'개발자 양성과정 필기노트 > DB | ORACLE' 카테고리의 다른 글

다중행 비교 연산자  (0) 2021.11.29
Database Fail & Controlfile 다중화 절차  (0) 2021.11.03
Data Dictionary  (0) 2021.10.12
VIEW / SEQUENCE  (0) 2021.10.06
데이터 삭제 조작어  (0) 2021.09.29

댓글