[SQLP]국가공인 SQLP 자격검정 핵심노트1 / 오라클 성능 고도화 원리와 해법1 - SQL 수행구조

·2025년 3월 16일

SQLP

목록 보기
20/20

😺 기본 아키텍처

  • 데이터베이스(Database) : 디스크에 저장된 데이터 집합(Datafile,Redo Log File, Control File)등
  • 인스턴스(Instance) : SGA 공유 메모리 영역과 이를 액세스하는 프로세스 집합(서버프로세스 + 백그라운드 프로세스)
  • 오라클에 접속하면 전용 서버 프로세스가 시작되어 필요한 서비스를 제공.
    서버 프로세스는 SQL 파싱, 최적화, 커서 열기, SQL 실행, 블록 읽기, 데이터를 정렬하여 클라이언트에 결과를 전송하는 등의 작업을 수행.
    작업 중 처리하지 못하는 일들 (예: Free 블록 확보, Redo 로그 버퍼 비우기)을 만나면 OS, I/O 서브시스템, 백그라운드 프로세스 등에 신호를 보내 대신 처리하도록 요청.

😺 백그라운드 프로세스

  • System Monitor(SMON) : 장애가 발생한 시스템을 재기동할 때 인스턴스 복구를 수행하고 임시 세그먼트와 익스텐트를 모니터링한다.
  • Process Monitor(PMON) : 이상이 생긴 프로세스가 사용하던 리소스를 복구한다.
  • Database Writers(DBWn) : 버퍼캐시에 있는 Dirty 버퍼를 데이터 파일에 기록한다.
  • Log Writer(LGWR) : 로그 버퍼 엔트리를 Redo로그 파일에 기록한다.
  • Archiver(ARCn) : 꽉 찬 Redo로그가 덮어 쓰여지기 전에 Archive 로그 디렉토리로 백업한다.
  • Checkpoint(CKPT) :이전에 Checkpoint가 일어났던 마지막 시점 이후의 데이터베이스 변경 사항을 데이터파일에 기록하도록 트리거링하고 기록이 완료되면 현재 어디까지 기록되었는지를 컨트롤 파이로가 데이터파일 헤더에 저장한다.
  • Recoverer(RECO) : 분산 트랜잭션 과정에 발생한 문제를 해결한다.

😺 데이터 저장 구조

  • 블록(=페이지) : 대부분 DBMS는 블록 단위로 I/O한다. 하나의 레코드에서 하나의 컬럼만 읽더라도 그것이 속한 블록을 통째로 읽게 됨을 뜻한다.
  • 익스텐드 : 공간을 확장하는 단위
    테이블이나 인덱스에 데이터를 입력하다가 공간이 부족해지면 해당 오브젝트가 속한 테이블스페이스로부터 추가적인 공간을 할당받는데,이때 정해진 익스텐트 크기의 연속된 블록을 할당받는다.
  • 세그먼트 : 데이터 저장공간을 사용하는 오브젝트
profile
냐홍

0개의 댓글