본문 바로가기
정보관리(데이터베이스, DB)/오라클

(Oracle DB) Backup & Recovery

by 3604 2024. 6. 8.
728x90

오라클에서 recovery 하는 방법은 아래와 같다.
1) instance 가  실패했을때 이루어지는 자동 복원
2) Data file media 복원
3) Flashback

Backup files의 종류에 대해서 알아보자.

 

 

백업을 하는 방법은 Image copy이다. 그대로 image copy을 하는 것인데 linux에서는 일반적으로 cp를 이용해서 복사를 하는데, 여기서는 RMAN 이를 도와서 복사를 해준다. RMAN이 하는 이유는 block 가 Clean한지를 알아봐야 하고, 카피의 해더를 업데이트하는 것이다. 

백업의 종류는 세가지가 있는데, 
1) full backup of data files : 모든 블락에 있는 data files의 백업
2) Incremental backup of data files
3) Whole backup : database의 모든 영역을 백업하는 것이다. (sp file, control file, archive file, data files, etc.)

백업의 타입은 두가지이며, 
1) Consistent backup
- database가 shutdown되었을 때 실행
- shutdown 시 모든 필요한 데이터를 백업함으로서 database를 바로 실행할 수 있게 만들어 준다.
- redo logs의 모든 changes를 필요로한다.
2) Inconsistent backup
- database가 open 되었을 때 실행

Media Recovery의 옵션
1) Complete recovery
- instance가 실패했을 때로 돌아가서 모든 logs등을 적용하면서 복원을 실행한다.
2) Point-in-time recovery
- redo log가 저장되고, data file이 backup된 어느 시점으로도 돌아갈 수 있으며, 해당 point을 지정하여 복원을 실행한다.
(일반적으로는 complete recovery는 완전히 database가 망가져서 사용할 수 없을 때 사용한다)

 
Restore 하는 Step


이제 배경지식을 어느정도 가졌으니 이를 위해서 어떻게 database를 configuration하는지에 대해서 알아보자. 
1) configure recovery area
2) ARCHIVE file
3) archived redo log files을 위해 fast recovery area 를 사용

Fast recovery area 를 설정 시 고려사항
1) DB_RECOVERY_FILE_DEST : 디렉토리 정보를 가지고 있다. 
2) DB_RECOVERY_FILE_DEST_SIZE : recovery file 사이즈를 정의한다.
3) 모든 로그와 파일을 저장하기에 충분한 크기를 가지고 있어야 한다.
4) 백업을 위해서는 SYSDBA와 SYSBACKUP 권한을 가지고 있어야 한다.

자 이제 RMAN으로 접근해보자.

$ RMAN target "' / as sysbackup '"

와 같이 입력하면 RMAN> 으로 접속할 수 있다. flashback, redo archiving 을 enable 상태로 만들고 fast recovery area를 정의해주면 세팅이 종료된다.

RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK RMAN> CONFIGURE BACKUP OPTIMIZATION ON RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 31 DAYS

31 일로 설정을 해주면 현재 redo files로는 아주 적은 량의 데이터만 사용을 하고 나머지는 모두 archive 을 하기 위한 공간으로 사용된다. 

728x90