- Undo : 실행한 내용을 취소 update, insert delete 취소, 언두 테이블 스페이스가 있음

- Redo : 다시 실행하기, 장애 시에 다시 실행(update, insert delete를 다시 실행), 최신 데이터로 복구

 

- 데이터는 datafiles에 저장됨 (스토리지에 저장)

- Control File : DB의 구조 정보 

- Online redo log files : 리두로그가 파일 형태로 저장 (변경 작업 내용 기록)

 

- DB를 start를 하면 Buffer Cache에 데이터가 올라감

- SGA : 오라클이 쓰는 메모리 영역

- SGA에 Redo log buffer라는 영역이 있음

 

 - Undo : Data files에 Undo Tablespace가 있음

- DML을 실행하면 변경내용은 일단 Buffer Cache에 기록

- Buffer Cache → Data files 적용은 commit시점에 반영되지는 않고, 내부적으로 체크포인트가 발생할때 반영함(DBWR) (커밋할때마다 디스크에 기록하면 느려질 수 있음)

 

- Undo Tablespace에 변경전 내용을 저장함

- 다른 사람들은 DML실행자가 commit하기 전까진 변경전 데이터를 봐야함 (변경전 내용은 Undo에 있음)

- 데

 

- Redo는 복구를 위해 필요함

- DML문장을 Redo log buffer에 기록함, commit을 하는 순간 로그를 디스크(Online redo log files)에 기록함(LGWR)

 

- Online redo log files은 항상 최신이고, Data files은 최신이 아닐 수 있음

- Online redo log files과 Data files 각 SCN 을 비교해서, 반영이 되지 않은 내용을 파악하고 Online redo log files에 있는 내용을 바탕으로 Data files에도 반영하여 최신화 해줌

 

- Archive Mode로 운영한다면, Online redo log files을 또 Archive log files로 백업 보관함(ARCH)

 


 

- 롤백 세그먼트 = Undo

- DML을 한 경우 변경전 데이터를 저장함 (Undo Tablespace)

- Undo는 저장공간을 재활용해서 사용함

- 저장공간을 재활용해서 쓰므로, 변경작업이 너무 많은 작업을 Commit을 안하면, 예전 데이터는 날라갈 수 있음(ORA-01555 : snapshot too old  에러)

- Undo Tablespace 공간을 늘리거나, Commit을 중간중간 해주기

 


 

- Group : 한 그룹에 여러개의 Member로 이중화 (Member끼리는 같은 내용)

- Redo log files은 Archive Log Files로 백업 보관함 (ARCH)

'DATABASE > oracle' 카테고리의 다른 글

Parallel Processing  (0) 2023.06.04
[Oracle] 9. REDO와 UNDO  (0) 2021.07.23
[Oracle] 3. 캐시와 공유 메모리  (0) 2021.07.12
[Oracle] 2. 오라클의 여러 프로세스  (0) 2021.07.12
[Oracle] 1. I/O와 디스크의 관계  (0) 2021.07.12