티스토리 뷰

Database/Oracle

[Oracle]SCN(System Change Number)

retto9522 2024. 11. 17. 10:27

SCN(System Change Number)

DB의 변경이 발생한 시점. 즉 COMMIT이 발생하면 트랜잭션은 고유한 번호를 받게 됩니다. 이 때 발생하는 번호가 SCN(System Change Number)입니다. 이 SCN을 통해 트랜잭션을 관리할 수 있고 장애 발생 시 복구할 때 사용되는 키가 됩니다.

또한, SCN(System Change Number)을 통해서 Data files, Control File, Redo Log File의 동기화 정보를 맞춥니다.

 

SCN에 기록된 파일을 통해 복구 위치 파악하기

  1. Data Fiiles: 실제 데이터 저장되는 디스크 상의 물리적 파일
    • 이 파일을 OS 상에서 삭제 및 이동하면 안되고 DB에서 삭제해야 합니다. 
  2. Control File: DB의 제어 정보를 가지고 있는 파일
    • 이 파일이 손상되면 Mount, Open할 수 없기 때문에 2개 이상으로 백업해서 다른 디스크에 백업하는 것을 권고합니다.
  3. Redo Log File: DB에서 생긴 모든 변화를 기록한 파일
    • 장애 복구에 있어 가장 핵심이 되는 파일로, 수정된 내용을 Data Files에 반영하는데 실패하더라도 변경사항은 Redo Log File에서 얻을 수 있기 때문에 작업 내용은 유실되지 않습니다.

 

SCN이 다르면 어떻게 될까요?

  • SCN이 달라지면 DB가 정상적으로 작동되지 않습니다.
  • Oracle이 StartUp된 후 Mount → Open이 되는 시점에 Control File과 Data File의 SCN을 비교하여 DB를 올릴지 판단하게 됩니다.

 

공지사항
최근에 올라온 글
Total
Today
Yesterday