데이터파일이나 컨트롤 파일이 손상되었을 때의 복구 방법

2024. 8. 29. 23:52DBMS/ORACLE Admin

반응형

데이터파일이나 컨트롤 파일이 손상되었을 때의 복구 방법은 데이터베이스가 어떤 모드에서 운영되고 있는지(예: 아카이브 로그 모드 또는 노 아카이브 로그 모드)에 따라 다르다. 

 

 
 데이터파일(Data File)이 손상된 경우

 (1) 아카이브 로그 모드

   백업된 데이터파일 복구: 백업에서 손상된 데이터파일을 복원한다.
 

  cp /backup/path/datafile.bak /oracle/data/path/datafile.dbf

,

   
   복구 명령 실행:

     RECOVER DATAFILE '/path/to/datafile.dbf';
     
   데이터파일 온라인으로 전환:

     ALTER DATABASE DATAFILE '/path/to/datafile.dbf' ONLINE;

      

 (2) no Archive Log Mode 절차:
- 데이터베이스를 전체 복구해야 한다.   

 - 백업이 없거나 데이터베이스가 노 아카이브 로그 모드로 운영 중이라면, 마지막 백업 시점 이후의 모든 데이터가 손실된다.
  - 데이터베이스를 셧다운한 후, 전체 백업에서 복구하고 데이터베이스를 다시 시작한다.
  

 

 

 

 


■  컨트롤 파일(Control File)이 손상된 경우
컨트롤 파일은 데이터베이스 구조에 대한 중요한 정보를 포함하고 있어, 손상되면 데이터베이스를 시작할 수 없다.

 (1) 멀티플 컨트롤 파일이 구성된 경우 (권장 구성)
- 복구 절차:
  - 만약 여러 개의 컨트롤 파일이 구성되어 있다면, 손상된 컨트롤 파일을 다른 복사본으로 대체할 수 있다. 손상된 컨트롤 파일을 삭제하고, 남아있는 컨트롤 파일을 복사하여 손상된 위치에 붙여 넣다.

 (2) 모든 컨트롤 파일이 손상된 경우
- 복구 절차:
   백업에서 복원: 컨트롤 파일의 백업이 있는 경우 이를 복원한다.
   

cp /backup/path/controlfile.bak /oracle/data/path/controlfile.ctl


 

     RECOVER DATABASE USING BACKUP CONTROLFILE;
     
   데이터베이스를 오픈:
    
     ALTER DATABASE OPEN RESETLOGS;
     
     컨트롤 파일을 백업에서 복원한 경우 RESETLOGS 옵션을 사용하여 데이터베이스를 열어야 한다.


 (3) 백업이 없는 경우
- 복구 절차:
  - 백업이 없는 경우 CREATE CONTROLFILE 명령을 사용하여 컨트롤 파일을 재생성해야 한다. 데이터베이스 구조에 대한 정확한 정보를 알고 있어야 하며 신중하게 수행해야 한다.

 

 

 

 

 
 

 

 

반응형

'DBMS > ORACLE Admin' 카테고리의 다른 글

Synonym (Public, Private)  (0) 2024.09.03
Instance와 Disk(DB)  (0) 2024.08.30
DB startup  (0) 2024.08.29
SPFILE과 PFILE  (0) 2024.08.29
ORACLE ASM  (0) 2024.07.25