반응형
SMALL

DBMS 3

[DBMS] Oracle(오라클)_3

지난 시간에 이어 Undo(Rollback)에 대해 알아보겠습니다 오라클 8i 이전에는 Undo 세그먼트를 데이터베이스 관리자가 수동으로 관리했고 rollback_segments 파라미터에 의해 그 개수도 고정적이었으나 9i부터 도입된 AUM(Automatic Undo Management)에 의해 Undo 세그먼트마다 하나의 트랜잭션이 할당되는 것을 목표로 세그먼트가 관리됩니다 트랜잭션에 독립적으로 할당해 줄 Undo 세그먼트가 없을 때는 가장 적게 사용되는 Undo 세그먼트 중 하나를 할당합니다 Undo 세그먼트에 저장된 정보를 왜 사용할까요? 먼저, 트랜잭션에 의한 변경사항을 최종 커밋하지 않고 롤백(Transaction Rollback)하고자 할 때 이용합니다 다음은 지난 Redo 관련 글에서 언급..

DBMS 2020.02.02

[DBMS] Oracle(오라클)_2

거의 한달여 만에 글을 작성하네요-_- 지난 시간에 잠시 언급했던 버퍼 Pinning에 대해 잠깐 언급하고 Redo에 대해 알아보겠습니다 버퍼 Pinning은 버퍼를 읽고 나서 버퍼 Pin을 즉각 해제하지 않고 데이터베이스 Call이 진행되는 동안 유지하는 기능입니다 버퍼 Pinning은 하나의 데이터베이스 Call(Parse Call, Execute Call, Fetch Call) 내에서만 유효하고 Call이 끝나고 사용자에게 결과를 반환하고 나면 Pin은 해제되어야 하므로 첫 번째 Fetch Call에서 Pin된 블록은 두 번째 Fetch Call에서 다시 래치 획득 과정을 거쳐 Pin됩니다 Index Range Scan하면서 인덱스와 테이블 블록을 교차 방문할 때 블록 I/O를 체크해보면 테이블 블..

DBMS 2020.02.01

[DBMS] Oracle(오라클)_1

고성능의 DB 애플리케이션(Application)을 구축하려면 DBMS와 내부 아키텍처와 SQL 옵티마이저의 원리를 이해해야하기 때문에 오늘부터 DBMS(DataBase Management System) 중 대표적인 오라클(Oracle)에 대해 알아보겠습니다 사용자가 오라클에 접속하면 각 클라이언트(Client)를 위한 전용 서버 프로세스가 사용자에게 필요한 서비스(SQL을 파싱, 최적화 등)를 제공하고 스스로 처리하지 못하는 일들(데이터파일로부터 DB버퍼 캐시로 블록을 적재, Dirty 블록을 캐시에서 밀어내 Free블록을 확보, Redo 로그 버퍼를 비우는 일 등)은 OS, I/O 서브시스템, 백그라운드 프로세스 등에 신호를 보내 대신 일을 처리하도록 요청합니다 참고로 사용자가 리스너(Listener..

DBMS 2019.12.15
반응형
LIST