All thing of the world!

Oracle(오라클) Redo and Undo 본문

IT

Oracle(오라클) Redo and Undo

WorldSeeker 2021. 4. 3. 14:22

오라클은 데이터를 변경하기 위해 아래와 같은 스텝으로 진행한다.

일반적인 용어로 간단히 설명한다면?
1. 데이터를 어떻게 변경할 것인지에 대한 discription을 생성
2. 필요시 원데이터를 어떻게 복구할 것인지에 대한 discription을 생성
3. 원데이터를 어떻게 복구할 것인지에 대한 description을 어떻게 생성할 것인가에 대한 description을 생성
4. 데이터를 변경

기술적 용어로 데이터 블록을 변경하는 동작을 설명하자면?
1. data block을 변경 방법에 대한 redo change vector를 생성
2. undo tablespace의 undo block으로 삽입을 위한 undo record 생성
3. undo block 변경 방법에 대한 redo change vector 생성
4. data block 변경 
실제변경 순서는  3,1,2,4로 일어남. 

실제 변경순서에 맞게 좀 더 정확하게 표현한다면?
1. undo record(original data의 undo)를 어떻게 undo block에 insert할 것인가에 대한 redo change vector를 생성
2. data block(original data) 변경을 위한 redo change vector 생성
3. redo change vector들(1번과 2번)을 redo record로 결합하여 log buffer에 write
   ( undo block과 data block이 변경되기전, 두개의 redo change vector는  한개의 redo change record로 결합되어 redo log(buffer) 안으로 복사됨)
4. undo record를 undo block으로 insert
5. data block을 변경 


Comments